コード例 #1
0
        private void UpdateExistingBox(IUnitOfWork db,
                                       OpenBoxCounting dbBox,
                                       DateTime when,
                                       long?by)
        {
            dbBox.StyleId         = StyleId;
            dbBox.BoxQuantity     = BoxQuantity;
            dbBox.BatchTimeStatus = BatchTimeStatus;
            dbBox.CountByName     = CountByName;
            dbBox.CountingDate    = DateHelper.ConvertAppToUtc(CountingDate) ?? when;

            dbBox.UpdateDate = when;
            dbBox.UpdatedBy  = by;

            db.Commit();

            var boxItems = StyleItems.Items
                           .Where(si => si.Quantity.HasValue)
                           .Select(si => new OpenBoxCountingItemDto()
            {
                Id          = si.BoxItemId ?? 0,
                StyleItemId = si.Id,
                Quantity    = si.Quantity ?? 0,
            }).ToList();

            db.OpenBoxCountingItems.UpdateBoxItemsForBox(dbBox.Id, boxItems, when, by);
        }
コード例 #2
0
        private void AddNewBox(IUnitOfWork db, DateTime when, long?by)
        {
            var openBox = new OpenBoxCounting
            {
                StyleId         = StyleId,
                BoxQuantity     = BoxQuantity,
                BatchTimeStatus = BatchTimeStatus,
                CountByName     = CountByName,
                CountingDate    = DateHelper.ConvertAppToUtc(CountingDate) ?? when,

                CreateDate = when,
                CreatedBy  = by
            };

            db.OpenBoxCountings.Add(openBox);
            db.Commit();

            var boxItems = StyleItems.Items
                           .Where(si => si.Quantity.HasValue)
                           .Select(si => new OpenBoxCountingItemDto()
            {
                Id          = si.BoxItemId ?? 0,
                StyleItemId = si.Id,
                Quantity    = si.Quantity ?? 0,
            }).ToList();

            db.OpenBoxCountingItems.UpdateBoxItemsForBox(openBox.Id, boxItems, when, by);
        }
コード例 #3
0
        public OpenBoxCountingViewModel(OpenBoxCounting item,
                                        IList <StyleItemDTO> styleItems,
                                        List <OpenBoxCountingItemDto> boxItems)
        {
            Id              = item.Id;
            StyleId         = item.StyleId;
            BoxQuantity     = item.BoxQuantity;
            BatchTimeStatus = item.BatchTimeStatus;
            CountByName     = item.CountByName;

            CountingDate = item.CountingDate;

            CreateDate = item.CreateDate;
            UpdateDate = item.UpdateDate;

            SizesQuantity = boxItems.Sum(s => s.Quantity);

            StyleItems = new StyleItemCollection()
            {
                DisplayMode = StyleItemDisplayMode.BoxQty,
                Items       = styleItems
                              .OrderBy(si => SizeHelper.GetSizeIndex(si.Size))
                              .ThenBy(si => si.Color)
                              .Select(si => new StyleItemViewModel(si))
                              .ToList()
            };

            //Set boxes values
            foreach (var boxItem in boxItems)
            {
                var styleItem = StyleItems.Items.FirstOrDefault(si => si.Id == boxItem.StyleItemId);
                if (styleItem != null)
                {
                    styleItem.Quantity  = boxItem.Quantity;
                    styleItem.BoxItemId = boxItem.Id;
                }
            }
        }