예제 #1
0
        public ActionResult Index(int?customerId, FacilityRequestViewModel collection)
        {
            var request = new FilteredModel <ServiceRequest>
            {
                PageIndex = collection.ThisPageIndex,
                Order     = collection.PageOrder,
                OrderBy   = collection.PageOrderBy
            };
            var mappedModel = _mapper.Map <ServiceRequest>(collection);

            if (!collection.Latitude.HasValue || !collection.Longitude.HasValue)
            {
                mappedModel.Location = null;
            }
            var offset = (request.PageIndex - 1) * request.PageSize;

            mappedModel.StartTime = mappedModel.EndTime = null;
            mappedModel.Location  = null;
            var result = _mapper.Map <IList <FacilityRequestViewModel> >(_facilityRequestService.GetPaging(mappedModel, out long totalCount, request.OrderBy, request.Order, offset, request.PageSize));

            if (!result.Any() && totalCount > 0 && request.PageIndex > 1)
            {
                request.PageIndex = (int)(totalCount / request.PageSize);
                if (totalCount % request.PageSize > 0)
                {
                    request.PageIndex++;
                }
                result = _mapper.Map <IList <FacilityRequestViewModel> >(_facilityRequestService.GetPaging(mappedModel, out totalCount, request.OrderBy, request.Order, offset, request.PageSize));
            }
            ViewBag.OnePageOfEntries = new StaticPagedList <FacilityRequestViewModel>(result, request.PageIndex, request.PageSize, (int)totalCount);
            ViewBag.SearchModel      = collection;
            ViewBag.CustomerId       = collection.CustomerId;
            return(View());
        }
예제 #2
0
 public ActionResult Edit(int id, FacilityRequestViewModel collection)
 {
     try
     {
         if (id > 0)
         {
             if (ModelState.IsValid)
             {
                 var model = _mapper.Map <ServiceRequest>(collection);
                 _facilityRequestService.Update(model);
                 return(RedirectToAction("Index", new { customerId = collection.CustomerId }));
             }
             else
             {
                 ModelState.AddModelError(string.Empty, GeneralMessages.DefectiveEntry);
             }
         }
         else
         {
             ModelState.AddModelError(string.Empty, GeneralMessages.EmptyId);
         }
     }
     catch (Exception ex)
     {
         _logger.Error(ex);
         if (ex.InnerException != null && ex.InnerException.Source.Equals(GeneralMessages.ExceptionSource))
         {
             ModelState.AddModelError(string.Empty, ex.Message);
         }
         else
         {
             ModelState.AddModelError(string.Empty, GeneralMessages.UnexpectedError);
         }
     }
     return(View(collection));
 }