예제 #1
0
        public ActionResult EditDeliveryOrderDetail(DeliveryOrderPusatDetailModel deliveryorderPusatDetail)
        {
            if (Session["UserLogon"] != null)
            {
                deliveryorderPusatDetail.Account = (AccountModel)Session["UserLogon"];
            }
            DeliveryOrderPusatDetailResponse _deliveryorderpusatdetailresponse = new DeliveryOrderPusatDetailResponse();
            var deliveryorderpusatdetailrequest = new DeliveryOrderPusatDetailRequest
            {
                Data = deliveryorderPusatDetail
            };
            var requestnamabarang = new ProductRequest
            {
                Data = new ProductModel
                {
                    Id = Convert.ToInt32(deliveryorderPusatDetail.ProductId)
                }
            };

            var requestnamavendor = new VendorRequest
            {
                Data = new VendorModel
                {
                    Id = deliveryorderPusatDetail.VendorId
                }
            };

            ProductResponse namabarang = new ProductHandler(_unitOfWork).GetDetail(requestnamabarang);
            VendorResponse  namavendor = new VendorHandler(_unitOfWork).GetDetail(requestnamavendor);

            deliveryorderpusatdetailrequest.Data.namabarang = deliveryorderpusatdetailrequest.Data.namabarang != null ? deliveryorderpusatdetailrequest.Data.namabarang : namabarang.Entity.Name;
            deliveryorderpusatdetailrequest.Data.namavendor = namavendor.Entity.namavendor;
            new DeliveryOrderPusatDetailValidator(_unitOfWork).Validate(deliveryorderpusatdetailrequest, out _deliveryorderpusatdetailresponse);
            return(Json(new { data = _deliveryorderpusatdetailresponse.Data }, JsonRequestBehavior.AllowGet));
        }
예제 #2
0
        public void Create(PurchaseOrderPusatResponse _response)
        {
            var searchPredicate = PredicateBuilder.New <DeliveryOrderPusat>(true);

            var deliveryorderpusatrequest = new DeliveryOrderPusatRequest
            {
                Data = Mapper.Map <PurchaseOrderPusatModel, DeliveryOrderPusatModel>(_response.Entity)
            };

            deliveryorderpusatrequest.Data.approve    = null;
            deliveryorderpusatrequest.Data.podate     = DateTime.Now;
            deliveryorderpusatrequest.Data.Validasi   = null;
            deliveryorderpusatrequest.Data.approve_by = null;
            deliveryorderpusatrequest.Data.poid       = Convert.ToInt32(_response.Entity.Id);
            deliveryorderpusatrequest.Data.Id         = 0;

            var      lastponumber = _unitOfWork.DeliveryOrderPusatRepository.Get(searchPredicate, orderBy: a => a.OrderByDescending(x => x.CreatedDate)).Select(a => a.donumber).FirstOrDefault();
            DateTime?getmonth     = _unitOfWork.DeliveryOrderPusatRepository.Get(searchPredicate, orderBy: a => a.OrderByDescending(x => x.CreatedDate)).Select(a => a.dodate).FirstOrDefault();
            DateTime?month        = getmonth != null ? getmonth : DateTime.Now;
            string   ponumber     = lastponumber != null?GeneralHandler.stringincrement(lastponumber, Convert.ToDateTime(month)) : "00001";

            deliveryorderpusatrequest.Data.donumber = "DO" + _response.Entity.Account.Organization + DateTime.Now.Year + DateTime.Now.Month + ponumber;
            deliveryorderpusatrequest.Data.Account  = _response.Entity.Account;

            DeliveryOrderPusatResponse purchaseorderresponse = new DeliveryOrderPusatResponse();

            new DeliveryOrderPusatValidator(_unitOfWork).Validate(deliveryorderpusatrequest, out purchaseorderresponse);

            if (_response.Entity.purchaseOrderdetailpusatModels != null)
            {
                int i = 0;
                foreach (var item in _response.Entity.purchaseOrderdetailpusatModels)
                {
                    var deliveryorderdetailrequest = new DeliveryOrderPusatDetailRequest
                    {
                        Data = Mapper.Map <PurchaseOrderPusatDetailModel, DeliveryOrderPusatDetailModel>(item)
                    };
                    deliveryorderdetailrequest.Data.DeliveryOrderPusatId = Convert.ToInt32(purchaseorderresponse.Entity.Id);
                    deliveryorderdetailrequest.Data.Account = _response.Entity.Account;
                    deliveryorderdetailrequest.Data.Id      = 0;
                    //
                    var requestnamabarang = new ProductRequest
                    {
                        Data = new ProductModel
                        {
                            Id = Convert.ToInt32(item.ProductId)
                        }
                    };

                    ProductResponse namabarang = new ProductHandler(_unitOfWork).GetDetail(requestnamabarang);
                    deliveryorderdetailrequest.Data.namabarang = namabarang.Entity.Name;
                    DeliveryOrderPusatDetailResponse _purchaseorderdetailresponse = new DeliveryOrderPusatDetailResponse();
                    new DeliveryOrderPusatDetailValidator(_unitOfWork).Validate(deliveryorderdetailrequest, out _purchaseorderdetailresponse);
                    i++;
                }
            }
        }
예제 #3
0
        public JsonResult CreateOrEditDeliveryOrderPusat(DeliveryOrderPusatModel _deliveryorderpusat, List <DeliveryOrderPusatDetailModel> deliveryderpusatDetailModels)
        {
            if (Session["UserLogon"] != null)
            {
                _deliveryorderpusat.Account = (AccountModel)Session["UserLogon"];
            }
            _deliveryorderpusat.Id = Convert.ToInt32(_deliveryorderpusat.Id) > 0 ? _deliveryorderpusat.Id : 0;
            var request = new DeliveryOrderPusatRequest
            {
                Data = _deliveryorderpusat
            };

            DeliveryOrderPusatResponse _response = new DeliveryOrderPusatResponse();

            new DeliveryOrderPusatValidator(_unitOfWork).Validate(request, out _response);
            if (deliveryderpusatDetailModels != null)
            {
                foreach (var item in deliveryderpusatDetailModels)
                {
                    var deliveryorderpusatdetailrequest = new DeliveryOrderPusatDetailRequest
                    {
                        Data = item
                    };
                    deliveryorderpusatdetailrequest.Data.DeliveryOrderPusatId = Convert.ToInt32(_response.Entity.Id);
                    deliveryorderpusatdetailrequest.Data.Account = (AccountModel)Session["UserLogon"];
                    //
                    var requestnamabarang = new ProductRequest
                    {
                        Data = new ProductModel
                        {
                            Id = item.ProductId
                        }
                    };

                    var requestnamavendor = new VendorRequest
                    {
                        Data = new VendorModel
                        {
                            Id = item.VendorId
                        }
                    };

                    ProductResponse namabarang = new ProductHandler(_unitOfWork).GetDetail(requestnamabarang);
                    VendorResponse  namavendor = new VendorHandler(_unitOfWork).GetDetail(requestnamavendor);
                    deliveryorderpusatdetailrequest.Data.namabarang = namabarang.Entity.Name;
                    deliveryorderpusatdetailrequest.Data.namavendor = namavendor.Entity.namavendor;
                    DeliveryOrderPusatDetailResponse _deliveryorderpusatdetailresponse = new DeliveryOrderPusatDetailResponse();
                    new DeliveryOrderPusatDetailValidator(_unitOfWork).Validate(deliveryorderpusatdetailrequest, out _deliveryorderpusatdetailresponse);
                }
            }
            return(Json(new { data = _response.Data }, JsonRequestBehavior.AllowGet));
        }
        public void Validate(DeliveryOrderPusatDetailRequest request, out DeliveryOrderPusatDetailResponse response)
        {
            response = new DeliveryOrderPusatDetailResponse();

            if (request.Action != null && request.Action.Equals(ClinicEnums.Action.DELETE.ToString()))
            {
                ValidateForDelete(request, out response);
            }
            else
            {
                bool isHavePrivilege = true;

                if (request.Data.namabarang == null || String.IsNullOrWhiteSpace(request.Data.namabarang))
                {
                    errorFields.Add("namabarang");
                }

                if (errorFields.Any())
                {
                    response.Status  = false;
                    response.Message = string.Format(Messages.ValidationErrorFields, String.Join(",", errorFields));
                }

                if (request.Data.Id == 0)
                {
                    isHavePrivilege = IsHaveAuthorization(ADD_PRIVILEGE_NAME, request.Data.Account.Privileges.PrivilegeIDs);
                }
                else
                {
                    isHavePrivilege = IsHaveAuthorization(EDIT_PRIVILEGE_NAME, request.Data.Account.Privileges.PrivilegeIDs);
                }

                if (!isHavePrivilege)
                {
                    response.Status  = false;
                    response.Message = Messages.UnauthorizedAccess;
                }

                if (response.Status)
                {
                    response = new DeliveryOrderPusatDetailHandler(_unitOfWork).CreateOrEdit(request);
                }
            }
        }
        private void ValidateForDelete(DeliveryOrderPusatDetailRequest request, out DeliveryOrderPusatDetailResponse response)
        {
            response = new DeliveryOrderPusatDetailResponse();

            if (request.Action == ClinicEnums.Action.DELETE.ToString())
            {
                bool isHavePrivilege = IsHaveAuthorization(DELETE_PRIVILEGE_NAME, request.Data.Account.Privileges.PrivilegeIDs);
                if (!isHavePrivilege)
                {
                    response.Status  = false;
                    response.Message = Messages.UnauthorizedAccess;
                }
            }

            if (response.Status)
            {
                //response = new DeliveryOrderHandler(_unitOfWork).RemoveData(request);
            }
        }