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