// GET: Confirmation public ActionResult Index(ConfirmSorting sortOrder = ConfirmSorting.date_desc, ConfirmType ConfirmType = ConfirmType.All, int PageIndex = 1) { // Set sorting params ViewBag.CurrentSort = sortOrder; ViewBag.TypeSortParm = sortOrder == ConfirmSorting.type ? ConfirmSorting.type_desc : ConfirmSorting.type; ViewBag.DateSortParm = sortOrder == ConfirmSorting.date ? ConfirmSorting.date_desc : ConfirmSorting.date; ViewBag.SelectedType = ConfirmType; List <ConfirmType> ConfirmTypes = new List <ConfirmType>(); if (ConfirmType == ConfirmType.All) { if (User.IsInRole("SystemAdmin")) { ConfirmTypes = null; } if (User.IsInRole("AdminProfile")) { ConfirmTypes.Add(ConfirmType.NewArtist); ConfirmTypes.Add(ConfirmType.UpdateArtist); } if (User.IsInRole("AdminFinance")) { ConfirmTypes.Add(ConfirmType.PhonePurchase); } if (User.IsInRole("AdminMusicEditor") || User.IsInRole("AdminLabel")) { ConfirmTypes.Add(ConfirmType.NewMusic); ConfirmTypes.Add(ConfirmType.UpdateMusic); } } else { ConfirmTypes.Add(ConfirmType); } var res = service.GetBySearch(ConfirmTypes, new PagingRequest(PageIndex, RES_IN_PAGE), sortOrder); if (!res.Success) { return(Json(res.Message, JsonRequestBehavior.AllowGet)); } ViewBag.Page = PageIndex; ViewBag.TotalPages = res.TotalPages; return(View(new ConfirmationViewModel() { Confirmations = res.Entities, ConfirmType = ConfirmType })); }
public PagingResponse <Confirmation> GetBySearch(IList <ConfirmType> Types, PagingRequest pageRequest, ConfirmSorting sortOrder) { PagingResponse <Confirmation> res = new PagingResponse <Confirmation>(); try { var repositoryRes = (this._rep as ConfirmationRepository).GetBySearch(Types, pageRequest.ResultInPage, (pageRequest.Page - 1) * pageRequest.ResultInPage, sortOrder); res.Entities = repositoryRes.Entities; res.TotalResults = repositoryRes.TotalResults; res.ResultsInPage = pageRequest.ResultInPage; res.CurrPage = pageRequest.Page; res.Success = true; } catch (Exception e) { res.Success = false; res.Message = e.ToString(); } return(res); }
public RepositoryPagingResponse <Confirmation> GetBySearch(IList <ConfirmType> Types, int max, int skip, ConfirmSorting sortOrder) { RepositoryPagingResponse <Confirmation> res = new RepositoryPagingResponse <Confirmation>(); IQueryable <Confirmation> query = this.dbSet; if (Types != null) { query = query.Where(con => Types.Any(t => t == con.ConfirmType)); } res.TotalResults = query.Count(); // Sort by param switch (sortOrder) { case ConfirmSorting.type_desc: query = query.OrderByDescending(c => c.ConfirmType); break; case ConfirmSorting.date: query = query.OrderBy(c => c.DateUpdate); break; case ConfirmSorting.date_desc: query = query.OrderByDescending(c => c.DateUpdate); break; default: query = query.OrderBy(c => c.ConfirmType); break; } res.Entities = query .Skip(skip) .Take(max) .ToList() as IEnumerable <Confirmation>; return(res); }