// GET: CraveatsUser public ViewResult Index(string sortOrder, string currentFilter, string searchString, int?page) { ViewBag.CurrentSort = sortOrder; ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date"; if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.CurrentFilter = searchString; Common.UserTypeEnum userTypeEnumFromSession = SessionManager.GetContextSessionOwnerType(); int?sessionLoggedUserId = int.Parse(DataSecurityTripleDES.GetPlainText( SessionManager.GetContextSessionLoggedUserID())); var users = (userTypeEnumFromSession == Common.UserTypeEnum.CraveatsAdmin) ? from u in db.User where u.Id != sessionLoggedUserId select u : from u in db.User where u.Id == 0 select u; if (!String.IsNullOrEmpty(searchString)) { users = users.Where(s => ((s.FirstName ?? "") + " " + (s.Surname ?? "")).Contains(searchString) || s.EmailAddress.Contains(searchString)); } switch (sortOrder) { case "name_desc": users = users.OrderByDescending(s => ((s.FirstName ?? "") + " " + (s.Surname ?? ""))); break; case "Date": users = users.OrderBy(s => s.LastUpdated); break; case "date_desc": users = users.OrderByDescending(s => s.LastUpdated); break; default: // Name ascending users = users.OrderBy(s => ((s.FirstName ?? "") + " " + (s.Surname ?? ""))); break; } int pageSize = 25; int pageNumber = (page ?? 1); return(View(users.ToPagedList(pageNumber, pageSize))); }
internal int?RegisterNew(string email, string hashedPassword, string role) { try { Common.UserTypeEnum registeringRole = Common.CommonUtility.GetEnumValueFromDescription <Common.UserTypeEnum>(role); if (!(registeringRole.HasFlag(Common.UserTypeEnum.CraveatsDiner) || registeringRole.HasFlag(Common.UserTypeEnum.PartnerRestaurant))) { throw new InvalidOperationException("Requested role could not be used in this context."); } using (CraveatsDbContext craveatsDbContext = new CraveatsDbContext()) { DBCommonUtility dBCommonUtility = new DBCommonUtility(); string sqlCmdParamString = ""; SqlParameter[] sqlParameters = dBCommonUtility.GetSqlParameters( new object[] { email, hashedPassword, (int)registeringRole }, out sqlCmdParamString , true); StringBuilder sbRawSQL = new StringBuilder("exec RegisterNewActiveUser"); sbRawSQL.AppendFormat(" {0}", sqlCmdParamString.Trim()); User newUser = craveatsDbContext.User.SqlQuery( sql: sbRawSQL.ToString(), parameters: sqlParameters ).FirstOrDefault(); return(newUser?.Id); } } catch (Exception e) { throw e; } }
// GET: Restaurant public ViewResult Index(string sortOrder, string currentFilter, string searchString, int?page) { ViewBag.CurrentSort = sortOrder; ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; ViewBag.DateSortParm = sortOrder == "Date" ? "date_desc" : "Date"; if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.CurrentFilter = searchString; Common.UserTypeEnum userTypeEnumFromSession = SessionManager.GetContextSessionOwnerType(); int?sessionLoggedUserId = int.Parse(DataSecurityTripleDES.GetPlainText( SessionManager.GetContextSessionLoggedUserID())); var Restaurants = (userTypeEnumFromSession == Common.UserTypeEnum.CraveatsAdmin) ? from s in db.Restaurant select s : (userTypeEnumFromSession == Common.UserTypeEnum.PartnerRestaurant) ? from s in db.Restaurant where s.PartnerUserId == sessionLoggedUserId select s : from s in db.Restaurant where s.PartnerUserId == 0 select s; if (!String.IsNullOrEmpty(searchString)) { Restaurants = Restaurants.Where(s => s.Name.Contains(searchString) || s.Detail.Contains(searchString)); } switch (sortOrder) { case "name_desc": Restaurants = Restaurants.OrderByDescending(s => s.Name); break; case "Date": Restaurants = Restaurants.OrderBy(s => s.LastUpdated); break; case "date_desc": Restaurants = Restaurants.OrderByDescending(s => s.LastUpdated); break; default: // Name ascending Restaurants = Restaurants.OrderBy(s => s.Name); break; } int pageSize = 25; int pageNumber = (page ?? 1); return(View(Restaurants.ToPagedList(pageNumber, pageSize))); }