/// <summary> /// Getses the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>InventoryItemResponse.</returns> public InventoryItemResponse GetInventoryItems(InventoryItemRequest request) { var response = new InventoryItemResponse(); if (request.LoadOptions.Contains("InventoryItems")) { response.InventoryItems = InventoryItemDao.GetInventoryItemList(); } if (request.LoadOptions.Contains("InventoryItem")) { response.InventoryItem = InventoryItemDao.GetInventoryItem(request.InventoryItemId); } //dành cho phần vật tư if (request.LoadOptions.Contains("ItemStock")) { response.InventoryItems = InventoryItemDao.GetInventoryItemListByStock(request.ItemStockId, request.RefId, request.PostDate, request.CurrencyCode); } if (request.LoadOptions.Contains("ItemStockInput")) { response.InventoryItems = InventoryItemDao.GetInventoryItemListByStock(request.ItemStockId); } return(response); }
public Cart AddCartItem(Cart cart, InventoryItemResponse item, UpdateCartRequest request) { var cartItem = cart.Items.FirstOrDefault(i => i.ItemId == item.Id); var alreadyIn = false; if (cartItem != null) { alreadyIn = true; cartItem.Price = item.Price; cartItem.Count = request.Count; } else { cartItem = new CartItem( itemId: item.Id, name: item.Name, price: item.Price, count: request.Count ); } if (cartItem.Count > item.Stock) { throw new StockIsNotEnoughException(item.Id, item.Stock, request.Count); } if (!alreadyIn) { cart.Items.Add(cartItem); } return(cart); }
protected override void ProcessInventoryItem(InventoryItemResponse inventoryItemResponse) { ProcessInventoryToCsv(inventoryItemResponse); ProcessSkuShipping(inventoryItemResponse.Sku); ProcessSkuImage(inventoryItemResponse.Sku); ProcessSkuAttribute(inventoryItemResponse.Sku); System.Threading.Thread.Sleep(500); }
/// <summary> /// Deletes the account category. /// </summary> /// <param name="inventoryItemId">The account category identifier.</param> /// <returns>InventoryItemResponse.</returns> public InventoryItemResponse DeleteInventoryItem(string inventoryItemId) { var response = new InventoryItemResponse { Acknowledge = AcknowledgeType.Success }; try { var inventoryItemEntity = InventoryItemDao.GetInventoryItem(inventoryItemId); using (var scope = new TransactionScope()) { // Xóa trong bảng OpeningSupplyEntry //var openingSupplyEntryEntity = OpeningSupplyEntryDao.GetOpeningSupplyEntrybyRefId(inventoryItemEntity.InventoryItemId); //if (openingSupplyEntryEntity != null) //{ // response.Message = OpeningSupplyEntryDao.DeleteOpeningSupplyEntry(inventoryItemEntity.InventoryItemId); // if (!string.IsNullOrEmpty(response.Message)) // { // response.Acknowledge = AcknowledgeType.Failure; // scope.Dispose(); // return response; // } //} response.Message = InventoryItemDao.DeleteInventoryItem(inventoryItemEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; if (response.Message.Contains("FK_INInwardOutwardDetail_InventoryItem")) { response.Message = @"Bạn không thể xóa vật tư có mã " + inventoryItemEntity.InventoryItemCode + ", vì đã có phát sinh trong nghiệp vụ xuất nhập kho"; } else { response.Message = @"Bạn không thể xóa vật tư có mã " + inventoryItemEntity.InventoryItemCode + ", vì đã có phát sinh trong chứng từ hoặc danh mục liên quan"; } scope.Dispose(); return(response); } response.InventoryItemId = inventoryItemEntity.InventoryItemId; scope.Complete(); return(response); } } catch (Exception ex) { response.Acknowledge = AcknowledgeType.Failure; response.Message = ex.Message; return(response); } }
/// <summary> /// Inserts the account category. /// </summary> /// <param name="inventoryItemEntity">The account category entity.</param> /// <returns>InventoryItemResponse.</returns> public InventoryItemResponse InsertInventoryItem(InventoryItemEntity inventoryItemEntity) { var response = new InventoryItemResponse { Acknowledge = AcknowledgeType.Success }; try { if (!inventoryItemEntity.Validate()) { foreach (string error in inventoryItemEntity.ValidationErrors) { response.Message += error + Environment.NewLine; } response.Acknowledge = AcknowledgeType.Failure; return(response); } var inventoryItemEntityExited = InventoryItemDao.GetInventoryItemByInventoryItemCode(inventoryItemEntity.InventoryItemCode, inventoryItemEntity.IsTool); if (inventoryItemEntityExited != null) { response.Acknowledge = AcknowledgeType.Failure; response.Message = string.Format(inventoryItemEntityExited.IsTool ? @"Mã công cụ, dụng cụ {0} đã tồn tại trong hệ thống. Vui lòng nhập mã khác" : @"Mã vật tư {0} đã tồn tại trong hệ thống. Vui lòng nhập mã khác", inventoryItemEntityExited.InventoryItemCode); return(response); } //dm cai thang nao code cu insert 2 bang ma deo lam transaction code nhu cc using (var scope = new TransactionScope()) { inventoryItemEntity.InventoryItemId = Guid.NewGuid().ToString(); response.Message = InventoryItemDao.InsertInventoryItem(inventoryItemEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; scope.Dispose(); return(response); } scope.Complete(); response.InventoryItemId = inventoryItemEntity.InventoryItemId; return(response); } } catch (Exception ex) { response.Acknowledge = AcknowledgeType.Failure; response.Message = ex.Message; return(response); } }
public InventoryItemResponse DeleteInventoryItemConvert() { var response = new InventoryItemResponse { Acknowledge = AcknowledgeType.Success }; try { using (var scope = new TransactionScope()) { // Xóa trong bảng OpeningSupplyEntry //var openingSupplyEntryEntity = OpeningSupplyEntryDao.GetOpeningSupplyEntrybyRefId(inventoryItemEntity.InventoryItemId); //if (openingSupplyEntryEntity != null) //{ // response.Message = OpeningSupplyEntryDao.DeleteOpeningSupplyEntry(inventoryItemEntity.InventoryItemId); // if (!string.IsNullOrEmpty(response.Message)) // { // response.Acknowledge = AcknowledgeType.Failure; // scope.Dispose(); // return response; // } //} response.Message = InventoryItemDao.DeleteInventoryItemConvert(); if (!string.IsNullOrEmpty(response.Message)) { scope.Dispose(); return(response); } scope.Complete(); return(response); } } catch (Exception ex) { response.Acknowledge = AcknowledgeType.Failure; response.Message = ex.Message; return(response); } }
private void ProcessInventoryToCsv(InventoryItemResponse inventoryItem) { InventoryCsv.Write("{0}\t", StartRange.ToString("yyyy-MM-dd")); InventoryCsv.Write("{0}\t", inventoryItem.Sku); InventoryCsv.Write("{0}\t", inventoryItem.Title); InventoryCsv.Write("{0}\t", inventoryItem.FlagStyle); InventoryCsv.Write("{0}\t", inventoryItem.FlagDescription); InventoryCsv.Write("{0}\t", inventoryItem.IsBlocked); InventoryCsv.Write("{0}\t", inventoryItem.BlockComment); InventoryCsv.Write("{0}\t", inventoryItem.Condition); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.Available); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.Total); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.TotalPooled); InventoryCsv.Write("{0}\t", inventoryItem.PriceInfo.Cost); InventoryCsv.Write("{0}\t", inventoryItem.PriceInfo.RetailPrice); InventoryCsv.Write("{0}\t", inventoryItem.PriceInfo.StartingPrice); InventoryCsv.Write("{0}\t", inventoryItem.PriceInfo.ReservePrice); InventoryCsv.Write("{0}\t", inventoryItem.PriceInfo.TakeItPrice); InventoryCsv.Write("{0}\t", inventoryItem.PriceInfo.SecondChanceOfferPrice); InventoryCsv.WriteLine("{0}", inventoryItem.PriceInfo.StorePrice); }
/// <summary> /// Updates the account category. /// </summary> /// <param name="inventoryItemEntity">The account category entity.</param> /// <returns>InventoryItemResponse.</returns> public InventoryItemResponse UpdateInventoryItem(InventoryItemEntity inventoryItemEntity) { var response = new InventoryItemResponse { Acknowledge = AcknowledgeType.Success }; try { if (!inventoryItemEntity.Validate()) { foreach (string error in inventoryItemEntity.ValidationErrors) { response.Message += error + Environment.NewLine; } response.Acknowledge = AcknowledgeType.Failure; return(response); } //check ma trung var inventoryItemEntityExited = InventoryItemDao.GetInventoryItemByInventoryItemCode(inventoryItemEntity.InventoryItemCode, inventoryItemEntity.IsTool); if (inventoryItemEntityExited != null && inventoryItemEntityExited.InventoryItemId != inventoryItemEntity.InventoryItemId) { response.Acknowledge = AcknowledgeType.Failure; response.Message = string.Format(inventoryItemEntityExited.IsTool ? @"Mã công cụ, dụng cụ {0} đã tồn tại trong hệ thống. Vui lòng nhập mã khác" : @"Mã vật tư {0} đã tồn tại trong hệ thống. Vui lòng nhập mã khác", inventoryItemEntityExited.InventoryItemCode); return(response); } //dm cai thang nao code cu insert 2 bang ma deo lam transaction code nhu cc using (var scope = new TransactionScope()) { response.Message = InventoryItemDao.UpdateInventoryItem(inventoryItemEntity); if (!string.IsNullOrEmpty(response.Message)) { response.Acknowledge = AcknowledgeType.Failure; return(response); } // Nếu là công cụ dụng cụ thì Insert đồng thời vào bảng OpeningSupplyEntry //if (inventoryItemEntity.IsTool && !inventoryItemEntity.IsStock) //{ // var openingSupplyEntry = new OpeningSupplyEntryEntity // { // RefId = inventoryItemEntity.InventoryItemId, // InventoryItemId = inventoryItemEntity.InventoryItemId, // InventoryItemCode = inventoryItemEntity.InventoryItemCode, // InventoryItemName = inventoryItemEntity.InventoryItemName, // DepartmentId = inventoryItemEntity.DepartmentId, // PostedDate = DateTime.Now, // RefType = 602 // }; // //xoa insert lai // var openingSupplyEntryEntity = OpeningSupplyEntryDao.GetOpeningSupplyEntrybyRefId(inventoryItemEntity.InventoryItemId); // if (openingSupplyEntryEntity != null) // { // response.Message = OpeningSupplyEntryDao.DeleteOpeningSupplyEntry(inventoryItemEntity.InventoryItemId); // if (!string.IsNullOrEmpty(response.Message)) // { // response.Acknowledge = AcknowledgeType.Failure; // scope.Dispose(); // return response; // } // } // response.Message = OpeningSupplyEntryDao.InsertOpeningSupplyEntry(openingSupplyEntry); // if (!string.IsNullOrEmpty(response.Message)) // { // response.Acknowledge = AcknowledgeType.Failure; // scope.Dispose(); // return response; // } //} response.InventoryItemId = inventoryItemEntity.InventoryItemId; scope.Complete(); return(response); } } catch (Exception ex) { response.Acknowledge = AcknowledgeType.Failure; response.Message = ex.Message; return(response); } }
protected override void ProcessInventoryItem(InventoryItemResponse inventoryItemResponse) { ProcessInventoryToCsv(inventoryItemResponse); }
public static bool IsParent(this InventoryItemResponse item) { return(item.Sku.IsParentSku()); }
/// <summary> /// Setses the specified request. /// </summary> /// <param name="request">The request.</param> /// <returns>InventoryItemResponse.</returns> public InventoryItemResponse SetInventoryItems(InventoryItemRequest request) { var response = new InventoryItemResponse(); var mapper = request.InventoryItem; if (request.Action != PersistType.Delete) { if (!mapper.Validate()) { foreach (string error in mapper.ValidationErrors) { response.Message += error + Environment.NewLine; } response.Acknowledge = AcknowledgeType.Failure; return(response); } } try { if (request.Action == PersistType.Insert) { var lstInventoryItem = InventoryItemDao.GetInventoryItemByCode(mapper.InventoryItemCode); if (lstInventoryItem.Count > 0) { response.Message = "Bạn nhập mã đã tồn tại " + mapper.InventoryItemCode + "!"; } else { AutoNumberListDao.UpdateIncreateAutoNumberListByValue("InventoryItem"); mapper.InventoryItemId = InventoryItemDao.InsertInventoryItem(mapper); response.Message = null; } } else if (request.Action == PersistType.Update) { var objInventoryItem = InventoryItemDao.GetInventoryItemByCode(mapper.InventoryItemCode).FirstOrDefault(); if (objInventoryItem == null) { response.Message = InventoryItemDao.UpdateInventoryItem(mapper); } else { if (objInventoryItem.InventoryItemId == mapper.InventoryItemId) { response.Message = InventoryItemDao.UpdateInventoryItem(mapper); } else { response.Message = "Bạn nhập mã đã tồn tại " + mapper.InventoryItemCode + "!"; } } } else { response.Message = InventoryItemDao.DeleteInventoryItem(request.InventoryItemId); } } catch (Exception ex) { response.Acknowledge = AcknowledgeType.Failure; response.Message = ex.Message; return(response); } response.InventoryItemId = mapper != null ? mapper.InventoryItemId : 0; response.Acknowledge = response.Message != null ? AcknowledgeType.Failure : AcknowledgeType.Success; return(response); }
protected abstract void ProcessInventoryItem(InventoryItemResponse inventoryItemResponse);
private void ProcessInventoryToCsv(InventoryItemResponse inventoryItem) { APIResultOfVariationInfo variationInfo; APIResultOfStoreInfo storeInfo; int retries = 0; while (true) { try { variationInfo = InventoryService.GetInventoryItemVariationInfo(AccountId, inventoryItem.Sku); storeInfo = InventoryService.GetInventoryItemStoreInfo(AccountId, inventoryItem.Sku); break; } catch (Exception ex) { if (retries > 3) throw; ResetInventoryService(retries, "store and variation " + inventoryItem.Sku, ex.Message); retries++; } } if (variationInfo.ResultData == null) variationInfo.ResultData = new VariationInfo(); if (storeInfo.ResultData == null) storeInfo.ResultData = new StoreInfo(); InventoryCsv.Write("{0}\t", StartRange.ToString("yyyy-MM-dd")); InventoryCsv.Write("{0}\t", inventoryItem.Sku); InventoryCsv.Write("{0}\t", inventoryItem.Title); InventoryCsv.Write("{0}\t", inventoryItem.Subtitle); InventoryCsv.Write("{0}\t", inventoryItem.ShortDescription); InventoryCsv.Write("{0}\t", inventoryItem.Description); InventoryCsv.Write("{0}\t", inventoryItem.Weight); InventoryCsv.Write("{0}\t", inventoryItem.SupplierCode); InventoryCsv.Write("{0}\t", inventoryItem.WarehouseLocation); InventoryCsv.Write("{0}\t", inventoryItem.TaxProductCode); InventoryCsv.Write("{0}\t", inventoryItem.FlagStyle); InventoryCsv.Write("{0}\t", inventoryItem.FlagDescription); InventoryCsv.Write("{0}\t", inventoryItem.IsBlocked); InventoryCsv.Write("{0}\t", inventoryItem.BlockComment); InventoryCsv.Write("{0}\t", inventoryItem.ASIN); InventoryCsv.Write("{0}\t", inventoryItem.ISBN); InventoryCsv.Write("{0}\t", inventoryItem.UPC); InventoryCsv.Write("{0}\t", inventoryItem.EAN); InventoryCsv.Write("{0}\t", inventoryItem.MPN); InventoryCsv.Write("{0}\t", inventoryItem.Manufacturer); InventoryCsv.Write("{0}\t", inventoryItem.Brand); InventoryCsv.Write("{0}\t", inventoryItem.Condition); InventoryCsv.Write("{0}\t", inventoryItem.Warranty); InventoryCsv.Write("{0}\t", inventoryItem.ProductMargin); InventoryCsv.Write("{0}\t", inventoryItem.SupplierPO); InventoryCsv.Write("{0}\t", inventoryItem.HarmonizedCode); InventoryCsv.Write("{0}\t", inventoryItem.Height); InventoryCsv.Write("{0}\t", inventoryItem.Length); InventoryCsv.Write("{0}\t", inventoryItem.Width); InventoryCsv.Write("{0}\t", inventoryItem.Classification); InventoryCsv.Write("{0}\t", inventoryItem.MetaDescription); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.Available); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.OpenAllocated); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.OpenUnallocated); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.PendingCheckout); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.PendingPayment); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.PendingShipment); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.Total); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.OpenAllocatedPooled); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.OpenUnallocatedPooled); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.PendingCheckoutPooled); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.PendingPaymentPooled); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.PendingShipmentPooled); InventoryCsv.Write("{0}\t", inventoryItem.Quantity.TotalPooled); InventoryCsv.Write("{0}\t", inventoryItem.PriceInfo.Cost); InventoryCsv.Write("{0}\t", inventoryItem.PriceInfo.RetailPrice); InventoryCsv.Write("{0}\t", inventoryItem.PriceInfo.StartingPrice); InventoryCsv.Write("{0}\t", inventoryItem.PriceInfo.ReservePrice); InventoryCsv.Write("{0}\t", inventoryItem.PriceInfo.TakeItPrice); InventoryCsv.Write("{0}\t", inventoryItem.PriceInfo.SecondChanceOfferPrice); InventoryCsv.Write("{0}", inventoryItem.PriceInfo.StorePrice); InventoryCsv.Write("{0}\t", variationInfo.ResultData.IsInRelationship); InventoryCsv.Write("{0}\t", variationInfo.ResultData.RelationshipName); InventoryCsv.Write("{0}\t", variationInfo.ResultData.IsParent); InventoryCsv.Write("{0}\t", variationInfo.ResultData.ParentSku); InventoryCsv.Write("{0}\t", storeInfo.ResultData.DisplayInStore); InventoryCsv.Write("{0}\t", storeInfo.ResultData.Title); InventoryCsv.Write("{0}\t", storeInfo.ResultData.Description); InventoryCsv.Write("{0}", storeInfo.ResultData.CategoryID); InventoryCsv.WriteLine(); }