コード例 #1
0
        public HttpResponseMessage Search(HttpRequestMessage request, int?page, int?pageSize, string filter = null)
        {
            int currentPage     = page.Value;
            int currentPageSize = pageSize.Value;
            CommissionedDetailsExtension commissionedDetailsExtension = new CommissionedDetailsExtension();

            return(CreateHttpResponse(request, () =>
            {
                HttpResponseMessage response = null;
                List <CommissionedDetailsExtension> commissionedemployees = null;
                int totalCommissionedEmployees = new int();

                if (!string.IsNullOrEmpty(filter))
                {
                    filter = filter.Trim().ToLower();

                    commissionedemployees = commissionedDetailsExtension.FindCommissionedEmployeeBy(filter)
                                            .OrderBy(c => c.ID)
                                            .Skip(currentPage * currentPageSize)
                                            .Take(currentPageSize)
                                            .ToList();

                    totalCommissionedEmployees = commissionedDetailsExtension.GetAllCommissionedEmployeesWithTypeDescription()
                                                 .Count();
                }
                else
                {
                    commissionedemployees = commissionedDetailsExtension.GetAllCommissionedEmployeesWithTypeDescription()
                                            .OrderBy(c => c.ID)
                                            .Skip(currentPage * currentPageSize)
                                            .Take(currentPageSize)
                                            .ToList();

                    totalCommissionedEmployees = commissionedDetailsExtension.GetAllCommissionedEmployeesWithTypeDescription().Count();
                }

                IEnumerable <CommissionedEmployeeDetailViewModel> commissionedemployeesVM = Mapper.Map <IEnumerable <CommissionedDetailsExtension>, IEnumerable <CommissionedEmployeeDetailViewModel> >(commissionedemployees);

                PaginationSet <CommissionedEmployeeDetailViewModel> pagedSet = new PaginationSet <CommissionedEmployeeDetailViewModel>()
                {
                    Page = currentPage,
                    TotalCount = totalCommissionedEmployees,
                    TotalPages = (int)Math.Ceiling((decimal)totalCommissionedEmployees / currentPageSize),
                    Items = commissionedemployeesVM
                };

                response = request.CreateResponse <PaginationSet <CommissionedEmployeeDetailViewModel> >(HttpStatusCode.OK, pagedSet);

                return response;
            }));
        }
コード例 #2
0
        public HttpResponseMessage OrderEmployees(HttpRequestMessage request, int orderid)
        {
            CommissionedDetailsExtension        commissionedDetailsExtension = new CommissionedDetailsExtension();
            List <CommissionedDetailsExtension> commissionedemployees        = new List <CommissionedDetailsExtension>();

            return(CreateHttpResponse(request, () =>
            {
                // List<int> employeeorderVM = new List<int>();
                HttpResponseMessage response = null;
                var orderemployees = _employeeordersRepository.GetAll().Where(ord => ord.OrderId == orderid).Select(emp => emp.CommissionedEmployeeId).ToList();


                foreach (var commissioneddetail in orderemployees)
                {
                    commissionedemployees.Add(commissionedDetailsExtension.SelectById(commissioneddetail));
                }

                response = request.CreateResponse <IEnumerable <CommissionedDetailsExtension> >(HttpStatusCode.OK, commissionedemployees);

                return response;
            }));
        }