Esempio n. 1
0
        public JsonResult searchpurchaserequest(string prefix)
        {
            var _draw          = "1";
            var _start         = "0";
            var _length        = "10";
            var _sortColumn    = "Id";
            var _sortColumnDir = "asc";
            var _searchValue   = prefix;

            int _pageSize = _length != null?Convert.ToInt32(_length) : 0;

            int _skip = _start != null?Convert.ToInt32(_start) : 0;

            var request = new PurchaseRequestRequest
            {
                Draw          = _draw,
                SearchValue   = _searchValue,
                SortColumn    = _sortColumn,
                SortColumnDir = _sortColumnDir,
                PageSize      = _pageSize,
                Skip          = _skip
            };
            var response = new PurchaseRequestResponse();

            if (request.SearchValue != null)
            {
                response = new PurchaseRequestHandler(_unitOfWork).GetListData(request);
            }

            return(Json(new { data = response.Data, recordsFiltered = response.RecordsFiltered, recordsTotal = response.RecordsTotal, draw = response.Draw }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult CreateOrEditPurchaseRequestConfig()
        {
            PurchaseRequestResponse _response = new PurchaseRequestResponse();

            if (Request.QueryString["id"] != null)
            {
                var request = new PurchaseRequestConfigRequest
                {
                    Data = new PurchaseRequestConfigModel
                    {
                        Id = long.Parse(Request.QueryString["id"].ToString())
                    }
                };

                PurchaseRequestConfigResponse resp   = new PurchaseRequestConfigHandler(_unitOfWork).GetDetail(request);
                PurchaseRequestConfigModel    _model = resp.Entity;
                ViewBag.Response = _response;
                return(View(_model));
            }
            else
            {
                ViewBag.Response   = _response;
                ViewBag.ActionType = ClinicEnums.Action.Add;
                return(View());
            }
        }
Esempio n. 3
0
        public void Create(PurchaseRequestResponse _response)
        {
            var searchPredicate = PredicateBuilder.New <PurchaseOrder>(true);

            var purchaseorderrequest = new PurchaseOrderRequest
            {
                Data = Mapper.Map <PurchaseRequestModel, PurchaseOrderModel>(_response.Entity)
            };

            purchaseorderrequest.Data.approve           = null;
            purchaseorderrequest.Data.podate            = DateTime.Now;
            purchaseorderrequest.Data.Validasi          = null;
            purchaseorderrequest.Data.approveby         = null;
            purchaseorderrequest.Data.PurchaseRequestId = Convert.ToInt32(_response.Entity.Id);
            purchaseorderrequest.Data.Id = 0;

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

            purchaseorderrequest.Data.ponumber = "PO" + _response.Entity.Account.Organization + DateTime.Now.Year + DateTime.Now.Month + ponumber;
            purchaseorderrequest.Data.Account  = _response.Entity.Account;

            PurchaseOrderResponse purchaseorderresponse = new PurchaseOrderResponse();

            new PurchaseOrderValidator(_unitOfWork).Validate(purchaseorderrequest, out purchaseorderresponse);

            if (_response.Entity.purchaserequestdetailModels != null)
            {
                int i = 0;
                foreach (var item in _response.Entity.purchaserequestdetailModels)
                {
                    var purchaseorderdetailrequest = new PurchaseOrderDetailRequest
                    {
                        Data = Mapper.Map <PurchaseRequestDetailModel, PurchaseOrderDetailModel>(item)
                    };
                    purchaseorderdetailrequest.Data.PurchaseOrderId = Convert.ToInt32(purchaseorderresponse.Entity.Id);
                    purchaseorderdetailrequest.Data.Account         = _response.Entity.Account;
                    purchaseorderdetailrequest.Data.Id = 0;
                    //
                    var requestnamabarang = new ProductRequest
                    {
                        Data = new ProductModel
                        {
                            Id = Convert.ToInt32(item.ProductId)
                        }
                    };

                    ProductResponse namabarang = new ProductHandler(_unitOfWork).GetDetail(requestnamabarang);
                    purchaseorderdetailrequest.Data.namabarang = namabarang.Entity.Name;
                    PurchaseOrderDetailResponse _purchaseorderdetailresponse = new PurchaseOrderDetailResponse();
                    new PurchaseOrderDetailValidator(_unitOfWork).Validate(purchaseorderdetailrequest, out _purchaseorderdetailresponse);
                    i++;
                }
            }
        }
        public void Validate(PurchaseRequestRequest request, out PurchaseRequestResponse response)
        {
            response = new PurchaseRequestResponse();

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

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

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

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

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

                if (response.Status)
                {
                    response = new PurchaseRequestHandler(_unitOfWork).CreateOrEdit(request);
                }
            }
        }
        public JsonResult ApprovePurchaseRequest(int id)
        {
            PurchaseRequestResponse _response = new PurchaseRequestResponse();
            var request = new PurchaseRequestRequest
            {
                Data = new PurchaseRequestModel
                {
                    Id      = id,
                    Account = Session["UserLogon"] == null ? new AccountModel() : (AccountModel)Session["UserLogon"]
                },
                Action = ClinicEnums.Action.APPROVE.ToString()
            };

            new PurchaseRequestValidator(_unitOfWork).Validate(request, out _response);

            return(Json(new { Status = _response.Status, Message = _response.Message }, JsonRequestBehavior.AllowGet));
        }
        public JsonResult CreateOrEditPurchaseRequest(PurchaseRequestModel _purchaserequest, List <PurchaseRequestDetailModel> purchaserequestDetailModels)
        {
            if (Session["UserLogon"] != null)
            {
                _purchaserequest.Account = (AccountModel)Session["UserLogon"];
            }
            _purchaserequest.Id = Convert.ToInt32(_purchaserequest.Id) > 0 ? _purchaserequest.Id : 0;
            var gudangid = _unitOfWork.GudangRepository.Query(a => a.ClinicId == _purchaserequest.Account.ClinicID).Select(x => x.id).FirstOrDefault();

            _purchaserequest.GudangId = gudangid > 0 ? gudangid : 0;
            var request = new PurchaseRequestRequest
            {
                Data = _purchaserequest
            };

            PurchaseRequestResponse _response = new PurchaseRequestResponse();

            new PurchaseRequestValidator(_unitOfWork).Validate(request, out _response);
            if (purchaserequestDetailModels != null)
            {
                foreach (var item in purchaserequestDetailModels)
                {
                    var purchaserequestdetailrequest = new PurchaseRequestDetailRequest
                    {
                        Data = item
                    };
                    purchaserequestdetailrequest.Data.PurchaseRequestId = Convert.ToInt32(_response.Entity.Id);
                    purchaserequestdetailrequest.Data.Account           = (AccountModel)Session["UserLogon"];
                    //
                    var requestnamabarang = new ProductRequest
                    {
                        Data = new ProductModel
                        {
                            Id = Convert.ToInt32(item.ProductId)
                        }
                    };

                    ProductResponse namabarang = new ProductHandler(_unitOfWork).GetDetail(requestnamabarang);
                    purchaserequestdetailrequest.Data.namabarang = namabarang.Entity.Name;
                    PurchaseRequestDetailResponse _purchaserequestdetailresponse = new PurchaseRequestDetailResponse();
                    new PurchaseRequestDetailValidator(_unitOfWork).Validate(purchaserequestdetailrequest, out _purchaserequestdetailresponse);
                }
            }
            return(Json(new { data = _response.Data }, JsonRequestBehavior.AllowGet));
        }
        private void ValidateForDelete(PurchaseRequestRequest request, out PurchaseRequestResponse response)
        {
            response = new PurchaseRequestResponse();

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

            if (response.Status)
            {
                response = new PurchaseRequestHandler(_unitOfWork).RemoveData(request);
            }
        }
        public ActionResult CreateOrEditPurchaseRequest()
        {
            var      lastprnumber = _context.PurchaseRequests.OrderByDescending(x => x.CreatedDate).Select(a => a.prnumber).FirstOrDefault();
            DateTime?getmonth     = _context.PurchaseRequests.OrderByDescending(x => x.CreatedDate).Select(a => a.CreatedDate).FirstOrDefault();
            DateTime?month        = getmonth != null ? getmonth : DateTime.Now;
            string   prnumber     = lastprnumber != null?GeneralHandler.stringincrement(lastprnumber, Convert.ToDateTime(month)) : "00001";

            PurchaseRequestResponse _response = new PurchaseRequestResponse();

            if (Request.QueryString["id"] != null)
            {
                var request = new PurchaseRequestRequest
                {
                    Data = new PurchaseRequestModel
                    {
                        Id = long.Parse(Request.QueryString["id"].ToString())
                    }
                };

                PurchaseRequestResponse resp   = new PurchaseRequestHandler(_unitOfWork).GetDetail(request);
                PurchaseRequestModel    _model = resp.Entity;
                ViewBag.Response = _response;
                return(View(_model));
            }
            else
            {
                if ((GeneralHandler.authorized("ADD_M_PURCHASEREQUEST") == "false"))
                {
                    return(RedirectToAction("PurchaseRequestList"));
                }
                ViewBag.Response   = _response;
                ViewBag.ActionType = ClinicEnums.Action.Add;
                ViewBag.prnumber   = "PR" + ((AccountModel)Session["UserLogon"]).Organization + DateTime.Now.Year + DateTime.Now.Month + prnumber;
                return(View());
            }
        }
        public ActionResult PrintPurchaseRequest(int id)
        {
            PurchaseRequestResponse _response = new PurchaseRequestResponse();

            var request = new PurchaseRequestRequest
            {
                Data = new PurchaseRequestModel
                {
                    Id = id
                }
            };

            PurchaseRequestResponse resp   = new PurchaseRequestHandler(_unitOfWork).GetDetail(request);
            PurchaseRequestModel    _model = resp.Entity;

            ViewBag.Response = _response;
            return(new PartialViewAsPdf(_model)
            {
                PageOrientation = Orientation.Portrait,
                PageSize = Size.Folio,

                FileName = "PurchaseRequest" + _model.prnumber + ".pdf"
            });
        }