Exemple #1
0
        public async Task <IActionResult> GetPagedMealOrderVerification([FromQuery] MealOrderVerificationParams mealOrderVerificationParams)
        {
            var mealOrderVerifications = await mealOrderVerificationRepository.GetPagedMealOrderVerification(mealOrderVerificationParams);

            var result = mapper.Map <IEnumerable <ViewMealOrderVerificationResource> >(mealOrderVerifications);

            Response.AddPagination(mealOrderVerifications.CurrentPage, mealOrderVerifications.PageSize, mealOrderVerifications.TotalCount, mealOrderVerifications.TotalPages);

            return(Ok(result));
        }
Exemple #2
0
        public async Task <IActionResult> GetMealVerificationReport([FromQuery] MealOrderVerificationParams mealVerificationParams)
        {
            var mealVerification = await mealOrderVerificationRepository.GetPagedMealOrderVerification(mealVerificationParams);

            var mealtypes = await mealtypeRepository.GetAll();

            var mealOrderResult = mapper.Map <IEnumerable <ViewMealOrderVerificationResource> >(mealVerification);
            var mealTypeResult  = mapper.Map <IEnumerable <ViewMealTypeResource> >(mealtypes);

            return(Ok(new
            {
                mealOrderResult,
                mealTypeResult
            }));
        }
        public async Task <PagedList <MealOrderVerification> > GetPagedMealOrderVerification(MealOrderVerificationParams mealOrderVerificationParams)
        {
            var mealOrderVerifications = context.MealOrderVerification
                                         .Include(m => m.MealOrderVerificationDetails)
                                         .AsQueryable();

            if (!string.IsNullOrEmpty(mealOrderVerificationParams.OrderNo))
            {
                mealOrderVerifications = mealOrderVerifications.Where(m => m.OrderNo.Contains(mealOrderVerificationParams.OrderNo, StringComparison.OrdinalIgnoreCase));
            }

            if (DateTime.Compare(mealOrderVerificationParams.OrderDate, new DateTime(01, 1, 1)) != 0)
            {
                mealOrderVerifications = mealOrderVerifications.Where(m => m.OrderDate.Date == mealOrderVerificationParams.OrderDate.Date);
            }

            if (DateTime.Compare(mealOrderVerificationParams.StartDate, new DateTime(01, 1, 1)) != 0 && DateTime.Compare(mealOrderVerificationParams.EndDate, new DateTime(01, 1, 1)) != 0)
            {
                mealOrderVerifications = mealOrderVerifications.Where(m => m.OrderDate.Date >= mealOrderVerificationParams.StartDate.Date && m.OrderDate.Date <= mealOrderVerificationParams.EndDate.Date);
            }

            // FIXME : OrderStatus = Closed, Open
            // if (mealOrderVerificationParams.OrderStatus)
            // {
            //   mealOrderVerifications = mealOrderVerifications.Where(m => m.OrderedStatus == mealVerificationParams.OrderedStatus);
            // }

            // Sort
            if (mealOrderVerificationParams.isDescending)
            {
                if (!string.IsNullOrEmpty(mealOrderVerificationParams.OrderBy))
                {
                    switch (mealOrderVerificationParams.OrderBy.ToLower())
                    {
                    case "orderno":
                        mealOrderVerifications = mealOrderVerifications.OrderByDescending(m => m.OrderNo);
                        break;

                    case "orderdate":
                        mealOrderVerifications = mealOrderVerifications.OrderByDescending(m => m.OrderDate);
                        break;

                    // FIXME : Orderstatus = Closed, Open
                    // case "orderstatus":
                    //   mealVerifications = mealVerifications.OrderByDescending(m => m.OrderedStatus);
                    //   break;
                    default:
                        mealOrderVerifications = mealOrderVerifications.OrderByDescending(m => m.OrderDate);
                        break;
                    }
                }
                else
                {
                    mealOrderVerifications = mealOrderVerifications.OrderByDescending(m => m.OrderDate);
                }
            }
            else
            {
                if (!string.IsNullOrEmpty(mealOrderVerificationParams.OrderBy))
                {
                    switch (mealOrderVerificationParams.OrderBy.ToLower())
                    {
                    case "orderno":
                        mealOrderVerifications = mealOrderVerifications.OrderBy(m => m.OrderNo);
                        break;

                    case "orderdate":
                        mealOrderVerifications = mealOrderVerifications.OrderBy(m => m.OrderDate);
                        break;

                    // FIXME : Orderstatus = Closed, Open
                    // case "orderstatus":
                    //   mealVerifications = mealVerifications.OrderBy(m => m.OrderedStatus);
                    //   break;
                    default:
                        mealOrderVerifications = mealOrderVerifications.OrderBy(m => m.OrderDate);
                        break;
                    }
                }
                else
                {
                    mealOrderVerifications = mealOrderVerifications.OrderBy(m => m.OrderDate);
                }
            }
            var mealOrderVerificationsToReturn = mealOrderVerifications.Include(m => m.MealOrderVerificationDetails);

            return(await PagedList <MealOrderVerification> .CreateAsync(mealOrderVerificationsToReturn, mealOrderVerificationParams.PageNumber, mealOrderVerificationParams.PageSize));
        }