public dynamic Insert(WarehouseMutationOrder model)
        {
            try
            {
                if (!AuthenticationModel.IsAllowed("Create", 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 Add record");

                    return(Json(new
                    {
                        Errors
                    }, JsonRequestBehavior.AllowGet));
                }

                model = _warehouseMutationOrderService.CreateObject(model, _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 dynamic GetInfo(int Id)
        {
            WarehouseMutationOrder model = new WarehouseMutationOrder();

            try
            {
                model = _warehouseMutationOrderService.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.Code,
                model.WarehouseFromId,
                WarehouseFrom = _warehouseService.GetObjectById(model.WarehouseFromId).Name,
                model.WarehouseToId,
                WarehouseTo = _warehouseService.GetObjectById(model.WarehouseToId).Name,
                model.MutationDate,
                model.Errors
            }, JsonRequestBehavior.AllowGet));
        }
        public dynamic UnConfirm(WarehouseMutationOrder model)
        {
            try
            {
                if (!AuthenticationModel.IsAllowed("UnConfirm", 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 UnConfirm record");

                    return(Json(new
                    {
                        Errors
                    }, JsonRequestBehavior.AllowGet));
                }

                var data = _warehouseMutationOrderService.GetObjectById(model.Id);
                model = _warehouseMutationOrderService.UnconfirmObject(data, _warehouseMutationOrderDetailService, _itemService, _barringService, _warehouseItemService, _stockMutationService);
            }
            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 bool ValidUnconfirmObject(WarehouseMutationOrder warehouseMutationOrder, IWarehouseMutationOrderService _warehouseMutationOrderService, IWarehouseMutationOrderDetailService _warehouseMutationOrderDetailService,
                                  IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService)
 {
     warehouseMutationOrder.Errors.Clear();
     VUnconfirmObject(warehouseMutationOrder, _warehouseMutationOrderService, _warehouseMutationOrderDetailService, _itemService, _barringService, _warehouseItemService);
     return(isValid(warehouseMutationOrder));
 }
 public WarehouseMutationOrder VHasMutationDate(WarehouseMutationOrder warehouseMutationOrder)
 {
     if (warehouseMutationOrder.MutationDate == null)
     {
         warehouseMutationOrder.Errors.Add("MutationDate", "Tidak boleh kosong");
     }
     return(warehouseMutationOrder);
 }
 public WarehouseMutationOrder VHasConfirmationDate(WarehouseMutationOrder obj)
 {
     if (obj.ConfirmationDate == null)
     {
         obj.Errors.Add("ConfirmationDate", "Tidak boleh kosong");
     }
     return(obj);
 }
 public WarehouseMutationOrder VHasBeenConfirmed(WarehouseMutationOrder warehouseMutationOrder)
 {
     if (!warehouseMutationOrder.IsConfirmed)
     {
         warehouseMutationOrder.Errors.Add("Generic", "Harus sudah dikonfirmasi");
     }
     return(warehouseMutationOrder);
 }
 public WarehouseMutationOrder VHasDifferentWarehouse(WarehouseMutationOrder warehouseMutationOrder)
 {
     if (warehouseMutationOrder.WarehouseFromId == warehouseMutationOrder.WarehouseToId)
     {
         warehouseMutationOrder.Errors.Add("Generic", "Warehouse sebelum dan sesudah tidak boleh sama");
     }
     return(warehouseMutationOrder);
 }
 public WarehouseMutationOrder VHasNotBeenConfirmed(WarehouseMutationOrder warehouseMutationOrder)
 {
     if (warehouseMutationOrder.IsConfirmed)
     {
         warehouseMutationOrder.Errors.Add("Generic", "Tidak boleh sudah dikonfirmasi");
     }
     return(warehouseMutationOrder);
 }
        public WarehouseMutationOrder VHasWarehouseMutationOrderDetails(WarehouseMutationOrder warehouseMutationOrder, IWarehouseMutationOrderDetailService _warehouseMutationOrderDetailService)
        {
            IList <WarehouseMutationOrderDetail> details = _warehouseMutationOrderDetailService.GetObjectsByWarehouseMutationOrderId(warehouseMutationOrder.Id);

            if (!details.Any())
            {
                warehouseMutationOrder.Errors.Add("Generic", "Harus memiliki WarehouseMutationOrder Details");
            }
            return(warehouseMutationOrder);
        }
        public WarehouseMutationOrder VDontHaveDetails(WarehouseMutationOrder warehouseMutationOrder, IWarehouseMutationOrderDetailService _warehouseMutationOrderDetailService)
        {
            IList <WarehouseMutationOrderDetail> details = _warehouseMutationOrderDetailService.GetObjectsByWarehouseMutationOrderId(warehouseMutationOrder.Id);

            if (details.Any())
            {
                warehouseMutationOrder.Errors.Add("Generic", "Tidak boleh memiliki WarehouseMutationOrder Details");
            }
            return(warehouseMutationOrder);
        }
        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 WarehouseMutationOrder VDeleteObject(WarehouseMutationOrder warehouseMutationOrder, IWarehouseMutationOrderDetailService _warehouseMutationOrderDetailService)
 {
     VHasNotBeenConfirmed(warehouseMutationOrder);
     if (!isValid(warehouseMutationOrder))
     {
         return(warehouseMutationOrder);
     }
     VDontHaveDetails(warehouseMutationOrder, _warehouseMutationOrderDetailService);
     return(warehouseMutationOrder);
 }
 public WarehouseMutationOrder VUpdateObject(WarehouseMutationOrder warehouseMutationOrder, IWarehouseService _warehouseService)
 {
     VHasNotBeenConfirmed(warehouseMutationOrder);
     if (!isValid(warehouseMutationOrder))
     {
         return(warehouseMutationOrder);
     }
     VCreateObject(warehouseMutationOrder, _warehouseService);
     return(warehouseMutationOrder);
 }
        public WarehouseMutationOrder VHasWarehouseTo(WarehouseMutationOrder warehouseMutationOrder, IWarehouseService _warehouseService)
        {
            Warehouse warehouseTo = _warehouseService.GetObjectById(warehouseMutationOrder.WarehouseToId);

            if (warehouseTo == null)
            {
                warehouseMutationOrder.Errors.Add("WarehouseToId", "Tidak terasosiasi dengan warehouse");
            }
            return(warehouseMutationOrder);
        }
        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 string PrintError(WarehouseMutationOrder 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 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);
        }
Exemplo n.º 20
0
 public WarehouseMutationOrder VCreateObject(WarehouseMutationOrder warehouseMutationOrder, IWarehouseService _warehouseService)
 {
     VHasDifferentWarehouse(warehouseMutationOrder);
     if (!isValid(warehouseMutationOrder))
     {
         return(warehouseMutationOrder);
     }
     VHasWarehouseFrom(warehouseMutationOrder, _warehouseService);
     if (!isValid(warehouseMutationOrder))
     {
         return(warehouseMutationOrder);
     }
     VHasWarehouseTo(warehouseMutationOrder, _warehouseService);
     return(warehouseMutationOrder);
 }
        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 WarehouseMutationOrder VDetailsAreVerifiedConfirmable(WarehouseMutationOrder warehouseMutationOrder, IWarehouseMutationOrderService _warehouseMutationOrderService, IWarehouseMutationOrderDetailService _warehouseMutationOrderDetailService,
                                                                     IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService)
        {
            IList <WarehouseMutationOrderDetail> details = _warehouseMutationOrderDetailService.GetObjectsByWarehouseMutationOrderId(warehouseMutationOrder.Id);

            foreach (var detail in details)
            {
                WarehouseItem warehouseItemFrom = _warehouseItemService.FindOrCreateObject(warehouseMutationOrder.WarehouseFromId, detail.ItemId);
                if (warehouseItemFrom.Quantity < detail.Quantity)
                {
                    warehouseMutationOrder.Errors.Add("Generic", "Stock barang tidak boleh kurang dari stock yang akan dimutasikan");
                    return(warehouseMutationOrder);
                }
            }
            return(warehouseMutationOrder);
        }
 public WarehouseMutationOrder UnconfirmObject(WarehouseMutationOrder warehouseMutationOrder, IWarehouseMutationOrderDetailService _warehouseMutationOrderDetailService,
                                               IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService,
                                               IStockMutationService _stockMutationService)
 {
     if (_validator.ValidUnconfirmObject(warehouseMutationOrder, this, _warehouseMutationOrderDetailService,
                                         _itemService, _barringService, _warehouseItemService))
     {
         IList <WarehouseMutationOrderDetail> warehouseMutationOrderDetails = _warehouseMutationOrderDetailService.GetObjectsByWarehouseMutationOrderId(warehouseMutationOrder.Id);
         foreach (var detail in warehouseMutationOrderDetails)
         {
             detail.Errors = new Dictionary <string, string>();
             _warehouseMutationOrderDetailService.UnconfirmObject(detail, this, _itemService, _barringService, _warehouseItemService, _stockMutationService);
         }
         _repository.UnconfirmObject(warehouseMutationOrder);
     }
     return(warehouseMutationOrder);
 }
        public dynamic Insert(WarehouseMutationOrder model)
        {
            try
            {
                model = _warehouseMutationOrderService.CreateObject(model, _warehouseService);
            }
            catch (Exception ex)
            {
                LOG.Error("Insert Failed", ex);
                model.Errors.Add("Generic", "Error : " + ex);
            }

            return(Json(new
            {
                model.Errors
            }));
        }
        public dynamic Delete(WarehouseMutationOrder model)
        {
            try
            {
                var data = _warehouseMutationOrderService.GetObjectById(model.Id);
                model = _warehouseMutationOrderService.SoftDeleteObject(data);
            }
            catch (Exception ex)
            {
                LOG.Error("Delete Failed", ex);
                model.Errors.Add("Generic", "Error : " + ex);
            }

            return(Json(new
            {
                model.Errors
            }));
        }
        public dynamic UnConfirm(WarehouseMutationOrder model)
        {
            try
            {
                var data = _warehouseMutationOrderService.GetObjectById(model.Id);
                model = _warehouseMutationOrderService.UnconfirmObject(data, _warehouseMutationOrderDetailService, _itemService, _barringService, _warehouseItemService, _stockMutationService);
            }
            catch (Exception ex)
            {
                LOG.Error("Unconfirm Failed", ex);
                model.Errors.Add("Generic", "Error : " + ex);
            }

            return(Json(new
            {
                model.Errors
            }));
        }
Exemplo n.º 27
0
        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 dynamic Update(WarehouseMutationOrder model)
        {
            try
            {
                var data = _warehouseMutationOrderService.GetObjectById(model.Id);
                data.WarehouseFromId = model.WarehouseFromId;
                data.WarehouseToId   = model.WarehouseToId;
                model = _warehouseMutationOrderService.UpdateObject(data, _warehouseService);
            }
            catch (Exception ex)
            {
                LOG.Error("Update Failed", ex);
                model.Errors.Add("Generic", "Error : " + ex);
            }

            return(Json(new
            {
                model.Errors
            }));
        }
 public WarehouseMutationOrder VConfirmObject(WarehouseMutationOrder warehouseMutationOrder, IWarehouseMutationOrderService _warehouseMutationOrderService, IWarehouseMutationOrderDetailService _warehouseMutationOrderDetailService,
                                              IItemService _itemService, IBarringService _barringService, IWarehouseItemService _warehouseItemService)
 {
     VHasConfirmationDate(warehouseMutationOrder);
     if (!isValid(warehouseMutationOrder))
     {
         return(warehouseMutationOrder);
     }
     VHasNotBeenConfirmed(warehouseMutationOrder);
     if (!isValid(warehouseMutationOrder))
     {
         return(warehouseMutationOrder);
     }
     VHasWarehouseMutationOrderDetails(warehouseMutationOrder, _warehouseMutationOrderDetailService);
     if (!isValid(warehouseMutationOrder))
     {
         return(warehouseMutationOrder);
     }
     VDetailsAreVerifiedConfirmable(warehouseMutationOrder, _warehouseMutationOrderService, _warehouseMutationOrderDetailService, _itemService, _barringService, _warehouseItemService);
     return(warehouseMutationOrder);
 }
        public dynamic Update(WarehouseMutationOrder 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 = _warehouseMutationOrderService.GetObjectById(model.Id);
                data.WarehouseFromId = model.WarehouseFromId;
                data.WarehouseToId   = model.WarehouseToId;
                data.MutationDate    = model.MutationDate;
                model = _warehouseMutationOrderService.UpdateObject(data, _warehouseService);
            }
            catch (Exception ex)
            {
                LOG.Error("Update 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
            }));
        }