public WarehouseMutationOrderDetail CreateObject(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderService _warehouseMutationOrderService, IItemService _itemService, IWarehouseItemService _warehouseItemService) { warehouseMutationOrderDetail.Errors = new Dictionary <String, String>(); return(warehouseMutationOrderDetail = _validator.ValidCreateObject(warehouseMutationOrderDetail, _warehouseMutationOrderService, this, _itemService, _warehouseItemService) ? _repository.CreateObject(warehouseMutationOrderDetail) : warehouseMutationOrderDetail); }
public bool ValidUnconfirmObject(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderService _warehouseMutationOrderService, IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService) { warehouseMutationOrderDetail.Errors.Clear(); VUnconfirmObject(warehouseMutationOrderDetail, _warehouseMutationOrderService, _itemService, _barringService, _warehouseItemService); return(isValid(warehouseMutationOrderDetail)); }
public dynamic DeleteDetail(WarehouseMutationOrderDetail model) { try { if (!AuthenticationModel.IsAllowed("Edit", Core.Constants.Constant.MenuName.WarehouseMutation, Core.Constants.Constant.MenuGroupName.Master)) { Dictionary <string, string> Errors = new Dictionary <string, string>(); Errors.Add("Generic", "You are Not Allowed to Edit record"); return(Json(new { Errors }, JsonRequestBehavior.AllowGet)); } var data = _warehouseMutationOrderDetailService.GetObjectById(model.Id); model = _warehouseMutationOrderDetailService.SoftDeleteObject(data, _warehouseMutationOrderService, _warehouseItemService); } catch (Exception ex) { LOG.Error("Delete Failed", ex); Dictionary <string, string> Errors = new Dictionary <string, string>(); Errors.Add("Generic", "Error " + ex); return(Json(new { Errors }, JsonRequestBehavior.AllowGet)); } return(Json(new { model.Errors })); }
public bool ValidUpdateObject(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderService _warehouseMutationOrderService, IWarehouseMutationOrderDetailService _warehouseMutationOrderDetailService, IItemService _itemService, IWarehouseItemService _warehouseItemService) { warehouseMutationOrderDetail.Errors.Clear(); VUpdateObject(warehouseMutationOrderDetail, _warehouseMutationOrderService, _warehouseMutationOrderDetailService, _itemService, _warehouseItemService); return(isValid(warehouseMutationOrderDetail)); }
public dynamic GetInfoDetail(int Id) { WarehouseMutationOrderDetail model = new WarehouseMutationOrderDetail(); try { model = _warehouseMutationOrderDetailService.GetObjectById(Id); } catch (Exception ex) { LOG.Error("GetInfo", ex); Dictionary <string, string> Errors = new Dictionary <string, string>(); Errors.Add("Generic", "Error " + ex); return(Json(new { Errors }, JsonRequestBehavior.AllowGet)); } return(Json(new { model.Id, model.ItemId, Item = _itemService.GetObjectById(model.ItemId).Name, model.Quantity, model.Errors }, JsonRequestBehavior.AllowGet)); }
public WarehouseMutationOrderDetail VCreateObject(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderService _warehouseMutationOrderService, IWarehouseMutationOrderDetailService _warehouseMutationOrderDetailService, IItemService _itemService, IWarehouseItemService _warehouseItemService) { VHasWarehouseMutationOrder(warehouseMutationOrderDetail, _warehouseMutationOrderService); if (!isValid(warehouseMutationOrderDetail)) { return(warehouseMutationOrderDetail); } VHasWarehouseItemFrom(warehouseMutationOrderDetail, _warehouseMutationOrderService, _warehouseItemService); if (!isValid(warehouseMutationOrderDetail)) { return(warehouseMutationOrderDetail); } VHasWarehouseItemTo(warehouseMutationOrderDetail, _warehouseMutationOrderService, _warehouseItemService); if (!isValid(warehouseMutationOrderDetail)) { return(warehouseMutationOrderDetail); } VNonNegativeNorZeroQuantity(warehouseMutationOrderDetail); if (!isValid(warehouseMutationOrderDetail)) { return(warehouseMutationOrderDetail); } VUniqueItem(warehouseMutationOrderDetail, _warehouseMutationOrderDetailService, _itemService); if (!isValid(warehouseMutationOrderDetail)) { return(warehouseMutationOrderDetail); } VNonNegativeStockQuantity(warehouseMutationOrderDetail, _warehouseMutationOrderService, _itemService, /*_barringService,*/ _warehouseItemService, true); return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail VHasConfirmationDate(WarehouseMutationOrderDetail warehouseMutationOrderDetail) { if (warehouseMutationOrderDetail.ConfirmationDate == null) { warehouseMutationOrderDetail.Errors.Add("ConfirmationDate", "Tidak boleh kosong"); } return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail VHasNotBeenConfirmed(WarehouseMutationOrderDetail warehouseMutationOrderDetail) { if (warehouseMutationOrderDetail.IsConfirmed) { warehouseMutationOrderDetail.Errors.Add("Generic", "Tidak boleh sudah terkonfirmasi."); } return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail VHasBeenConfirmed(WarehouseMutationOrderDetail warehouseMutationOrderDetail) { if (!warehouseMutationOrderDetail.IsConfirmed) { warehouseMutationOrderDetail.Errors.Add("Generic", "Harus sudah terkonfirmasi."); } return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail VHasBeenConfirmed(WarehouseMutationOrderDetail warehouseMutationOrderDetail) { if (!warehouseMutationOrderDetail.IsConfirmed) { warehouseMutationOrderDetail.Errors.Add("IsConfirmed", "Harus sudah selesai."); } return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail VHasNotBeenConfirmed(WarehouseMutationOrderDetail warehouseMutationOrderDetail) { if (warehouseMutationOrderDetail.IsConfirmed) { warehouseMutationOrderDetail.Errors.Add("IsConfirmed", "Tidak boleh sudah selesai."); } return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail VNonNegativeNorZeroQuantity(WarehouseMutationOrderDetail warehouseMutationOrderDetail) { if (warehouseMutationOrderDetail.Quantity <= 0) { warehouseMutationOrderDetail.Errors.Add("Quantity", "Tidak boleh negatif atau 0"); } return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail VWarehouseMutationOrderHasBeenConfirmed(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderService _warehouseMutationOrderService) { WarehouseMutationOrder warehouseMutationOrder = _warehouseMutationOrderService.GetObjectById(warehouseMutationOrderDetail.WarehouseMutationOrderId); if (!warehouseMutationOrder.IsConfirmed) { warehouseMutationOrderDetail.Errors.Add("Generic", "WarehouseMutationOrder harus sudah dikonfirmasi"); } return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail VHasWarehouseMutationOrder(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderService _warehouseMutationOrderService) { WarehouseMutationOrder warehouseMutationOrder = _warehouseMutationOrderService.GetObjectById(warehouseMutationOrderDetail.WarehouseMutationOrderId); if (warehouseMutationOrder == null) { warehouseMutationOrderDetail.Errors.Add("Generic", "Tidak terasosiasi dengan Stock Adjustment"); } return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail VConfirmObject(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderService _warehouseMutationOrderService, IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService) { VHasConfirmationDate(warehouseMutationOrderDetail); if (!isValid(warehouseMutationOrderDetail)) { return(warehouseMutationOrderDetail); } VNonNegativeStockQuantity(warehouseMutationOrderDetail, _warehouseMutationOrderService, _itemService, /*_barringService,*/ _warehouseItemService, true); return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail VUpdateObject(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderService _warehouseMutationOrderService, IWarehouseMutationOrderDetailService _warehouseMutationOrderDetailService, IItemService _itemService, IWarehouseItemService _warehouseItemService) { VHasNotBeenConfirmed(warehouseMutationOrderDetail); if (!isValid(warehouseMutationOrderDetail)) { return(warehouseMutationOrderDetail); } VCreateObject(warehouseMutationOrderDetail, _warehouseMutationOrderService, _warehouseMutationOrderDetailService, _itemService, _warehouseItemService); return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail VHasWarehouseItemTo(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderService _warehouseMutationOrderService, IWarehouseItemService _warehouseItemService) { WarehouseMutationOrder warehouseMutationOrder = _warehouseMutationOrderService.GetObjectById(warehouseMutationOrderDetail.WarehouseMutationOrderId); WarehouseItem warehouseItemTo = _warehouseItemService.FindOrCreateObject(warehouseMutationOrder.WarehouseToId, warehouseMutationOrderDetail.ItemId); if (warehouseItemTo == null) { warehouseMutationOrderDetail.Errors.Add("Generic", "Tidak terasosiasi dengan item dari warehouse yang dituju"); } return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail CreateObject(int warehouseMutationOrderId, int itemId, int quantity, IWarehouseMutationOrderService _warehouseMutationOrderService, IItemService _itemService, IWarehouseItemService _warehouseItemService) { WarehouseMutationOrderDetail warehouseMutationOrderDetail = new WarehouseMutationOrderDetail { WarehouseMutationOrderId = warehouseMutationOrderId, ItemId = itemId, Quantity = quantity, // Price = price }; return(this.CreateObject(warehouseMutationOrderDetail, _warehouseMutationOrderService, _itemService, _warehouseItemService)); }
public string PrintError(WarehouseMutationOrderDetail obj) { string erroroutput = ""; KeyValuePair <string, string> first = obj.Errors.ElementAt(0); erroroutput += first.Key + "," + first.Value; foreach (KeyValuePair <string, string> pair in obj.Errors.Skip(1)) { erroroutput += Environment.NewLine; erroroutput += pair.Key + "," + pair.Value; } return(erroroutput); }
public WarehouseMutationOrderDetail VUniqueItem(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderDetailService _warehouseMutationOrderDetailService, IItemService _itemService) { IList <WarehouseMutationOrderDetail> details = _warehouseMutationOrderDetailService.GetObjectsByWarehouseMutationOrderId(warehouseMutationOrderDetail.WarehouseMutationOrderId); foreach (var detail in details) { if (detail.ItemId == warehouseMutationOrderDetail.ItemId && detail.Id != warehouseMutationOrderDetail.Id) { warehouseMutationOrderDetail.Errors.Add("Generic", "Tidak boleh ada duplikasi item dalam 1 Stock Adjustment"); } } return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail VNonNegativeStockQuantity(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderService _warehouseMutationOrderService, IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService, bool CaseConfirmOrConfirm) { int Quantity = CaseConfirmOrConfirm ? warehouseMutationOrderDetail.Quantity : ((-1) * warehouseMutationOrderDetail.Quantity); WarehouseMutationOrder warehouseMutationOrder = _warehouseMutationOrderService.GetObjectById(warehouseMutationOrderDetail.WarehouseMutationOrderId); WarehouseItem warehouseItemFrom = _warehouseItemService.FindOrCreateObject(warehouseMutationOrder.WarehouseFromId, warehouseMutationOrderDetail.ItemId); if (warehouseItemFrom.Quantity + Quantity < 0) { warehouseMutationOrderDetail.Errors.Add("Quantity", "Stock barang tidak boleh menjadi kurang dari 0"); return(warehouseMutationOrderDetail); } return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail VNonNegativeStockQuantity(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderService _warehouseMutationOrderService, IItemService _itemService, /*IBarringService _barringService,*/ IWarehouseItemService _warehouseItemService, bool CaseConfirm) { WarehouseMutationOrder warehouseMutationOrder = _warehouseMutationOrderService.GetObjectById(warehouseMutationOrderDetail.WarehouseMutationOrderId); WarehouseItem warehouseItemFrom = _warehouseItemService.FindOrCreateObject(warehouseMutationOrder.WarehouseFromId, warehouseMutationOrderDetail.ItemId); WarehouseItem warehouseItemTo = _warehouseItemService.FindOrCreateObject(warehouseMutationOrder.WarehouseToId, warehouseMutationOrderDetail.ItemId); int Quantity = CaseConfirm ? warehouseItemFrom.Quantity : warehouseItemTo.Quantity; if (Quantity < warehouseMutationOrderDetail.Quantity) { warehouseMutationOrderDetail.Errors.Add("Quantity", "Stock barang tidak boleh kurang dari jumlah mutasi barang"); return(warehouseMutationOrderDetail); } return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail VUnconfirmObject(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderService _warehouseMutationOrderService, IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService) { VWarehouseMutationOrderHasBeenConfirmed(warehouseMutationOrderDetail, _warehouseMutationOrderService); if (!isValid(warehouseMutationOrderDetail)) { return(warehouseMutationOrderDetail); } VHasBeenConfirmed(warehouseMutationOrderDetail); if (!isValid(warehouseMutationOrderDetail)) { return(warehouseMutationOrderDetail); } VNonNegativeStockQuantity(warehouseMutationOrderDetail, _warehouseMutationOrderService, _itemService, /*_barringService,*/ _warehouseItemService, false); return(warehouseMutationOrderDetail); }
public dynamic InsertDetail(WarehouseMutationOrderDetail model) { try { model = _warehouseMutationOrderDetailService.CreateObject(model, _warehouseMutationOrderService, _itemService, _warehouseItemService); } catch (Exception ex) { LOG.Error("Insert Failed", ex); model.Errors.Add("Generic", "Error : " + ex); } return(Json(new { model.Errors })); }
public dynamic DeleteDetail(WarehouseMutationOrderDetail model) { try { var data = _warehouseMutationOrderDetailService.GetObjectById(model.Id); model = _warehouseMutationOrderDetailService.SoftDeleteObject(data, _warehouseMutationOrderService, _warehouseItemService); } catch (Exception ex) { LOG.Error("Delete Failed", ex); model.Errors.Add("Generic", "Error : " + ex); } return(Json(new { model.Errors })); }
public WarehouseMutationOrderDetail UnconfirmObject(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderService _warehouseMutationOrderService, IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService, IStockMutationService _stockMutationService) { if (_validator.ValidUnconfirmObject(warehouseMutationOrderDetail, _warehouseMutationOrderService, _itemService, _barringService, _warehouseItemService)) { _repository.UnconfirmObject(warehouseMutationOrderDetail); // reverse mutate item in warehousefrom and warehouseto WarehouseMutationOrder warehouseMutationOrder = _warehouseMutationOrderService.GetObjectById(warehouseMutationOrderDetail.WarehouseMutationOrderId); WarehouseItem warehouseItemFrom = _warehouseItemService.FindOrCreateObject(warehouseMutationOrder.WarehouseFromId, warehouseMutationOrderDetail.ItemId); WarehouseItem warehouseItemTo = _warehouseItemService.FindOrCreateObject(warehouseMutationOrder.WarehouseToId, warehouseMutationOrderDetail.ItemId); IList <StockMutation> stockMutations = _stockMutationService.SoftDeleteStockMutationForWarehouseMutationOrder(warehouseMutationOrderDetail, warehouseItemFrom, warehouseItemTo); foreach (var stockMutation in stockMutations) { _stockMutationService.ReverseStockMutateObject(stockMutation, _itemService, _barringService, _warehouseItemService); } } return(warehouseMutationOrderDetail); }
public IList <StockMutation> CreateStockMutationForWarehouseMutationOrder(WarehouseMutationOrderDetail warehouseMutationOrderDetail, WarehouseItem warehouseItemFrom, WarehouseItem warehouseItemTo, IWarehouseMutationOrderService _warehouseMutationOrderService) { IList <StockMutation> stockMutations = new List <StockMutation>(); StockMutation stockMutationFrom = new StockMutation(); stockMutationFrom.ItemId = warehouseItemFrom.ItemId; stockMutationFrom.WarehouseId = warehouseItemFrom.WarehouseId; stockMutationFrom.WarehouseItemId = warehouseItemFrom.Id; stockMutationFrom.Quantity = warehouseMutationOrderDetail.Quantity; stockMutationFrom.SourceDocumentType = Constant.SourceDocumentType.WarehouseMutationOrder; stockMutationFrom.SourceDocumentId = warehouseMutationOrderDetail.WarehouseMutationOrderId; stockMutationFrom.SourceDocumentCode = _warehouseMutationOrderService.GetObjectById(warehouseMutationOrderDetail.WarehouseMutationOrderId).Code; stockMutationFrom.SourceDocumentDetailType = Constant.SourceDocumentDetailType.WarehouseMutationOrderDetail; stockMutationFrom.SourceDocumentDetailId = warehouseMutationOrderDetail.Id; stockMutationFrom.SourceDocumentDetailCode = warehouseMutationOrderDetail.Code; stockMutationFrom.ItemCase = Constant.ItemCase.Ready; stockMutationFrom.Status = Constant.MutationStatus.Deduction; stockMutationFrom = _repository.CreateObject(stockMutationFrom); StockMutation stockMutationTo = new StockMutation(); stockMutationTo.ItemId = warehouseItemTo.ItemId; stockMutationTo.WarehouseId = warehouseItemTo.WarehouseId; stockMutationTo.WarehouseItemId = warehouseItemTo.Id; stockMutationTo.Quantity = warehouseMutationOrderDetail.Quantity; stockMutationTo.SourceDocumentType = Constant.SourceDocumentType.WarehouseMutationOrder; stockMutationTo.SourceDocumentId = warehouseMutationOrderDetail.WarehouseMutationOrderId; stockMutationTo.SourceDocumentCode = _warehouseMutationOrderService.GetObjectById(warehouseMutationOrderDetail.WarehouseMutationOrderId).Code; stockMutationTo.SourceDocumentDetailType = Constant.SourceDocumentDetailType.WarehouseMutationOrderDetail; stockMutationTo.SourceDocumentDetailId = warehouseMutationOrderDetail.Id; stockMutationTo.SourceDocumentDetailCode = warehouseMutationOrderDetail.Code; stockMutationTo.ItemCase = Constant.ItemCase.Ready; stockMutationTo.Status = Constant.MutationStatus.Addition; stockMutationTo = _repository.CreateObject(stockMutationTo); stockMutations.Add(stockMutationFrom); stockMutations.Add(stockMutationTo); return(stockMutations); }
public WarehouseMutationOrderDetail ConfirmObject(WarehouseMutationOrderDetail warehouseMutationOrderDetail, DateTime ConfirmationDate, IWarehouseMutationOrderService _warehouseMutationOrderService, IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService, IStockMutationService _stockMutationService) { warehouseMutationOrderDetail.ConfirmationDate = ConfirmationDate; if (_validator.ValidConfirmObject(warehouseMutationOrderDetail, _warehouseMutationOrderService, _itemService, _barringService, _warehouseItemService)) { WarehouseMutationOrder warehouseMutationOrder = _warehouseMutationOrderService.GetObjectById(warehouseMutationOrderDetail.WarehouseMutationOrderId); _repository.ConfirmObject(warehouseMutationOrderDetail); // deduce warehouseFrom item // add warehouseTo item WarehouseItem warehouseItemFrom = _warehouseItemService.FindOrCreateObject(warehouseMutationOrder.WarehouseFromId, warehouseMutationOrderDetail.ItemId); WarehouseItem warehouseItemTo = _warehouseItemService.FindOrCreateObject(warehouseMutationOrder.WarehouseToId, warehouseMutationOrderDetail.ItemId); IList <StockMutation> stockMutations = _stockMutationService.CreateStockMutationForWarehouseMutationOrder(warehouseMutationOrderDetail, warehouseItemFrom, warehouseItemTo); foreach (var stockMutation in stockMutations) { _stockMutationService.StockMutateObject(stockMutation, _itemService, _barringService, _warehouseItemService); } } return(warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail SoftDeleteObject(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderService _warehouseMutationOrderService, IWarehouseItemService _warehouseItemService) { return(warehouseMutationOrderDetail = _validator.ValidDeleteObject(warehouseMutationOrderDetail) ? _repository.SoftDeleteObject(warehouseMutationOrderDetail) : warehouseMutationOrderDetail); }
public WarehouseMutationOrderDetail UpdateObject(WarehouseMutationOrderDetail warehouseMutationOrderDetail, IWarehouseMutationOrderService _warehouseMutationOrderService, IItemService _itemService, IWarehouseItemService _warehouseItemService) { return(warehouseMutationOrderDetail = _validator.ValidUpdateObject(warehouseMutationOrderDetail, _warehouseMutationOrderService, this, _itemService, _warehouseItemService) ? _repository.UpdateObject(warehouseMutationOrderDetail) : warehouseMutationOrderDetail); }