public dynamic Delete(PurchaseReceival model) { try { if (!AuthenticationModel.IsAllowed("Delete", Core.Constants.Constant.MenuName.PurchaseReceival, Core.Constants.Constant.MenuGroupName.Transaction)) { Dictionary <string, string> Errors = new Dictionary <string, string>(); Errors.Add("Generic", "You are Not Allowed to Delete Record"); return(Json(new { Errors }, JsonRequestBehavior.AllowGet)); } var data = _purchaseReceivalService.GetObjectById(model.Id); model = _purchaseReceivalService.SoftDeleteObject(data, _purchaseReceivalDetailService); } 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 dynamic UnConfirm(PurchaseReceival model) { try { if (!AuthenticationModel.IsAllowed("UnConfirm", Core.Constants.Constant.MenuName.PurchaseReceival, Core.Constants.Constant.MenuGroupName.Transaction)) { Dictionary <string, string> Errors = new Dictionary <string, string>(); Errors.Add("Generic", "You are Not Allowed to UnConfirm record"); return(Json(new { Errors }, JsonRequestBehavior.AllowGet)); } var data = _purchaseReceivalService.GetObjectById(model.Id); model = _purchaseReceivalService.UnconfirmObject(data, _purchaseReceivalDetailService, _purchaseInvoiceService, _purchaseInvoiceDetailService, _purchaseOrderService, _purchaseOrderDetailService, _stockMutationService, _itemService, _barringService, _warehouseItemService); } catch (Exception ex) { LOG.Error("Unconfirm 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 dynamic Insert(PurchaseReceival model) { try { if (!AuthenticationModel.IsAllowed("Create", Core.Constants.Constant.MenuName.PurchaseReceival, Core.Constants.Constant.MenuGroupName.Transaction)) { Dictionary <string, string> Errors = new Dictionary <string, string>(); Errors.Add("Generic", "You are Not Allowed to Add record"); return(Json(new { Errors }, JsonRequestBehavior.AllowGet)); } model = _purchaseReceivalService.CreateObject(model, _purchaseOrderService, _warehouseService); } catch (Exception ex) { LOG.Error("Insert 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 PurchaseInvoice ConfirmObject(PurchaseInvoice purchaseInvoice, DateTime ConfirmationDate, IPurchaseInvoiceDetailService _purchaseInvoiceDetailService, IPurchaseOrderService _purchaseOrderService, IPurchaseReceivalService _purchaseReceivalService, IPurchaseReceivalDetailService _purchaseReceivalDetailService, IPayableService _payableService) { purchaseInvoice.ConfirmationDate = ConfirmationDate; if (_validator.ValidConfirmObject(purchaseInvoice, _purchaseInvoiceDetailService, _purchaseReceivalService, _purchaseReceivalDetailService)) { // confirm details // add all amount into amountpayable IList <PurchaseInvoiceDetail> details = _purchaseInvoiceDetailService.GetObjectsByPurchaseInvoiceId(purchaseInvoice.Id); foreach (var detail in details) { detail.Errors = new Dictionary <string, string>(); _purchaseInvoiceDetailService.ConfirmObject(detail, ConfirmationDate, _purchaseReceivalDetailService); } purchaseInvoice = CalculateAmountPayable(purchaseInvoice, _purchaseInvoiceDetailService); // confirm object // create payable purchaseInvoice = _repository.ConfirmObject(purchaseInvoice); PurchaseReceival purchaseReceival = _purchaseReceivalService.GetObjectById(purchaseInvoice.PurchaseReceivalId); _purchaseReceivalService.CheckAndSetInvoiceComplete(purchaseReceival, _purchaseReceivalDetailService); PurchaseOrder purchaseOrder = _purchaseOrderService.GetObjectById(purchaseReceival.PurchaseOrderId); Payable payable = _payableService.CreateObject(purchaseOrder.ContactId, Constant.PayableSource.PurchaseInvoice, purchaseInvoice.Id, purchaseInvoice.AmountPayable, purchaseInvoice.DueDate); } return(purchaseInvoice); }
public dynamic GetInfo(int Id) { PurchaseReceival model = new PurchaseReceival(); try { model = _purchaseReceivalService.GetObjectById(Id); } catch (Exception ex) { LOG.Error("GetInfo", ex); model.Errors.Add("Generic", "Error : " + ex); } return(Json(new { model.Id, model.Code, model.PurchaseOrderId, PurchaseOrder = _purchaseOrderService.GetObjectById(model.PurchaseOrderId).Code, model.ReceivalDate, model.WarehouseId, Warehouse = _warehouseService.GetObjectById(model.WarehouseId).Name, model.Errors }, JsonRequestBehavior.AllowGet)); }
public PurchaseReceivalDetail ConfirmObject(PurchaseReceivalDetail purchaseReceivalDetail, DateTime ConfirmationDate, IPurchaseReceivalService _purchaseReceivalService, IPurchaseOrderDetailService _purchaseOrderDetailService, IStockMutationService _stockMutationService, IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService) { purchaseReceivalDetail.ConfirmationDate = ConfirmationDate; if (_validator.ValidConfirmObject(purchaseReceivalDetail, this, _purchaseOrderDetailService)) { purchaseReceivalDetail = _repository.ConfirmObject(purchaseReceivalDetail); PurchaseReceival purchaseReceival = _purchaseReceivalService.GetObjectById(purchaseReceivalDetail.PurchaseReceivalId); WarehouseItem warehouseItem = _warehouseItemService.FindOrCreateObject(purchaseReceival.WarehouseId, purchaseReceivalDetail.ItemId); Item item = _itemService.GetObjectById(purchaseReceivalDetail.ItemId); IList <StockMutation> stockMutations = _stockMutationService.CreateStockMutationForPurchaseReceival(purchaseReceivalDetail, warehouseItem); foreach (var stockMutation in stockMutations) { // decimal itemPrice = _purchaseOrderDetailService.GetObjectById(purchaseReceivalDetail.PurchaseOrderDetailId).Price; // item.AvgCost = _itemService.CalculateAvgCost(item, purchaseReceivalDetail.Quantity, itemPrice); //item.PendingReceival -= purchaseReceivalDetail.Quantity; //item.Quantity += purchaseReceivalDetail.Quantity; _stockMutationService.StockMutateObject(stockMutation, _itemService, _barringService, _warehouseItemService); } PurchaseOrderDetail purchaseOrderDetail = _purchaseOrderDetailService.GetObjectById(purchaseReceivalDetail.PurchaseOrderDetailId); _purchaseOrderDetailService.SetReceivalComplete(purchaseOrderDetail, purchaseReceivalDetail.Quantity); } return(purchaseReceivalDetail); }
public PurchaseReceivalDetail UnconfirmObject(PurchaseReceivalDetail purchaseReceivalDetail, IPurchaseReceivalService _purchaseReceivalService, IPurchaseOrderService _purchaseOrderService, IPurchaseOrderDetailService _purchaseOrderDetailService, IPurchaseInvoiceDetailService _purchaseInvoiceDetailService, IStockMutationService _stockMutationService, IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService) { if (_validator.ValidUnconfirmObject(purchaseReceivalDetail, _purchaseInvoiceDetailService, _itemService)) { purchaseReceivalDetail = _repository.UnconfirmObject(purchaseReceivalDetail); PurchaseReceival purchaseReceival = _purchaseReceivalService.GetObjectById(purchaseReceivalDetail.PurchaseReceivalId); WarehouseItem warehouseItem = _warehouseItemService.FindOrCreateObject(purchaseReceival.WarehouseId, purchaseReceivalDetail.ItemId); Item item = _itemService.GetObjectById(purchaseReceivalDetail.ItemId); IList <StockMutation> stockMutations = _stockMutationService.SoftDeleteStockMutationForPurchaseReceival(purchaseReceivalDetail, warehouseItem); foreach (var stockMutation in stockMutations) { //decimal itemPrice = _purchaseOrderDetailService.GetObjectById(purchaseReceivalDetail.PurchaseOrderDetailId).Price; //item.AvgCost = _itemService.CalculateAvgCost(item, purchaseReceivalDetail.Quantity * (-1), itemPrice); //item.PendingReceival += purchaseReceivalDetail.Quantity; //item.Quantity -= purchaseReceivalDetail.Quantity; _stockMutationService.ReverseStockMutateObject(stockMutation, _itemService, _barringService, _warehouseItemService); } PurchaseOrderDetail purchaseOrderDetail = _purchaseOrderDetailService.GetObjectById(purchaseReceivalDetail.PurchaseOrderDetailId); _purchaseOrderDetailService.UnsetReceivalComplete(purchaseOrderDetail, purchaseReceivalDetail.Quantity, _purchaseOrderService); } return(purchaseReceivalDetail); }
public PurchaseReceival VHasReceivalDate(PurchaseReceival purchaseReceival) { if (purchaseReceival.ReceivalDate == null) { purchaseReceival.Errors.Add("ReceivalDate", "Tidak boleh tidak ada"); } return(purchaseReceival); }
public PurchaseReceival VHasBeenConfirmed(PurchaseReceival purchaseReceival) { if (!purchaseReceival.IsConfirmed) { purchaseReceival.Errors.Add("Generic", "Belum dikonfirmasi"); } return(purchaseReceival); }
public PurchaseReceival VHasConfirmationDate(PurchaseReceival obj) { if (obj.ConfirmationDate == null) { obj.Errors.Add("ConfirmationDate", "Tidak boleh kosong"); } return(obj); }
public PurchaseReceival VHasNotBeenConfirmed(PurchaseReceival purchaseReceival) { if (purchaseReceival.IsConfirmed) { purchaseReceival.Errors.Add("Generic", "Tidak boleh sudah dikonfirmasi"); } return(purchaseReceival); }
public PurchaseReceival VHasNoPurchaseInvoice(PurchaseReceival purchaseReceival, IPurchaseInvoiceService _purchaseInvoiceService) { IList <PurchaseInvoice> purchaseInvoices = _purchaseInvoiceService.GetObjectsByPurchaseReceivalId(purchaseReceival.Id); if (purchaseInvoices.Any()) { purchaseReceival.Errors.Add("Generic", "Sudah memiliki purhase invoice"); } return(purchaseReceival); }
public PurchaseReceival VHasPurchaseOrder(PurchaseReceival purchaseReceival, IPurchaseOrderService _purchaseOrderService) { PurchaseOrder purchaseOrder = _purchaseOrderService.GetObjectById(purchaseReceival.PurchaseOrderId); if (purchaseOrder == null) { purchaseReceival.Errors.Add("PurchaseOrderId", "Tidak terasosiasi dengan purchase order"); } return(purchaseReceival); }
public PurchaseReceival VUnconfirmObject(PurchaseReceival purchaseReceival, IPurchaseInvoiceService _purchaseInvoiceService) { VHasBeenConfirmed(purchaseReceival); if (!isValid(purchaseReceival)) { return(purchaseReceival); } VHasNoPurchaseInvoice(purchaseReceival, _purchaseInvoiceService); return(purchaseReceival); }
public PurchaseReceival VDeleteObject(PurchaseReceival purchaseReceival, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { VHasNotBeenConfirmed(purchaseReceival); if (!isValid(purchaseReceival)) { return(purchaseReceival); } VHasNoPurchaseReceivalDetail(purchaseReceival, _purchaseReceivalDetailService); return(purchaseReceival); }
public PurchaseReceival VHasNoPurchaseReceivalDetail(PurchaseReceival purchaseReceival, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { IList <PurchaseReceivalDetail> details = _purchaseReceivalDetailService.GetObjectsByPurchaseReceivalId(purchaseReceival.Id); if (details.Any()) { purchaseReceival.Errors.Add("Generic", "Masih memiliki purchase receival detail"); } return(purchaseReceival); }
public PurchaseReceival VHasWarehouse(PurchaseReceival purchaseReceival, IWarehouseService _warehouseService) { Warehouse warehouse = _warehouseService.GetObjectById(purchaseReceival.WarehouseId); if (warehouse == null) { purchaseReceival.Errors.Add("WarehouseId", "Tidak terasosiasi dengan warehouse"); } return(purchaseReceival); }
public PurchaseInvoice VHasPurchaseReceival(PurchaseInvoice purchaseInvoice, IPurchaseReceivalService _purchaseReceivalService) { PurchaseReceival purchaseReceival = _purchaseReceivalService.GetObjectById(purchaseInvoice.PurchaseReceivalId); if (purchaseReceival == null) { purchaseInvoice.Errors.Add("PurchaseReceivalId", "Tidak terasosiasi dengan Purchase Receival"); } return(purchaseInvoice); }
public PurchaseReceivalDetail VHasPurchaseReceival(PurchaseReceivalDetail purchaseReceivalDetail, IPurchaseReceivalService _purchaseReceivalService) { PurchaseReceival purchaseReceival = _purchaseReceivalService.GetObjectById(purchaseReceivalDetail.PurchaseReceivalId); if (purchaseReceival == null) { purchaseReceivalDetail.Errors.Add("PurchaseReceivalId", "Tidak terasosiasi dengan purchase receival"); } return(purchaseReceivalDetail); }
public PurchaseInvoice VPurchaseReceivalHasNotBeenInvoiceCompleted(PurchaseInvoice purchaseInvoice, IPurchaseReceivalService _purchaseReceivalService) { PurchaseReceival purchaseReceival = _purchaseReceivalService.GetObjectById(purchaseInvoice.PurchaseReceivalId); if (purchaseReceival.IsInvoiceCompleted) { purchaseInvoice.Errors.Add("Generic", "Tidak boleh memilih Purchase Receival dengan invoice yang sudah terbayar"); } return(purchaseInvoice); }
public PurchaseReceival VUpdateObject(PurchaseReceival purchaseReceival, IPurchaseOrderService _purchaseOrderService, IWarehouseService _warehouseService) { VCreateObject(purchaseReceival, _purchaseOrderService, _warehouseService); if (!isValid(purchaseReceival)) { return(purchaseReceival); } VHasNotBeenConfirmed(purchaseReceival); return(purchaseReceival); }
public PurchaseReceival VPurchaseOrderHasBeenConfirmed(PurchaseReceival purchaseReceival, IPurchaseOrderService _purchaseOrderService) { PurchaseOrder purchaseOrder = _purchaseOrderService.GetObjectById(purchaseReceival.PurchaseOrderId); if (!purchaseOrder.IsConfirmed) { purchaseReceival.Errors.Add("Generic", "Purchase order belum di konfirmasi"); } return(purchaseReceival); }
public PurchaseReceival CreateObject(int warehouseId, int purchaseOrderId, DateTime receivalDate, IPurchaseOrderService _purchaseOrderService, IWarehouseService _warehouseService) { PurchaseReceival purchaseReceival = new PurchaseReceival { PurchaseOrderId = purchaseOrderId, ReceivalDate = receivalDate, WarehouseId = warehouseId }; return(this.CreateObject(purchaseReceival, _purchaseOrderService, _warehouseService)); }
public PurchaseReceivalDetail UndoInvoiceObject(PurchaseReceivalDetail purchaseReceivalDetail, int Quantity, IPurchaseReceivalService _purchaseReceivalService) { PurchaseReceival purchaseReceival = _purchaseReceivalService.GetObjectById(purchaseReceivalDetail.PurchaseReceivalId); _purchaseReceivalService.UnsetInvoiceComplete(purchaseReceival); purchaseReceivalDetail.IsAllInvoiced = false; purchaseReceivalDetail.PendingInvoicedQuantity += Quantity; _repository.UpdateObject(purchaseReceivalDetail); return(purchaseReceivalDetail); }
public PurchaseReceivalDetail VPurchaseReceivalAndPurchaseOrderDetailHaveTheSamePurchaseOrder(PurchaseReceivalDetail purchaseReceivalDetail, IPurchaseReceivalService _purchaseReceivalService, IPurchaseOrderDetailService _purchaseOrderDetailService) { PurchaseOrderDetail purchaseOrderDetail = _purchaseOrderDetailService.GetObjectById(purchaseReceivalDetail.PurchaseOrderDetailId); PurchaseReceival purchaseReceival = _purchaseReceivalService.GetObjectById(purchaseReceivalDetail.PurchaseReceivalId); if (purchaseOrderDetail.PurchaseOrderId != purchaseReceival.PurchaseOrderId) { purchaseReceivalDetail.Errors.Add("Generic", "Purchase receival dan purchase order detail memiliki purchase order yang berbeda"); } return(purchaseReceivalDetail); }
public PurchaseReceival CheckAndSetInvoiceComplete(PurchaseReceival purchaseReceival, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { IList <PurchaseReceivalDetail> details = _purchaseReceivalDetailService.GetObjectsByPurchaseReceivalId(purchaseReceival.Id); foreach (var detail in details) { if (!detail.IsAllInvoiced) { return(purchaseReceival); } } return(_repository.SetInvoiceComplete(purchaseReceival)); }
public string PrintError(PurchaseReceival 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 PurchaseReceival VConfirmObject(PurchaseReceival purchaseReceival, IPurchaseReceivalDetailService _purchaseReceivalDetailService) { VHasConfirmationDate(purchaseReceival); if (!isValid(purchaseReceival)) { return(purchaseReceival); } VHasNotBeenConfirmed(purchaseReceival); if (!isValid(purchaseReceival)) { return(purchaseReceival); } VHasPurchaseReceivalDetails(purchaseReceival, _purchaseReceivalDetailService); return(purchaseReceival); }
public dynamic Insert(PurchaseReceival model) { try { model = _purchaseReceivalService.CreateObject(model, _purchaseOrderService, _warehouseService); } catch (Exception ex) { LOG.Error("Insert Failed", ex); model.Errors.Add("Generic", "Error : " + ex); } return(Json(new { model.Errors })); }
public dynamic UnConfirm(PurchaseReceival model) { try { var data = _purchaseReceivalService.GetObjectById(model.Id); model = _purchaseReceivalService.UnconfirmObject(data, _purchaseReceivalDetailService, _purchaseInvoiceService, _purchaseInvoiceDetailService, _purchaseOrderService, _purchaseOrderDetailService, _stockMutationService, _itemService, _barringService, _warehouseItemService); } catch (Exception ex) { LOG.Error("Unconfirm Failed", ex); model.Errors.Add("Generic", "Error : " + ex); } return(Json(new { model.Errors })); }