Beispiel #1
0
        public EntityUpdateStatus <long> UpdateCacheItem(StyleItemCacheDTO cache)
        {
            var dbItem = unitOfWork.GetSet <StyleItemCache>()
                         .FirstOrDefault(c => c.Id == cache.Id);

            var changeMode = UpdateType.Update;

            if (dbItem == null)
            {
                dbItem    = new StyleItemCache();
                dbItem.Id = cache.Id;
                unitOfWork.GetSet <StyleItemCache>().Add(dbItem);

                changeMode = UpdateType.Insert;
            }

            var oldQuantity = dbItem.RemainingQuantity;

            UpdateCacheItem(dbItem, cache);

            unitOfWork.Commit();

            return(new EntityUpdateStatus <long>()
            {
                Id = dbItem.Id,
                Status = changeMode,
                Tag = dbItem.RemainingQuantity.ToString(),
                TagSecond = oldQuantity.ToString(),
                CalcDate = cache.CalcDate,
            });
        }
Beispiel #2
0
        private void UpdateCacheItem(StyleItemCache item, StyleItemCacheDTO dto)
        {
            item.Id      = dto.Id;
            item.StyleId = dto.StyleId;
            item.Size    = dto.Size;

            item.Cost = dto.Cost;

            item.RemainingQuantity       = dto.RemainingQuantity;
            item.RemainingOnHandQuantity = dto.RemainingOnHandQuantity;

            item.InventoryQuantity        = dto.InventoryQuantity;
            item.InventoryQuantitySetDate = dto.InventoryQuantitySetDate;

            item.InventoryOnHandQuantity        = dto.InventoryOnHandQuantity;
            item.InventoryOnHandQuantitySetDate = dto.InventoryOnHandQuantitySetDate;

            item.BoxQuantity        = dto.BoxQuantity;
            item.BoxQuantitySetDate = dto.BoxQuantitySetDate;

            item.TotalScannedSoldQuantity       = dto.TotalScannedSoldQuantity;
            item.TotalSentToFBAQuantity         = dto.TotalSentToFBAQuantity;
            item.TotalMarketsSoldQuantity       = dto.TotalMarketsSoldQuantity;
            item.TotalMarketsSoldOnHandQuantity = dto.TotalMarketsSoldOnHandQuantity;
            item.TotalSpecialCaseQuantity       = dto.TotalSpecialCaseQuantity;
            item.TotalSaleEventQuantity         = dto.TotalSaleEventQuantity;
            item.TotalReservedQuantity          = dto.TotalReservedQuantity;
            item.TotalSentToPhotoshootQuantity  = dto.TotalSentToPhotoshootQuantity;

            item.ScannedSoldQuantityFromDate       = dto.ScannedSoldQuantityFromDate;
            item.SentToFBAQuantityFromDate         = dto.SentToFBAQuantityFromDate;
            item.MarketsSoldQuantityFromDate       = dto.MarketsSoldQuantityFromDate;
            item.MarketsSoldOnHandQuantityFromDate = dto.MarketsSoldOnHandQuantityFromDate;
            item.SpecialCaseQuantityFromDate       = dto.SpecialCaseQuantityFromDate;
            item.SaleEventQuantityFromDate         = dto.SaleEventQuantityFromDate;
            item.ReservedQuantityFromDate          = dto.ReservedQuantityFromDate;
            item.SentToPhotoshootQuantityFromDate  = dto.SentToPhotoshootQuantityFromDate;

            item.MarketplacesInfo = dto.MarketplacesInfo;
            item.SalesInfo        = dto.SalesInfo;

            item.ScannedMaxOrderDate    = dto.ScannedMaxOrderDate;
            item.PreOrderExpReceiptDate = dto.PreOrderExpReceiptDate;
            item.IsInVirtual            = dto.IsInVirtual;

            item.IsDirty = false;

            //NOTE: we have performance issue in case of always changing UpdateDate
            //if (item.UpdateDate != dto.UpdateDate)
            if (item.UpdateDate == DateTime.MinValue)
            {
                item.UpdateDate = dto.UpdateDate;
            }
        }