Ejemplo n.º 1
0
        public async Task <IActionResult> DateRangeList([FromBody] SmartParkListDateRangeRequestViewModel model)
        {
            if (!ModelState.IsValid)
            {
                model = new SmartParkListDateRangeRequestViewModel
                {
                    DateFrom = DateTime.Today.AddDays(-6),
                    DateTo   = DateTime.Now
                };
            }

            var dateFrom = model.DateFrom;
            var dateTo   = model.DateTo;

            var serviceResult = await _entityService.GetAllAdminAsync(x => x.Date >= dateFrom && x.Date <= dateTo);

            if (serviceResult.IsValid)
            {
                return(Ok(SmartJsonResult <SmartParkListWithDateRangeViewModel <AdminOrderListItemViewModel> >
                          .Success(new SmartParkListWithDateRangeViewModel <AdminOrderListItemViewModel>
                {
                    ListItems = serviceResult.Result.Select(_mapper.Map <AdminOrderListItemViewModel>),
                    DateTo = model.DateTo,
                    DateFrom = model.DateFrom
                })));
            }
            return(BadRequest(SmartJsonResult <SmartParkListWithDateRangeViewModel <AdminOrderListItemViewModel> > .Failure(serviceResult.ValidationErrors)));
        }
        public async Task <IActionResult> OrderDateRangeList([FromBody] SmartParkListDateRangeRequestViewModel model)
        {
            if (!ModelState.IsValid)
            {
                model = new SmartParkListDateRangeRequestViewModel
                {
                    DateFrom = DateTime.Today.AddDays(-6),
                    DateTo   = DateTime.Now
                };
            }

            var dateFrom = model.DateFrom;
            var dateTo   = model.DateTo;

            // ReSharper disable once PossibleInvalidOperationException
            var userId = CurrentUser.UserId.Value;

            var serviceResult = await _orderService.GetAllAsync(x => x.Date >= dateFrom && x.Date <= dateTo && x.UserId == userId);

            if (serviceResult.IsValid)
            {
                return(Ok(SmartJsonResult <SmartParkListWithDateRangeViewModel <ShopOrderItemViewModel> >
                          .Success(new SmartParkListWithDateRangeViewModel <ShopOrderItemViewModel>
                {
                    ListItems = serviceResult.Result.OrderByDescending(x => x.Date).Select(_mapper.Map <ShopOrderItemViewModel>),
                    DateTo = model.DateTo,
                    DateFrom = model.DateFrom
                })));
            }
            return(BadRequest(SmartJsonResult <SmartParkListWithDateRangeViewModel <ShopOrderItemViewModel> > .Failure(serviceResult.ValidationErrors)));
        }