public Item SoftDeleteLegacyObject(Item item, IStockMutationService _stockMutationService, IItemTypeService _itemTypeService, IWarehouseItemService _warehouseItemService, IBarringService _barringService) { Barring barring = _barringService.GetObjectById(item.Id); if (barring != null) { _barringService.SoftDeleteObject(barring, _itemTypeService, _warehouseItemService); return(barring); } if (_validator.ValidDeleteLegacyObject(item, _stockMutationService, _itemTypeService, _warehouseItemService)) { IList <WarehouseItem> allwarehouseitems = _warehouseItemService.GetObjectsByItemId(item.Id); foreach (var warehouseitem in allwarehouseitems) { IWarehouseItemValidator warehouseItemValidator = _warehouseItemService.GetValidator(); if (!warehouseItemValidator.ValidDeleteObject(warehouseitem)) { item.Errors.Add("Generic", "Tidak bisa menghapus item yang berhubungan dengan warehouse"); return(item); } } foreach (var warehouseitem in allwarehouseitems) { _warehouseItemService.SoftDeleteObject(warehouseitem); } _repository.SoftDeleteObject(item); } return(item); }
public Item SoftDeleteLegacyObject(Item item, IStockMutationService _stockMutationService, IItemTypeService _itemTypeService, IWarehouseItemService _warehouseItemService, IBarringService _barringService, IPurchaseOrderDetailService _purchaseOrderDetailService, IStockAdjustmentDetailService _stockAdjustmentDetailService, ISalesOrderDetailService _salesOrderDetailService, IPriceMutationService _priceMutationService) { Barring barring = _barringService.GetObjectById(item.Id); if (barring != null) { _barringService.SoftDeleteObject(barring, _itemTypeService, _warehouseItemService, _priceMutationService); return(barring); } if (_validator.ValidDeleteLegacyObject(item, _stockMutationService, _itemTypeService, _warehouseItemService, _purchaseOrderDetailService, _stockAdjustmentDetailService, _salesOrderDetailService)) { IList <WarehouseItem> allwarehouseitems = _warehouseItemService.GetObjectsByItemId(item.Id); foreach (var warehouseitem in allwarehouseitems) { IWarehouseItemValidator warehouseItemValidator = _warehouseItemService.GetValidator(); if (!warehouseItemValidator.ValidDeleteObject(warehouseitem)) { item.Errors.Add("Generic", "Tidak bisa menghapus item yang berhubungan dengan warehouse"); return(item); } } foreach (var warehouseitem in allwarehouseitems) { _warehouseItemService.SoftDeleteObject(warehouseitem); } _repository.SoftDeleteObject(item); IList <PriceMutation> priceMutations = _priceMutationService.GetActiveObjectsByItemId(item.Id); foreach (var priceMutation in priceMutations) { _priceMutationService.DeactivateObject(priceMutation, item.DeletedAt); } } return(item); }
public Item UpdateLegacyObject(Item item, IUoMService _uomService, IItemTypeService _itemTypeService, IWarehouseItemService _warehouseItemService, IWarehouseService _warehouseService, IBarringService _barringService, IContactService _contactService, IMachineService _machineService, IPriceMutationService _priceMutationService, IContactGroupService _contactGroupService) { Barring barring = _barringService.GetObjectById(item.Id); if (barring != null) { _barringService.UpdateObject(barring, _barringService, _uomService, this, _itemTypeService, _contactService, _machineService, _warehouseItemService, _warehouseService, _contactGroupService, _priceMutationService); return(barring); } if (_validator.ValidUpdateLegacyObject(item, _uomService, this, _itemTypeService)) { ContactGroup contactGroup = _contactGroupService.GetObjectByIsLegacy(true); Item olditem = _repository.GetObjectById(item.Id); // Note: olditem might be pointing to the same memory with item (share the same contents) PriceMutation oldpriceMutation = _priceMutationService.GetObjectById(item.PriceMutationId); if (olditem.SellingPrice != item.SellingPrice) { DateTime priceMutationTimeStamp = DateTime.Now; PriceMutation priceMutation = _priceMutationService.CreateObject(item, /*contactGroup,*/ priceMutationTimeStamp); item.PriceMutationId = priceMutation.Id; _priceMutationService.DeactivateObject(oldpriceMutation, priceMutationTimeStamp); } item = _repository.UpdateObject(item); } return(item); }
public BarringOrder VQuantityIsInStock(BarringOrder barringOrder, IBarringOrderDetailService _barringOrderDetailService, IBarringService _barringService, IItemService _itemService, IWarehouseItemService _warehouseItemService) { IList <BarringOrderDetail> details = _barringOrderDetailService.GetObjectsByBarringOrderId(barringOrder.Id); // itemId contains Id of the blanket, leftbar, and rightbar IDictionary <int, int> ValuePairItemIdQuantity = new Dictionary <int, int>(); foreach (var detail in details) { Barring barring = _barringService.GetObjectById(detail.BarringId); // blanket if (ValuePairItemIdQuantity.ContainsKey(barring.BlanketItemId)) { ValuePairItemIdQuantity[barring.BlanketItemId] += 1; } else { ValuePairItemIdQuantity.Add(barring.BlanketItemId, 1); } // leftbar if (barring.LeftBarItemId != null) { if (ValuePairItemIdQuantity.ContainsKey((int)barring.LeftBarItemId)) { ValuePairItemIdQuantity[(int)barring.LeftBarItemId] += 1; } else { ValuePairItemIdQuantity.Add((int)barring.LeftBarItemId, 1); } } // rightbar if (barring.RightBarItemId != null) { if (ValuePairItemIdQuantity.ContainsKey((int)barring.RightBarItemId)) { ValuePairItemIdQuantity[(int)barring.RightBarItemId] += 1; } else { ValuePairItemIdQuantity.Add((int)barring.RightBarItemId, 1); } } } foreach (var ValuePair in ValuePairItemIdQuantity) { WarehouseItem warehouseItem = _warehouseItemService.FindOrCreateObject(barringOrder.WarehouseId, ValuePair.Key); if (warehouseItem.Quantity < ValuePair.Value) { barringOrder.Errors.Add("Generic", "Stock quantity BoM untuk barring tidak boleh kurang dari jumlah di dalam barring order"); return(barringOrder); } } return(barringOrder); }
public dynamic GetInfo(int Id) { Barring model = new Barring(); try { model = _barringService.GetObjectById(Id); } catch (Exception ex) { LOG.Error("GetInfo", ex); model.Errors.Add("Generic", "Error : " + ex); } return(Json(new { model.Id, model.Name, model.Category, model.ItemTypeId, ItemType = _itemTypeService.GetObjectById(model.ItemTypeId).Name, model.UoMId, UoM = _uomService.GetObjectById(model.UoMId).Name, model.Sku, model.RollNo, model.ContactId, Contact = _contactService.GetObjectById(model.ContactId).Name, model.MachineId, Machine = _machineService.GetObjectById(model.MachineId).Name, model.BlanketItemId, BlanketItem = _itemService.GetObjectById(model.BlanketItemId).Name, LeftBarItemId = model.LeftBarItemId.HasValue ? model.LeftBarItemId.Value : model.LeftBarItemId = null, LeftBarItem = model.LeftBarItemId.HasValue ? _itemTypeService.GetObjectById(model.LeftBarItemId.Value).Name : "", RightBarItemId = model.RightBarItemId.HasValue ? model.RightBarItemId.Value : model.RightBarItemId = null, RightBarItem = model.RightBarItemId.HasValue ? _itemTypeService.GetObjectById(model.RightBarItemId.Value).Name : "", model.AC, model.AR, model.thickness, model.KS, model.Quantity, model.CreatedAt, model.UpdatedAt, model.Errors }, JsonRequestBehavior.AllowGet)); }
public BarringOrderDetail VHasBarring(BarringOrderDetail barringOrderDetail, IBarringService _barringService) { Barring barring = _barringService.GetObjectById(barringOrderDetail.BarringId); if (barring == null) { barringOrderDetail.Errors.Add("BarringId", "Tidak terasosiasi dengan Barring"); } return(barringOrderDetail); }
public BarringOrderDetail UnfinishObject(BarringOrderDetail barringOrderDetail, IBarringOrderService _barringOrderService, IStockMutationService _stockMutationService, IBarringService _barringService, IItemService _itemService, IWarehouseItemService _warehouseItemService) { if (_validator.ValidUnfinishObject(barringOrderDetail, _barringOrderService)) { _repository.UnfinishObject(barringOrderDetail); // deduce barring order quantity final BarringOrder barringOrder = _barringOrderService.GetObjectById(barringOrderDetail.BarringOrderId); barringOrder.QuantityFinal -= 1; _barringOrderService.AdjustQuantity(barringOrder); // reverse stock mutation Barring barring = _barringService.GetObjectById(barringOrderDetail.BarringId); WarehouseItem warehouseBarring = _warehouseItemService.FindOrCreateObject(barringOrder.WarehouseId, barring.Id); IList <StockMutation> stockMutations = _stockMutationService.SoftDeleteStockMutationForBarringOrder(barringOrderDetail, warehouseBarring); foreach (var stockMutation in stockMutations) { _stockMutationService.ReverseStockMutateObject(stockMutation, _itemService, _barringService, _warehouseItemService); } if (barringOrderDetail.IsBarRequired) { Item leftbar = (barringOrderDetail.HasLeftBar && barring.LeftBarItemId != null) ? _itemService.GetObjectById((int)barring.LeftBarItemId) : null; Item rightbar = (barringOrderDetail.HasRightBar && barring.RightBarItemId != null) ? _itemService.GetObjectById((int)barring.RightBarItemId) : null; if (leftbar != null) { WarehouseItem warehouseLeftBar = _warehouseItemService.FindOrCreateObject(barringOrder.WarehouseId, leftbar.Id); IList <StockMutation> stockMutationLeftBars = _stockMutationService.SoftDeleteStockMutationForBarringOrder(barringOrderDetail, warehouseLeftBar); foreach (var stockMutationLeftBar in stockMutationLeftBars) { _stockMutationService.ReverseStockMutateObject(stockMutationLeftBar, _itemService, _barringService, _warehouseItemService); } } if (rightbar != null) { WarehouseItem warehouseRightBar = _warehouseItemService.FindOrCreateObject(barringOrder.WarehouseId, rightbar.Id); IList <StockMutation> stockMutationRightBars = _stockMutationService.SoftDeleteStockMutationForBarringOrder(barringOrderDetail, warehouseRightBar); foreach (var stockMutationRightBar in stockMutationRightBars) { _stockMutationService.ReverseStockMutateObject(stockMutationRightBar, _itemService, _barringService, _warehouseItemService); } } } WarehouseItem warehouseBlanket = _warehouseItemService.FindOrCreateObject(barringOrder.WarehouseId, barring.BlanketItemId); IList <StockMutation> stockMutationBlankets = _stockMutationService.SoftDeleteStockMutationForBarringOrder(barringOrderDetail, warehouseBlanket); foreach (var stockMutationBlanket in stockMutationBlankets) { _stockMutationService.ReverseStockMutateObject(stockMutationBlanket, _itemService, _barringService, _warehouseItemService); } } return(barringOrderDetail); }
public BarringOrderDetail FinishObject(BarringOrderDetail barringOrderDetail, DateTime FinishedDate, IBarringOrderService _barringOrderService, IStockMutationService _stockMutationService, IBarringService _barringService, IItemService _itemService, IWarehouseItemService _warehouseItemService) { barringOrderDetail.FinishedDate = FinishedDate; if (_validator.ValidFinishObject(barringOrderDetail, _barringOrderService)) { _repository.FinishObject(barringOrderDetail); // add barring order quantity final // if valid, complete barring order = true BarringOrder barringOrder = _barringOrderService.GetObjectById(barringOrderDetail.BarringOrderId); barringOrder.QuantityFinal += 1; _barringOrderService.AdjustQuantity(barringOrder); if (_barringOrderService.GetValidator().ValidCompleteObject(barringOrder, this)) { _barringOrderService.CompleteObject(barringOrder, this, _barringService, _itemService, _warehouseItemService); } bool CaseAdditionElse = false; bool CaseAdditionBarring = true; // add barring quantity Barring barring = _barringService.GetObjectById(barringOrderDetail.BarringId); WarehouseItem warehouseBarring = _warehouseItemService.FindOrCreateObject(barringOrder.WarehouseId, barring.Id); StockMutation stockMutation = _stockMutationService.CreateStockMutationForBarringOrder(barringOrderDetail, warehouseBarring, CaseAdditionBarring); _stockMutationService.StockMutateObject(stockMutation, _itemService, _barringService, _warehouseItemService); // deduce bars quantity if (barringOrderDetail.IsBarRequired) { Item leftbar = (barringOrderDetail.HasLeftBar && barring.LeftBarItemId != null) ? _itemService.GetObjectById((int)barring.LeftBarItemId) : null; Item rightbar = (barringOrderDetail.HasRightBar && barring.RightBarItemId != null) ? _itemService.GetObjectById((int)barring.RightBarItemId) : null; if (leftbar != null) { WarehouseItem warehouseLeftBar = _warehouseItemService.FindOrCreateObject(barringOrder.WarehouseId, leftbar.Id); StockMutation stockMutationLeftBar = _stockMutationService.CreateStockMutationForBarringOrder(barringOrderDetail, warehouseLeftBar, CaseAdditionElse); _stockMutationService.StockMutateObject(stockMutationLeftBar, _itemService, _barringService, _warehouseItemService); } if (rightbar != null) { WarehouseItem warehouseRightBar = _warehouseItemService.FindOrCreateObject(barringOrder.WarehouseId, rightbar.Id); StockMutation stockMutationRightBar = _stockMutationService.CreateStockMutationForBarringOrder(barringOrderDetail, warehouseRightBar, CaseAdditionElse); _stockMutationService.StockMutateObject(stockMutationRightBar, _itemService, _barringService, _warehouseItemService); } } // deduce blanket quantity WarehouseItem warehouseBlanket = _warehouseItemService.FindOrCreateObject(barringOrder.WarehouseId, barring.BlanketItemId); StockMutation stockMutationBlanket = _stockMutationService.CreateStockMutationForBarringOrder(barringOrderDetail, warehouseBlanket, CaseAdditionElse); _stockMutationService.StockMutateObject(stockMutationBlanket, _itemService, _barringService, _warehouseItemService); } return(barringOrderDetail); }
public void StockMutateObject(StockMutation stockMutation, IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService) { // decimal stockAdjustmentDetailPrice = (stockMutation.Status == Constant.MutationStatus.Addition) ? stockAdjustmentDetail.Price : ((-1) * stockAdjustmentDetail.Price); // item.AvgCost = _barringService.CalculateAvgCost(item, stockAdjustmentDetail.Quantity, stockAdjustmentDetailPrice); // barring.AvgCost = _barringService.CalculateAvgCost(barring, stockAdjustmentDetail.Quantity, stockAdjustmentDetailPrice); int Quantity = (stockMutation.Status == Constant.MutationStatus.Addition) ? stockMutation.Quantity : (-1) * stockMutation.Quantity; WarehouseItem warehouseItem = _warehouseItemService.GetObjectById(stockMutation.WarehouseItemId); Item item = _itemService.GetObjectById(stockMutation.ItemId); Barring barring = _barringService.GetObjectById(stockMutation.ItemId); if (warehouseItem != null) { if (stockMutation.ItemCase == Constant.ItemCase.Ready) { _warehouseItemService.AdjustQuantity(warehouseItem, Quantity); } } if (barring == null) { // itemService in action if (stockMutation.ItemCase == Constant.ItemCase.Ready) { _itemService.AdjustQuantity(item, Quantity); } else if (stockMutation.ItemCase == Constant.ItemCase.PendingDelivery) { _itemService.AdjustPendingDelivery(item, Quantity); } else if (stockMutation.ItemCase == Constant.ItemCase.PendingReceival) { _itemService.AdjustPendingReceival(item, Quantity); } } else { // barringService in action if (stockMutation.ItemCase == Constant.ItemCase.Ready) { _barringService.AdjustQuantity(barring, Quantity); } else if (stockMutation.ItemCase == Constant.ItemCase.PendingDelivery) { _barringService.AdjustPendingDelivery(barring, Quantity); } else if (stockMutation.ItemCase == Constant.ItemCase.PendingReceival) { _barringService.AdjustPendingReceival(barring, Quantity); } } }
public Item UpdateLegacyObject(Item item, IUoMService _uomService, IItemTypeService _itemTypeService, IWarehouseItemService _warehouseItemService, IWarehouseService _warehouseService, IBarringService _barringService, IContactService _contactService, IMachineService _machineService) { Barring barring = _barringService.GetObjectById(item.Id); if (barring != null) { _barringService.UpdateObject(barring, _barringService, _uomService, this, _itemTypeService, _contactService, _machineService, _warehouseItemService, _warehouseService); return(barring); } return(item = _validator.ValidUpdateLegacyObject(item, _uomService, this, _itemTypeService) ? _repository.UpdateObject(item) : item); }
public Barring GetBarring(BarringOrderDetail barringOrderDetail, IBarringService _barringService) { return(_barringService.GetObjectById(barringOrderDetail.BarringId)); }
public dynamic GetListDetail(string _search, long nd, int rows, int?page, string sidx, string sord, int id, string filters = "") { // Construct where statement string strWhere = GeneralFunction.ConstructWhere(filters); // Get Data var query = _barringOrderDetailService.GetObjectsByBarringOrderId(id).Where(d => d.IsDeleted == false); var list = query as IEnumerable <BarringOrderDetail>; var pageIndex = Convert.ToInt32(page) - 1; var pageSize = rows; var totalRecords = query.Count(); var totalPages = (int)Math.Ceiling((float)totalRecords / (float)pageSize); // default last page if (totalPages > 0) { if (!page.HasValue) { pageIndex = totalPages - 1; page = totalPages; } } list = list.Skip(pageIndex * pageSize).Take(pageSize); return(Json(new { total = totalPages, page = page, records = totalRecords, rows = ( from model in list select new { id = model.Id, cell = new object[] { model.BarringOrderId, model.BarringId, _barringService.GetObjectById(model.BarringId).Name, model.IsBarRequired, model.HasLeftBar, model.HasLeftBar == false ? "" : _itemService.GetObjectById(_barringService.GetObjectById(model.BarringId).LeftBarItemId.Value).Id.ToString(), model.HasLeftBar == false ? "" : _itemService.GetObjectById(_barringService.GetObjectById(model.BarringId).LeftBarItemId.Value).Name.ToString(), model.HasRightBar, model.HasRightBar == false ? "" : _itemService.GetObjectById(_barringService.GetObjectById(model.BarringId).RightBarItemId.Value).Id.ToString(), model.HasRightBar == false ? "" : _itemService.GetObjectById(_barringService.GetObjectById(model.BarringId).RightBarItemId.Value).Name.ToString(), model.IsCut, model.IsSideSealed, model.IsBarPrepared, model.IsAdhesiveTapeApplied, model.IsBarMounted, model.IsBarHeatPressed, model.IsBarPullOffTested, model.IsQCAndMarked, model.IsPackaged, model.IsRejected, model.RejectedDate, model.IsFinished, model.FinishedDate } }).ToArray() }, JsonRequestBehavior.AllowGet)); }