public PartialViewResult GetEditFormAsPartialView(string id) { HttpContext.Response.Expires = -1; HttpContext.Response.Cache.SetNoServerCaching(); Response.Cache.SetAllowResponseInBrowserHistory(false); Response.CacheControl = "no-cache"; Response.Cache.SetNoStore(); var userRowKey = (Membership.GetUser().ProviderUserKey as string); if (id != null) { var cleanid = id.Replace("#", string.Empty);//cleanup id string var request = new BuyerRequestRepository().GetByRowKey(cleanid); if (request != null) { return(PartialView(new BuyerRequestViewModel { RequestData = request })); } else { var blankRequest = new BuyerRequestViewModel { RequestData = new BuyerRequestModel() }; return(PartialView(blankRequest)); } } else//return default blank request form { var request = new BuyerRequestModel(userRowKey, "My New Request", "None", "Please enter a description...", 0, DateTime.UtcNow.AddDays(30), string.Empty);//CompanyRowKey <==> UserRowkey return(PartialView(new BuyerRequestViewModel { RequestData = request })); } }
public ActionResult Index(string search, string sortOrder, int brpage = 1) { ViewBag.BuyReq = "active"; ViewBag.Class = "white-nav"; ViewBag.pageNumber = brpage; //For Sorting ViewBag.TitleSortParm = sortOrder == "Title" ? "Title_desc" : "Title"; ViewBag.CategorySortParm = sortOrder == "Category" ? "Category_desc" : "Category"; ViewBag.BEmailSortParm = sortOrder == "Email" ? "Email_desc" : "Email"; ViewBag.PhoneSortParm = sortOrder == "Phone" ? "Phone_desc" : "Phone"; ViewBag.DateSortParm = sortOrder == "Date" ? "Date_desc" : "Date"; ViewBag.PriceSortParm = sortOrder == "Price" ? "Price_desc" : "Price"; BuyerRequestModel buyerRequest = new BuyerRequestModel(); //Auth user var user = db.Users.Where(x => x.Email == User.Identity.Name).FirstOrDefault(); //Buyerrequest Query var buyerrequestmodel = from dwl in db.Downloads join ur in db.Users on dwl.Downloader equals ur.ID join up in db.UserProfiles on dwl.Downloader equals up.UserID where dwl.Seller == user.ID && dwl.IsSellerHasAllowedDownload == false select new BuyerRequestModel { Downloadstbl = dwl, UserProfiletbl = up, Userstbl = ur }; //If Search not Null if (!string.IsNullOrEmpty(search)) { buyerrequestmodel = buyerrequestmodel.Where(x => x.Downloadstbl.NoteTitle.Contains(search) || x.Downloadstbl.NoteCategory.Contains(search) || x.Userstbl.FirstName.Contains(search) || x.Userstbl.LastName.Contains(search) || x.Userstbl.Email.Contains(search) || x.UserProfiletbl.PhoneNumber.Contains(search)); } //Sorting switch (sortOrder) { case "Title_desc": buyerrequestmodel = buyerrequestmodel.OrderByDescending(s => s.Downloadstbl.NoteTitle); break; case "Title": buyerrequestmodel = buyerrequestmodel.OrderBy(s => s.Downloadstbl.NoteTitle); break; case "Category_desc": buyerrequestmodel = buyerrequestmodel.OrderByDescending(s => s.Downloadstbl.NoteCategory); break; case "Category": buyerrequestmodel = buyerrequestmodel.OrderBy(s => s.Downloadstbl.NoteCategory); break; case "Email_desc": buyerrequestmodel = buyerrequestmodel.OrderByDescending(s => s.Userstbl.Email); break; case "Email": buyerrequestmodel = buyerrequestmodel.OrderBy(s => s.Userstbl.Email); break; case "Phone_desc": buyerrequestmodel = buyerrequestmodel.OrderByDescending(s => s.UserProfiletbl.PhoneNumber); break; case "Phone": buyerrequestmodel = buyerrequestmodel.OrderBy(s => s.UserProfiletbl.PhoneNumber); break; case "Date_desc": buyerrequestmodel = buyerrequestmodel.OrderByDescending(s => s.Downloadstbl.CreatedDate); break; case "Date": buyerrequestmodel = buyerrequestmodel.OrderBy(s => s.Downloadstbl.CreatedDate); break; case "Price_desc": buyerrequestmodel = buyerrequestmodel.OrderByDescending(s => s.Downloadstbl.PurchasedPrice); break; case "Price": buyerrequestmodel = buyerrequestmodel.OrderBy(s => s.Downloadstbl.PurchasedPrice); break; default: buyerrequestmodel = buyerrequestmodel.OrderByDescending(s => s.Downloadstbl.CreatedDate); break; } //Pagination var pager = new BRPager(buyerrequestmodel.Count(), brpage); ViewBag.currentPage = pager.CurrentPage; ViewBag.endPage = pager.EndPage; ViewBag.startpage = pager.StartPage; ViewBag.pageNumber = brpage; ViewBag.srno = brpage; ViewBag.TotalBuyerRequestPage = Math.Ceiling(buyerrequestmodel.Count() / 10.0); //buyerrequestmodel = buyerrequestmodel.Skip((brpage - 1) * 10).Take(10); buyerrequestmodel = buyerrequestmodel.Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize); return(View(buyerrequestmodel)); }