public DoorDetailModel GetDetailModelForDoor(Door door, PropertyInfo[] propertyInfo, List <FieldHeader> fieldHeaders, List <string> companiesList) { DoorDetailModel detailModel = new DoorDetailModel(); detailModel.ProjectId = door.ProjectId; detailModel.DoorNo = door.DoorNo; detailModel.DoorQty = door.DoorQty; detailModel.RoomType = door.RoomType.Content; detailModel.Floor = door.Floor; detailModel.Id = door.Id; detailModel.DoorDetails = new List <DoorDetail>(); foreach (PropertyInfo info in propertyInfo) { if (!propertiesToIgnore.Contains(info.Name)) { DoorDetail doorDetail = GetDoorDetail(door, info, fieldHeaders, companiesList); if (doorDetail != null) { detailModel.DoorDetails.Add(doorDetail); } } } return(detailModel); }
public List <DoorDetailModel> GetDoorDetailModels(List <Door> doors, List <FieldHeader> fieldHeaders, List <string> companiesList) { PropertyInfo[] propertyInfo = typeof(Door).GetProperties(); List <DoorDetailModel> doorDetails = new List <DoorDetailModel>(); foreach (Door door in doors) { DoorDetailModel detailModel = GetDetailModelForDoor(door, propertyInfo, fieldHeaders, companiesList); doorDetails.Add(detailModel); } return(doorDetails); }
public DoorDetailModel GetDoorDetailsViewWithCompanyPermissions(WorkorderDoor door, List <FieldHeader> fieldHeaders, string userName) { var detailModel = new DoorDetailModel { Id = door.Id, WorkOrderId = door.WorkorderId, ProjectId = door.ProjectId, DoorNo = door.Door.DoorNo, DoorQty = door.Door.DoorQty, RoomType = door.Door.RoomType.Content, Floor = door.Door.Floor, DoorDetails = new List <DoorDetail>() }; var doorSurfDetails = new List <DoorDetail>(); foreach (PropertyInfo info in DOOR_PROP_INFO) { if (!PROPS_TO_IGNORE.Contains(info.Name)) { DoorDetail doorDetail = GetDoorDetail(door, info, fieldHeaders, userName); if (info.PropertyType.Equals(typeof(Hardware))) { DoorDetail doorSurfDetail = GetDoorSurfDetail(door, info, fieldHeaders); if (doorSurfDetail != null) { doorSurfDetails.Add(doorSurfDetail); } } if (doorDetail != null) { detailModel.DoorDetails.Add(doorDetail); } } } if (doorSurfDetails.Count > 0) { detailModel.DoorDetails.AddRange(doorSurfDetails); } detailModel.DoorDetails = detailModel.DoorDetails.OrderBy(x => x.Header).ToList(); return(detailModel); }