public ActionResult CreateOrEditDeliveryOrder()
        {
            var      lastprnumber = _context.DeliveryOrderPusats.OrderByDescending(x => x.CreatedDate).Select(a => a.donumber).FirstOrDefault();
            DateTime?getmonth     = _context.DeliveryOrderPusats.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";

            DeliveryOrderPusatResponse _response = new DeliveryOrderPusatResponse();

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

                DeliveryOrderPusatResponse resp   = new DeliveryOrderPusatHandler(_unitOfWork).GetDetail(request);
                DeliveryOrderPusatModel    _model = resp.Entity;
                ViewBag.Response = _response;
                return(View(_model));
            }
            else
            {
                ViewBag.Response   = _response;
                ViewBag.ActionType = ClinicEnums.Action.Add;
                ViewBag.prnumber   = "DO" + ((AccountModel)Session["UserLogon"]).Organization + DateTime.Now.Year + DateTime.Now.Month + prnumber;
                return(View());
            }
        }
Beispiel #2
0
        public ActionResult CreateOrEditDeliveryOrderPusat()
        {
            DeliveryOrderPusatResponse _response = new DeliveryOrderPusatResponse();

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

                DeliveryOrderPusatResponse resp   = new DeliveryOrderPusatHandler(_unitOfWork).GetDetail(request);
                DeliveryOrderPusatModel    _model = resp.Entity;
                ViewBag.Response = _response;
                return(View(_model));
            }
            else
            {
                ViewBag.Response   = _response;
                ViewBag.ActionType = ClinicEnums.Action.Add;
                return(View());
            }
        }
        public JsonResult ReceivedDeliveryOrder(int id)
        {
            DeliveryOrderPusatResponse _response = new DeliveryOrderPusatResponse();

            var request = new DeliveryOrderPusatRequest
            {
                Data = new DeliveryOrderPusatModel
                {
                    Id = id
                }
            };

            DeliveryOrderPusatResponse resp = new DeliveryOrderPusatHandler(_unitOfWork).GetDetail(request);

            resp.Entity.Account  = (AccountModel)Session["UserLogon"];
            resp.Entity.Recived  = 1;
            resp.Entity.Validasi = 1;
            var receiveddeliveryorder = new DeliveryOrderPusatRequest
            {
                Data = resp.Entity
            };

            new DeliveryOrderPusatHandler(_unitOfWork).ApproveData(receiveddeliveryorder);
            new DeliveryOrderPusatValidator(_unitOfWork).Validate(receiveddeliveryorder, out _response);
            DeliveryOrderPusatModel _model = resp.Entity;

            foreach (var item in resp.Entity.deliveryOrderDetailpusatModels)
            {
                var requestproductingudang = new ProductInGudangRequest
                {
                    Data = new ProductInGudangModel
                    {
                        Account   = (AccountModel)Session["UserLogon"],
                        stock     = Convert.ToInt32(item.qty_final) > 0 ? Convert.ToInt32(item.qty_final) : Convert.ToInt32(item.qty_final),
                        GudangId  = _model.GudangId,
                        ProductId = item.ProductId
                    }
                };

                var requesthistoryproductingudang = new HistoryProductInGudangRequest
                {
                    Data = new HistoryProductInGudangModel
                    {
                        Account   = (AccountModel)Session["UserLogon"],
                        value     = Convert.ToInt32(item.qty_final) > 0 ? Convert.ToInt32(item.qty_final) : Convert.ToInt32(item.qty_final),
                        GudangId  = Convert.ToInt32(_model.GudangId),
                        ProductId = item.ProductId
                    }
                };

                var saveproductingudang        = new ProductInGudangHandler(_unitOfWork).CreateOrEdit(requestproductingudang);
                var savehistoryproductingudang = new HistoryProductInGudangHandler(_unitOfWork).CreateOrEdit(requesthistoryproductingudang);
            }
            return(Json(new { Status = _response.Status }, JsonRequestBehavior.AllowGet));
        }
        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 ActionResult PrintDeliveryOrderPusat(int id)
        {
            DeliveryOrderPusatResponse _response = new DeliveryOrderPusatResponse();

            var request = new DeliveryOrderPusatRequest
            {
                Data = new DeliveryOrderPusatModel
                {
                    Id = id
                }
            };

            DeliveryOrderPusatResponse resp   = new DeliveryOrderPusatHandler(_unitOfWork).GetDetail(request);
            DeliveryOrderPusatModel    _model = resp.Entity;

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

                FileName = "DeliveryOrderPusat" + _model.donumber + ".pdf"
            });
        }
Beispiel #6
0
        public DeliveryOrderPusatResponse GetListData(DeliveryOrderPusatRequest request)
        {
            List <DeliveryOrderPusatModel> lists = new List <DeliveryOrderPusatModel>();
            dynamic qry             = null;
            var     searchPredicate = PredicateBuilder.New <DeliveryOrderPusat>(true);

            // add default filter to show the active data only
            searchPredicate = searchPredicate.And(x => x.RowStatus == 0);

            if (!String.IsNullOrEmpty(request.SearchValue) && !String.IsNullOrWhiteSpace(request.SearchValue))
            {
                searchPredicate = searchPredicate.And(p => p.donumber.Contains(request.SearchValue));
            }

            if (!(string.IsNullOrEmpty(request.SortColumn) && string.IsNullOrEmpty(request.SortColumnDir)))
            {
                if (request.SortColumnDir == "asc")
                {
                    switch (request.SortColumn.ToLower())
                    {
                    case "donumber":
                        qry = _unitOfWork.DeliveryOrderPusatRepository.Get(searchPredicate, orderBy: q => q.OrderBy(x => x.donumber));
                        break;

                    default:
                        qry = _unitOfWork.DeliveryOrderPusatRepository.Get(searchPredicate, orderBy: q => q.OrderBy(x => x.id));
                        break;
                    }
                }
                else
                {
                    switch (request.SortColumn.ToLower())
                    {
                    case "donumber":
                        qry = _unitOfWork.DeliveryOrderPusatRepository.Get(searchPredicate, orderBy: q => q.OrderByDescending(x => x.donumber));
                        break;

                    default:
                        qry = _unitOfWork.DeliveryOrderPusatRepository.Get(searchPredicate, orderBy: q => q.OrderByDescending(x => x.id));
                        break;
                    }
                }
            }
            else
            {
                qry = _unitOfWork.DeliveryOrderPusatRepository.Get(searchPredicate, null);
            }

            foreach (var item in qry)
            {
                var prData = new DeliveryOrderPusatModel
                {
                    Id           = item.id,
                    poid         = item.poid,
                    donumber     = item.donumber,
                    dodate       = item.dodate,
                    dodest       = item.dodest,
                    approve_by   = item.approve_by,
                    approve      = item.approve,
                    ModifiedBy   = item.ModifiedBy,
                    CreatedBy    = item.CreatedBy,
                    ModifiedDate = item.ModifiedDate,
                    createformat = GeneralHandler.FormatDate(item.CreatedDate),
                };

                lists.Add(prData);
            }

            int totalRequest = lists.Count();
            var data         = lists.Skip(request.Skip).Take(request.PageSize).ToList();

            var response = new DeliveryOrderPusatResponse
            {
                Draw            = request.Draw,
                RecordsFiltered = totalRequest,
                RecordsTotal    = totalRequest,
                Data            = data
            };

            return(response);
        }