public JsonResult _SubmitPalleteSerials(List <string> serialList, int?pid, int?orderId, string DeliveryNo, int OrderDetailID, int?type) { int warehouseId = caCurrent.CurrentWarehouse().WarehouseId; GoodsReturnRequestSync goodsReturnRequestSync = new GoodsReturnRequestSync(); List <PalleTrackingProcess> palleTrackingProcessList = new List <PalleTrackingProcess>(); foreach (var pallet in serialList) { PalleTrackingProcess palleTrackingProcess = new PalleTrackingProcess(); decimal quantity = 0; var palletdData = pallet.Split(new string[] { "#+#", "#+#" }, StringSplitOptions.RemoveEmptyEntries); if (palletdData.Length >= 2) { int PalletTrackingId = 0; if (!string.IsNullOrEmpty(palletdData[0])) { PalletTrackingId = int.Parse(palletdData[0]); palleTrackingProcess.PalletTrackingId = PalletTrackingId; } if (!string.IsNullOrEmpty(palletdData[1])) { quantity = decimal.Parse(palletdData[1]); palleTrackingProcess.ProcessedQuantity = quantity; } } palleTrackingProcessList.Add(palleTrackingProcess); } goodsReturnRequestSync.PalleTrackingProcess = palleTrackingProcessList; goodsReturnRequestSync.ProductId = pid ?? 0; goodsReturnRequestSync.OrderId = orderId ?? 0; goodsReturnRequestSync.deliveryNumber = DeliveryNo; goodsReturnRequestSync.OrderDetailID = OrderDetailID; goodsReturnRequestSync.InventoryTransactionType = type; goodsReturnRequestSync.tenantId = CurrentTenantId; goodsReturnRequestSync.warehouseId = warehouseId; goodsReturnRequestSync.userId = CurrentUserId; int result = OrderService.ProcessPalletTrackingSerial(goodsReturnRequestSync); return(Json(result < 0 ? false : true, JsonRequestBehavior.AllowGet)); }
public JsonResult _SubmitPalleteSerials(List <string> serialList, int?pid, int?orderId, int?type, int?palletTrackingId, string groupToken, string deliveryNumber = null) { var _inventoryTransactionsService = DependencyResolver.Current.GetService <IOrderService>(); int warehouseId = caCurrent.CurrentWarehouse().WarehouseId; List <PalleTrackingProcess> palleTrackingProcessList = new List <PalleTrackingProcess>(); ViewBag.QuantityEnabled = true; if (orderId.HasValue) { foreach (var pallet in serialList) { PalleTrackingProcess palleTrackingProcess = new PalleTrackingProcess(); decimal quantity = 0; var palletdData = pallet.Split(new string[] { "#+#", "#+#" }, StringSplitOptions.RemoveEmptyEntries); if (palletdData.Length >= 2) { int PalletTrackingId = 0; if (!string.IsNullOrEmpty(palletdData[0])) { PalletTrackingId = int.Parse(palletdData[0]); palleTrackingProcess.PalletTrackingId = PalletTrackingId; } if (!string.IsNullOrEmpty(palletdData[1])) { quantity = decimal.Parse(palletdData[1]); palleTrackingProcess.ProcessedQuantity = quantity; } } palleTrackingProcessList.Add(palleTrackingProcess); } GoodsReturnRequestSync goodsReturnRequestSync = new GoodsReturnRequestSync { PalleTrackingProcess = palleTrackingProcessList, ProductId = pid ?? 0, OrderId = orderId ?? 0, PalletTrackingId = palletTrackingId, InventoryTransactionType = type, tenantId = CurrentTenantId, warehouseId = warehouseId, userId = CurrentUserId, deliveryNumber = deliveryNumber }; _purchaseOrderService.ProcessPalletTrackingSerial(goodsReturnRequestSync, groupToken, true); return(Json(new { orderid = orderId ?? 0, productId = pid ?? 0, orderNumber = "", groupToken = groupToken }, JsonRequestBehavior.AllowGet)); } else if (serialList == null && type == (int)InventoryTransactionTypeEnum.AdjustmentIn) { _inventoryTransactionsService.AddGoodsReturnPallet(serialList, "", pid ?? 0, type ?? 0, 0, orderId, CurrentTenantId, CurrentWarehouseId, CurrentUserId, palletTrackigId: palletTrackingId ?? 0); } else { if (serialList != null) { string orderNumber = GenerateNextOrderNumber((InventoryTransactionTypeEnum)type); if ((!orderId.HasValue && type == (int)InventoryTransactionTypeEnum.Wastage) || type == (int)InventoryTransactionTypeEnum.AdjustmentIn || type == (int)InventoryTransactionTypeEnum.AdjustmentOut) { foreach (var pallet in serialList) { PalleTrackingProcess palleTrackingProcess = new PalleTrackingProcess(); decimal quantity = 0; var palletdData = pallet.Split(new string[] { "#+#", "#+#" }, StringSplitOptions.RemoveEmptyEntries); if (palletdData.Length >= 2) { int PalletTrackingId = 0; if (!string.IsNullOrEmpty(palletdData[0])) { PalletTrackingId = int.Parse(palletdData[0]); palleTrackingProcess.PalletTrackingId = PalletTrackingId; } if (!string.IsNullOrEmpty(palletdData[1])) { quantity = decimal.Parse(palletdData[1]); palleTrackingProcess.ProcessedQuantity = quantity; } } palleTrackingProcessList.Add(palleTrackingProcess); } GoodsReturnRequestSync goodsReturnRequestSync = new GoodsReturnRequestSync { PalleTrackingProcess = palleTrackingProcessList, ProductId = pid ?? 0, OrderId = orderId ?? 0, PalletTrackingId = palletTrackingId, InventoryTransactionType = type, tenantId = CurrentTenantId, warehouseId = warehouseId, OrderNumber = orderNumber, userId = CurrentUserId, deliveryNumber = deliveryNumber }; int result = _purchaseOrderService.ProcessPalletTrackingSerial(goodsReturnRequestSync, groupToken, true); if (result > 0) { return(Json(new { orderid = orderId ?? 0, productId = pid ?? 0, orderNumber = orderNumber, groupToken = groupToken }, JsonRequestBehavior.AllowGet)); } } else { foreach (var pallet in serialList) { PalleTrackingProcess palleTrackingProcess = new PalleTrackingProcess(); decimal quantity = 0; var palletdData = pallet.Split(new string[] { "#+#", "#+#" }, StringSplitOptions.RemoveEmptyEntries); if (palletdData.Length >= 2) { int PalletTrackingId = 0; if (!string.IsNullOrEmpty(palletdData[0])) { PalletTrackingId = int.Parse(palletdData[0]); palleTrackingProcess.PalletTrackingId = PalletTrackingId; } if (!string.IsNullOrEmpty(palletdData[1])) { quantity = decimal.Parse(palletdData[1]); palleTrackingProcess.ProcessedQuantity = quantity; } } palleTrackingProcessList.Add(palleTrackingProcess); } GoodsReturnRequestSync goodsReturnRequestSync = new GoodsReturnRequestSync { PalleTrackingProcess = palleTrackingProcessList, ProductId = pid ?? 0, OrderId = orderId ?? 0, PalletTrackingId = palletTrackingId, InventoryTransactionType = type, tenantId = CurrentTenantId, warehouseId = warehouseId, OrderNumber = orderNumber, userId = CurrentUserId, deliveryNumber = deliveryNumber }; _purchaseOrderService.ProcessPalletTrackingSerial(goodsReturnRequestSync, groupToken, true); } return(Json(new { orderid = orderId ?? 0, productId = pid ?? 0, orderNumber = orderNumber, groupToken = groupToken }, JsonRequestBehavior.AllowGet)); } } return(Json(true, JsonRequestBehavior.AllowGet)); }