Files
cms_thermo_active/Step.Model/DTOModels/ToolModels/DTOShankModel.cs
T
2018-05-08 11:07:44 +02:00

71 lines
1.9 KiB
C#

using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using static CMS_CORE_Library.DataStructures;
namespace Step.Model.DTOModels.ToolModels
{
public class DTOShankModel
{
public int Id;
[Required]
public string Name;
[Required]
public bool IsEnabled;
[Required]
public bool IsInhibited;
[Required]
public bool InChangeTool;
[Required]
public bool InFixedPlace;
[Required]
public bool InUse;
[Required]
public int LeftSize;
[Required]
public int RightSize;
[Required]
public int MagazinePositionType;
[Required]
public List<DTOShankChildModel> ChildsTools;
public static explicit operator ShankModel(DTOShankModel obj)
{
List<ShankChildModel> childs = obj.ChildsTools?.Select(x => new ShankChildModel
{
Id = x.Id,
FamilyName = x.FamilyName,
MultitoolId = x.MultitoolId,
ToolType = x.ToolType
}).ToList();
return new ShankModel()
{
Id = 0,
Name = obj.Name,
IsEnabled = obj.IsEnabled,
IsInhibited = obj.IsInhibited,
InChangeTool = obj.InChangeTool,
InFixedPlace = obj.InFixedPlace,
InUse = obj.InUse,
LeftSize = obj.LeftSize,
RightSize = obj.RightSize,
MagazinePositionType = obj.MagazinePositionType,
ChildsTools = childs
};
}
}
public class DTOShankChildModel
{
public int Id;
[Required]
public int MultitoolId;
[Required]
public string FamilyName;
[Required]
public int ToolType;
}
}