public SizeRangeViewModel MapToViewModel(SizeRange model) { SizeRangeViewModel viewModel = new SizeRangeViewModel(); viewModel.RelatedSizes = new List <RelatedSizeViewModel>(); PropertyCopier <SizeRange, SizeRangeViewModel> .Copy(model, viewModel); foreach (RelatedSize relatedSize in model.RelatedSizes) { RelatedSizeViewModel relatedSizeVM = new RelatedSizeViewModel(); PropertyCopier <RelatedSize, RelatedSizeViewModel> .Copy(relatedSize, relatedSizeVM); SizeViewModel sizeVM = new SizeViewModel(); PropertyCopier <Size, SizeViewModel> .Copy(relatedSize.Size, sizeVM); relatedSizeVM.Size = sizeVM; viewModel.RelatedSizes.Add(relatedSizeVM); } return(viewModel); }
public CostCalculationRetailViewModel MapToViewModel(CostCalculationRetail model) { CostCalculationRetailViewModel viewModel = new CostCalculationRetailViewModel(); PropertyCopier <CostCalculationRetail, CostCalculationRetailViewModel> .Copy(model, viewModel); viewModel.Style = new ArticleStyleViewModel(); viewModel.Style._id = model.StyleId; viewModel.Style.name = model.StyleName; viewModel.Season = new ArticleSeasonViewModel(); viewModel.Season._id = model.SeasonId; viewModel.Season.name = model.SeasonName; viewModel.Buyer = new BuyerViewModel(); viewModel.Buyer.Id = model.BuyerId; viewModel.Buyer.Name = model.BuyerName; viewModel.SizeRange = new SizeRangeViewModel(); viewModel.SizeRange.Id = model.SizeRangeId; viewModel.SizeRange.Name = model.SizeRangeName; viewModel.FabricAllowance = Percentage.ToPercent(model.FabricAllowance); viewModel.AccessoriesAllowance = Percentage.ToPercent(model.AccessoriesAllowance); try { // Get Related Size of particular Size Range if possible viewModel.SizeRange.RelatedSizes = new List <RelatedSizeViewModel>(); Task <SizeRange> sizeRange = this.SizeRangeService.ReadModelById(model.SizeRangeId); sizeRange.Wait(); foreach (RelatedSize rs in sizeRange.Result.RelatedSizes) { RelatedSizeViewModel relatedSizeVM = new RelatedSizeViewModel(); PropertyCopier <RelatedSize, RelatedSizeViewModel> .Copy(rs, relatedSizeVM); SizeViewModel sizeVM = new SizeViewModel(); PropertyCopier <Size, SizeViewModel> .Copy(rs.Size, sizeVM); relatedSizeVM.Size = sizeVM; viewModel.SizeRange.RelatedSizes.Add(relatedSizeVM); } } catch (Exception) { // If cannot get Related Size, do nothing } viewModel.Counter = new ArticleCounterViewModel(); viewModel.Counter._id = model.CounterId; viewModel.Counter.name = model.CounterName; viewModel.Efficiency = new EfficiencyViewModel(); viewModel.Efficiency.Id = model.EfficiencyId; viewModel.Efficiency.Value = model.EfficiencyValue; viewModel.Risk = Percentage.ToPercent(model.Risk); viewModel.OL = new RateCalculatedViewModel(); viewModel.OL.Id = model.OLId; viewModel.OL.Value = model.OLRate; viewModel.OL.CalculatedValue = model.OLCalculatedRate; viewModel.OTL1 = new RateCalculatedViewModel(); viewModel.OTL1.Id = model.OTL1Id; viewModel.OTL1.Value = model.OTL1Rate; viewModel.OTL1.CalculatedValue = model.OTL1CalculatedRate; viewModel.OTL2 = new RateCalculatedViewModel(); viewModel.OTL2.Id = model.OTL2Id; viewModel.OTL2.Value = model.OTL2Rate; viewModel.OTL2.CalculatedValue = model.OTL2CalculatedRate; viewModel.OTL3 = new RateCalculatedViewModel(); viewModel.OTL3.Id = model.OTL3Id; viewModel.OTL3.Value = model.OTL3Rate; viewModel.OTL3.CalculatedValue = model.OTL3CalculatedRate; viewModel.CostCalculationRetail_Materials = new List <CostCalculationRetail_MaterialViewModel>(); if (model.CostCalculationRetail_Materials != null) { foreach (CostCalculationRetail_Material costCalculationRetail_Material in model.CostCalculationRetail_Materials) { CostCalculationRetail_MaterialViewModel costCalculationRetail_MaterialVM = new CostCalculationRetail_MaterialViewModel(); PropertyCopier <CostCalculationRetail_Material, CostCalculationRetail_MaterialViewModel> .Copy(costCalculationRetail_Material, costCalculationRetail_MaterialVM); CategoryViewModel categoryVM = new CategoryViewModel() { Id = costCalculationRetail_Material.CategoryId }; string[] names = costCalculationRetail_Material.CategoryName.Split(new[] { " - " }, StringSplitOptions.None); categoryVM.Name = names[0]; try { categoryVM.SubCategory = names[1]; } catch (IndexOutOfRangeException) { categoryVM.SubCategory = null; } costCalculationRetail_MaterialVM.Category = categoryVM; MaterialViewModel materialVM = new MaterialViewModel() { Id = costCalculationRetail_Material.MaterialId, Name = costCalculationRetail_Material.MaterialName }; costCalculationRetail_MaterialVM.Material = materialVM; UOMViewModel uomQuantityVM = new UOMViewModel() { Id = costCalculationRetail_Material.UOMQuantityId, Name = costCalculationRetail_Material.UOMQuantityName }; costCalculationRetail_MaterialVM.UOMQuantity = uomQuantityVM; UOMViewModel uomPriceVM = new UOMViewModel() { Id = costCalculationRetail_Material.UOMPriceId, Name = costCalculationRetail_Material.UOMPriceName }; costCalculationRetail_MaterialVM.UOMPrice = uomPriceVM; viewModel.CostCalculationRetail_Materials.Add(costCalculationRetail_MaterialVM); } } return(viewModel); }