Ejemplo n.º 1
0
        public PurchaseOrderPusatResponse GetListData(PurchaseOrderPusatRequest request)
        {
            List <PurchaseOrderPusatModel> lists = new List <PurchaseOrderPusatModel>();
            dynamic qry             = null;
            var     searchPredicate = PredicateBuilder.New <Data.DataRepository.PurchaseOrderPusat>(true);

            // add default filter to show the active data only
            searchPredicate = searchPredicate.And(x => x.RowStatus == 0);
            if ((GeneralHandler.authorized("APPROVE_M_PURCHASEORDERPUSAT") == "false"))
            {
                searchPredicate.And(x => x.approve >= 1);
            }

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

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

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

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

            foreach (var item in qry)
            {
                var prData = new PurchaseOrderPusatModel
                {
                    Id = item.id,
                    PurchaseRequestId = item.PurchaseRequestId,
                    ponumber          = item.ponumber,
                    podate            = item.podate,
                    approve_by        = item.approve_by,
                    approve           = item.approve,
                    request_by        = item.request_by,
                    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 PurchaseOrderPusatResponse
            {
                Draw            = request.Draw,
                RecordsFiltered = totalRequest,
                RecordsTotal    = totalRequest,
                Data            = data
            };

            return(response);
        }
Ejemplo n.º 2
0
        public PurchaseRequestResponse GetListData(PurchaseRequestRequest request)
        {
            List <PurchaseRequestModel> lists = new List <PurchaseRequestModel>();
            dynamic qry             = null;
            var     searchPredicate = PredicateBuilder.New <Data.DataRepository.PurchaseRequest>(true);

            // add default filter to show the active data only
            searchPredicate = searchPredicate.And(x => x.RowStatus == 0 && x.GudangId == OneLoginSession.Account.GudangID);
            if ((GeneralHandler.authorized("APPROVE_M_PURCHASEREQUEST") == "false"))
            {
                searchPredicate.And(x => x.approve >= 1);
            }
            if (!String.IsNullOrEmpty(request.SearchValue) && !String.IsNullOrWhiteSpace(request.SearchValue))
            {
                searchPredicate = searchPredicate.And(p => p.prnumber.Contains(request.SearchValue));
            }

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

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

                    default:
                        qry = _unitOfWork.PurchaseRequestRepository.Get(searchPredicate, orderBy: q => q.OrderByDescending(x => x.id));
                        break;
                    }
                }
            }
            else
            {
                qry = _unitOfWork.PurchaseRequestRepository.Get(searchPredicate, null);
            }
            List <Data.DataRepository.PurchaseRequest> purchaseRequests = new List <Data.DataRepository.PurchaseRequest>();

            purchaseRequests = qry;

            foreach (var item in purchaseRequests)
            {
                var prData = new PurchaseRequestModel
                {
                    Id           = item.id,
                    prnumber     = item.prnumber,
                    prdate       = item.prdate,
                    approve_by   = item.approve_by,
                    approve      = item.approve,
                    request_by   = item.request_by,
                    ModifiedBy   = item.ModifiedBy,
                    CreatedBy    = item.CreatedBy,
                    ModifiedDate = item.ModifiedDate,
                    poid         = item.PurchaseOrders.Count > 0 ? item.PurchaseOrders.FirstOrDefault().id : 0,
                    doid         = item.PurchaseOrders.Count > 0 ? item.PurchaseOrders.FirstOrDefault().DeliveryOrders.Count > 0 ? item.PurchaseOrders.FirstOrDefault().DeliveryOrders.FirstOrDefault().id : 0 : 0,
                    ponumber     = item.PurchaseOrders.Count > 0 ? item.PurchaseOrders.FirstOrDefault().ponumber : "",
                    createpo     = item.PurchaseOrders.Count > 0 ? GeneralHandler.FormatDate(Convert.ToDateTime(item.PurchaseOrders.FirstOrDefault().podate)) : null,
                    donumber     = item.PurchaseOrders.Count > 0 ? item.PurchaseOrders.FirstOrDefault().DeliveryOrders.Count > 0 ? item.PurchaseOrders.FirstOrDefault().DeliveryOrders.FirstOrDefault().donumber : "" : "",
                    createdo     = item.PurchaseOrders.Count > 0 ? item.PurchaseOrders.FirstOrDefault().DeliveryOrders.Count > 0 ? GeneralHandler.FormatDate(Convert.ToDateTime(item.PurchaseOrders.FirstOrDefault().DeliveryOrders.FirstOrDefault().dodate)) : null : null,
                    Validasi     = item.Validasi,
                    Recived      = item.PurchaseOrders.Count > 0 ? item.PurchaseOrders.FirstOrDefault().DeliveryOrders.Count > 0 ? item.PurchaseOrders.FirstOrDefault().DeliveryOrders.FirstOrDefault().Recived : 0 : 0,
                    namaklinik   = _context.Users.Where(x => x.UserName == item.request_by).FirstOrDefault().Organization.Clinic != null?_context.Users.Where(x => x.UserName == item.request_by).FirstOrDefault().Organization.Clinic.Name : "",
                    createformat = GeneralHandler.FormatDate(Convert.ToDateTime(item.CreatedDate)),
                    Account      = OneLoginSession.Account,
                    status       = GeneralHandler.PurchaseRequestStatus(item.id),
                };

                lists.Add(prData);
            }

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

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

            return(response);
        }