internal List <Operation> GetSortedByRouteOperationsByWorkshopId(ProductionItemQuantum productionItemQuantum, int?workshopId) { var opers = new List <Operation>(); var operationsInWorkshops = workshopId.HasValue ? productionItemQuantum.Detail.Routes.First().Operations.Where(o => o.Equipment.WorkshopId == workshopId) : productionItemQuantum.Detail.Routes.First().Operations.Where(o => o.Equipment.Workshop != null); var opersSequence = Array.ConvertAll(productionItemQuantum.Detail.Routes.First().OperationsSequence.Split(','), int.Parse).ToList(); foreach (var operId in opersSequence) { var oper = operationsInWorkshops.FirstOrDefault(o => o.Id == operId); if (oper != null) { opers.Add(oper); } } if (!workshopId.HasValue) { opers = opers.GroupBy(o => o.Equipment.WorkshopId).SelectMany(g => g.ToList()).ToList(); } return(opers); }
internal ProductionItemQuantum ConvertProductDto(ProductDto productDto) { var productionItemQuantum = new ProductionItemQuantum() { Count = productDto.Count, DetailId = productDto.Id, }; return(productionItemQuantum); }
internal ProductionItemQuantum ConvertProductionItemQuantum(ProductionItemQuantumDto productionItemQuantumDto) { var productionItemQuantum = new ProductionItemQuantum() { Count = productionItemQuantumDto.Count, Detail = ConvertDetail(productionItemQuantumDto.Detail), }; return(productionItemQuantum); }
internal ProductionItemQuantumDto ConvertProductionItemQuantum(ProductionItemQuantum productionItemQuantum) { var productionItemQuantumDto = new ProductionItemQuantumDto() { Count = productionItemQuantum.Count, Detail = ConvertDetail(productionItemQuantum.Detail), Id = productionItemQuantum.Id, ProductionItemId = productionItemQuantum.ProductionItemId }; return(productionItemQuantumDto); }
internal ProductionItemQuantumDto ConvertProductionItemQuantumForViewing(ProductionItemQuantum productionItemQuantum) { var productionItemQuantumDto = new ProductionItemQuantumDto() { Count = productionItemQuantum.Count, Detail = ConvertDetailForViewing(productionItemQuantum.Detail), Id = productionItemQuantum.Id, ProductionItemId = productionItemQuantum.ProductionItemId, EndTimes = productionItemQuantum.EndTimes.Select(a => a.Ticks).ToList(), MachiningDurations = productionItemQuantum.MachiningDurations.Select(a => a.Ticks).ToList(), StartTimes = productionItemQuantum.StartTimes.Select(a => a.Ticks).ToList() }; return(productionItemQuantumDto); }