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); }
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); }