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, }); }
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; } }