public BoxSizeWizardViewModel(StyleItemDTO styleItem) { Id = styleItem.StyleItemId; Size = styleItem.Size; Color = styleItem.Color; SizeId = styleItem.SizeId; SizeGroupId = styleItem.SizeGroupId; SizeGroupName = styleItem.SizeGroupName; UseBoxQuantity = !styleItem.Quantity.HasValue; }
private bool ToUpdate(StyleItemDTO styleItem, int totalCounting) { if (!styleItem.LiteCountingProcessed) { if (styleItem.LiteCountingStatus == CountingStatusesEx.Counted || styleItem.LiteCountingStatus == CountingStatusesEx.Verified) { if (Math.Abs((styleItem.RemainingQuantity ?? 0) - totalCounting) <= 5 || styleItem.ApproveStatus == 1) { return(true); } } } return(false); }
public StyleItemViewModel(StyleItemDTO styleItem) { Id = styleItem.StyleItemId; Size = styleItem.Size; Color = styleItem.Color; Weight = styleItem.Weight; Barcodes = styleItem.Barcodes; SizeId = styleItem.SizeId; SizeGroupId = styleItem.SizeGroupId; SizeGroupName = styleItem.SizeGroupName; PackageHeight = styleItem.PackageHeight; PackageWidth = styleItem.PackageWidth; PackageLength = styleItem.PackageLength; }
private IList <StyleItemToLinkedItem> RebuildStyleItems(IUnitOfWork db, Style style, IList <StyleReferenceDTO> linkedStyles) { var linkedStyleIds = linkedStyles.Select(l => l.LinkedStyleId).ToList(); var allStyleItems = db.StyleItems.GetAllAsDto() .Where(s => linkedStyleIds.Contains(s.StyleId)) .ToList(); var dbExistStyleItems = db.StyleItems.GetAllAsDto().Where(s => s.StyleId == style.Id).ToList(); var firstLinkedStyleId = linkedStyles.First().LinkedStyleId; var firstLinkedStyleItems = allStyleItems.Where(si => si.StyleId == firstLinkedStyleId).ToList(); var sizeMappings = db.SizeMappings.GetAllAsDto().ToList(); var results = new List <StyleItemToLinkedItem>(); //var sizeMappings = foreach (var styleItem in firstLinkedStyleItems) { var sameSizeStyleItems = new List <StyleItemDTO>(); foreach (var styleId in linkedStyleIds) { var styleItemForSize = allStyleItems.FirstOrDefault(s => s.StyleId == styleId && (s.Size == styleItem.Size || s.Size == "[empty]" || s.Size == "OneSize")); //NOTE: add empty size as link to all if (styleItemForSize == null) { var mappingsForSize = sizeMappings.Where(s => s.StyleSize == styleItem.Size).Select(s => s.ItemSize); styleItemForSize = allStyleItems.FirstOrDefault(s => s.StyleId == styleId && mappingsForSize.Contains(s.Size)); } if (styleItemForSize != null) { sameSizeStyleItems.Add(styleItemForSize); } } //NOTE: lets add size only if all linked styles have that size if (linkedStyleIds.All(st => sameSizeStyleItems.Any(si => si.StyleId == st))) { var existStyleItem = dbExistStyleItems.FirstOrDefault(si => si.Size == styleItem.Size); if (existStyleItem == null) { existStyleItem = new StyleItemDTO(); } existStyleItem.StyleId = style.Id; existStyleItem.Size = styleItem.Size; existStyleItem.SizeId = styleItem.SizeId; //NOTE: Only if all items has weight existStyleItem.Weight = sameSizeStyleItems.Any(s => !s.Weight.HasValue) ? null : sameSizeStyleItems.Sum(si => si.Weight); var item = new StyleItemToLinkedItem() { StyleItem = existStyleItem, LinkedStyleItems = linkedStyleIds.Select(s => new StyleItemDTO() { StyleId = s, StyleItemId = sameSizeStyleItems.FirstOrDefault(si => si.StyleId == s)?.StyleItemId ?? 0 }).ToList() }; results.Add(item); } } return(results); }