public ActionResult EditClass(AddClassModel model, string className) { if (ModelState.IsValid) { using (var db = new CopiosisEntities()) { var currentItemClass = db.itemClasses.Where(p => p.name == className).FirstOrDefault(); if (currentItemClass == null) { ADMINERROR.ErrorSubject = "Error while trying to edit an item"; throw new ArgumentException(string.Format("ItemClass with Name {0} not found", className)); } else { if (model.name.Equals(currentItemClass.name) == false) { itemClass conflictingItemClass = db.itemClasses.Where(ic => ic.name == model.name).FirstOrDefault(); if (conflictingItemClass != null) { ModelState.AddModelError("name", "There is already a class of this name"); return(View(model)); } } //Case when the are no changes to the current class else if (model.Equals(currentItemClass) == true) { TempData["NoEdit"] = currentItemClass.name; return(RedirectToAction("ViewClasses")); } currentItemClass.name = model.name; currentItemClass.suggestedGateway = model.suggestedGateway; currentItemClass.cPdb = model.cPdb; currentItemClass.a = model.a; currentItemClass.aMax = model.aMax; currentItemClass.d = model.d; currentItemClass.aPrime = model.aPrime; currentItemClass.cCb = model.cCb; currentItemClass.m1 = model.m1; currentItemClass.pO = model.pO; currentItemClass.m2 = model.m2; currentItemClass.cEb = model.cEb; currentItemClass.s = model.s; currentItemClass.m3 = model.m3; currentItemClass.sE = model.sE; currentItemClass.m4 = model.m4; currentItemClass.sH = model.sH; currentItemClass.m5 = model.m5; db.SaveChanges(); TempData["EditClass"] = currentItemClass.name; return(RedirectToAction("ViewClasses")); } } } else { return(View(model)); } }
public ActionResult ViewUsers() { ViewUsersModel model = new ViewUsersModel(); using (var db = new CopiosisEntities()) { FetchUserRoles(db, model); } return(View(model)); }
//List<SelectListItem> private void FetchUserRoles(CopiosisEntities db, ViewUsersModel model) { List <UserModel> adminUsers = new List <UserModel>(); List <int> adminIds = new List <int>(); List <UserModel> nonAdminUsers = new List <UserModel>(); var items = db.webpages_Roles.ToList(); if (items != null) { foreach (var item in items) { if (item.RoleName == "ADMIN") { foreach (var user in item.users) { UserModel temp = new UserModel(); temp.firstName = user.firstName; temp.lastName = user.lastName; temp.status = user.status; temp.userId = user.userID; temp.userName = user.username; if (temp.userId != WebSecurity.CurrentUserId) { adminIds.Add(temp.userId); adminUsers.Add(temp); } } } else if (item.RoleName == "USER") { foreach (var user in item.users) { if (!adminIds.Contains(user.userID)) { UserModel temp = new UserModel(); temp.firstName = user.firstName; temp.lastName = user.lastName; temp.status = user.status; temp.userId = user.userID; temp.userName = user.username; nonAdminUsers.Add(temp); } } } } // end Foreach } // if (items != null) model.adminUsers = adminUsers; model.nonadminUsers = nonAdminUsers; }
public ActionResult ChangeUserIsAdmin(string roleAction, string userName) { using (var db = new CopiosisEntities()) { var user = db.users.Where(p => p.username == userName).FirstOrDefault(); var roles = db.webpages_Roles.Where(r => r.RoleName == "ADMIN").FirstOrDefault(); if (user == null) { throw new ArgumentException(string.Format("No user found with that username: {0}", userName)); } if (user.userID == WebSecurity.CurrentUserId) { throw new ArgumentException(string.Format("Sorry, you can't demote yourself!: {0}", userName)); } if (roles == null) { throw new ArgumentException(string.Format("The role: {0} does not exist", "ADMIN")); } //we are adding if (roleAction.ToLower() == "promote") { if (!roles.users.Contains(user)) { roles.users.Add(user); } } else { if (roles.users.Contains(user)) { roles.users.Remove(user); } else { throw new ArgumentException(string.Format("{0} is not currently an admin.", user.username)); } } db.SaveChanges(); } return(Json(new { success = true })); }
public ActionResult AddClass(AddClassModel m) { if (ModelState.IsValid) { itemClass newItemClass = new itemClass(); using (var db = new CopiosisEntities()) { itemClass conflictingItemClass = db.itemClasses.Where(ic => ic.name == m.name).FirstOrDefault(); if (conflictingItemClass != null) { ModelState.AddModelError("name", "There is already a class of this name"); return(View(m)); } else { newItemClass.name = m.name; newItemClass.suggestedGateway = m.suggestedGateway; newItemClass.cPdb = m.cPdb; newItemClass.a = m.a; newItemClass.aMax = m.aMax; newItemClass.d = m.d; newItemClass.aPrime = m.aPrime; newItemClass.cCb = m.cCb; newItemClass.m1 = m.m1; newItemClass.pO = m.pO; newItemClass.m2 = m.m2; newItemClass.cEb = m.cEb; newItemClass.s = m.s; newItemClass.m3 = m.m3; newItemClass.sE = m.sE; newItemClass.m4 = m.m4; newItemClass.sH = m.sH; newItemClass.m5 = m.m5; //save changes db.itemClasses.Add(newItemClass); db.SaveChanges(); TempData["AddClass"] = newItemClass.name; return(RedirectToAction("ViewClasses")); } } } else { return(View(m)); } }
private List <SelectListItem> FetchItemClassTemplates(CopiosisEntities db) { List <SelectListItem> itemClasses = new List <SelectListItem>(); var items = db.itemClasses.ToList(); if (items != null) { foreach (var item in items) { itemClasses.Add( new SelectListItem { Text = item.name, Value = item.name } ); } } return(itemClasses); }
public ActionResult Rejected() { RejectedModel model = new RejectedModel(); using (var db = new CopiosisEntities()) { model.rejected = db.transactions.Where(a => (a.status == "Rejected")).Select(t => new RejectedTransactionModel { transactionID = t.transactionID, dateRejected = t.dateClosed ?? DateTime.MinValue, producer = db.users.Where(u => u.userID == t.providerID).Select(u => u.username).FirstOrDefault(), consumer = db.users.Where(u => u.userID == t.receiverID).Select(u => u.username).FirstOrDefault(), name = t.product.name, gateway = t.product.gateway }).OrderByDescending(t => t.dateRejected).ToList(); } return(View(model)); }
public ActionResult ChangeClass(string newClass, Guid itemGuid) { using (var db = new CopiosisEntities()) { var item = db.products.Where(p => p.guid == itemGuid).FirstOrDefault(); var classID = db.itemClasses.Where(ic => ic.name == newClass).Select(ic => ic.classID).FirstOrDefault(); ADMINERROR.ErrorSubject = "Error while trying to change an item's class"; if (item == null) { throw new ArgumentException(string.Format("No product found with GUID: {0}", itemGuid)); } if (classID == null) { throw new ArgumentException(string.Format("No matching item class with name: {0}", itemGuid)); } item.itemClass = classID; db.SaveChanges(); } return(Json(new { success = true })); }
public ActionResult ViewClasses() { ViewBag.savedChanges = false; ViewBag.noEdit = false; ViewClassesModel model = new ViewClassesModel(); //Handle cases for success banner in the Admin/ViewClasses view if (TempData["AddClass"] != null || TempData["EditClass"] != null) { //Case 1: The admin adds a new class and it is successful if (TempData["AddClass"] != null) { ViewBag.newClass = true; ViewBag.className = TempData["AddClass"]; } //Case 2: The admin edits a class and it is successful else if (TempData["EditClass"] != null) { ViewBag.newClass = false; ViewBag.className = TempData["EditClass"]; } ViewBag.savedChanges = true; } //Case 3: The admin presses the submit button from the EditClass page but changes nothing else if (TempData["NoEdit"] != null) { ViewBag.noEdit = true; ViewBag.className = TempData["NoEdit"]; } using (var db = new CopiosisEntities()) { model.ItemClassTemplates = db.itemClasses.Select(t => new ViewClassModel { classID = t.classID, className = t.name, numUsing = db.products.Where(p => p.itemClass == t.classID).Count() }).OrderByDescending(t => t.className).ToList(); } return(View(model)); }
public SimpleMembershipInitializer() { Database.SetInitializer <CopiosisEntities>(null); try { using (var context = new CopiosisEntities()) { if (!context.Database.Exists()) { // Create the SimpleMembership database without Entity Framework migration schema ((IObjectContextAdapter)context).ObjectContext.CreateDatabase(); } } WebSecurity.InitializeDatabaseConnection("CopiosisConnection", "user", "userID", "username", autoCreateTables: true); } catch (Exception ex) { throw new InvalidOperationException("The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588", ex); } }
public ActionResult Overview() { ClassOverviewModel model = new ClassOverviewModel(); using (var db = new CopiosisEntities()) { int userId = WebSecurity.CurrentUserId; model.ItemClassTemplates = FetchItemClassTemplates(db); model.products = db.products.Where( a => (a.deletedDate == null || a.deletedDate == DateTime.MinValue) && a.itemClass1.name != "Default" ).Select(t => new ClassModel { classID = t.itemClass, className = t.itemClass1.name, productName = t.name, productDesc = t.description, productOwner = (t.user.firstName + " " + t.user.lastName), productGuid = t.guid }).OrderByDescending(t => t.productName).ToList(); model.productsDefault = db.products.Where( a => (a.deletedDate == null || a.deletedDate == DateTime.MinValue) && a.itemClass1.name == "Default" ).Select(t => new ClassModel { classID = t.itemClass, className = t.itemClass1.name, productName = t.name, productDesc = t.description, productOwner = (t.user.firstName + " " + t.user.lastName), productGuid = t.guid }).OrderByDescending(t => t.productName).ToList(); } return(View(model)); }
public ActionResult EditClass(string className) { AddClassModel model = new AddClassModel(); using (var db = new CopiosisEntities()) { var currentItemClass = db.itemClasses.Where(p => p.name == className).FirstOrDefault(); if (currentItemClass == null) { ADMINERROR.ErrorSubject = "Error while trying to edit an item"; throw new ArgumentException(string.Format("ItemClass with Name {0} not found", className)); } else { model.name = currentItemClass.name; model.suggestedGateway = (int)currentItemClass.suggestedGateway; model.cPdb = (float)currentItemClass.cPdb; model.a = (float)currentItemClass.a; model.aMax = (int)currentItemClass.aMax; model.d = (int)currentItemClass.d; model.aPrime = (int)currentItemClass.aPrime; model.cCb = (float)currentItemClass.cCb; model.m1 = (float)currentItemClass.m1; model.pO = (int)currentItemClass.pO; model.m2 = (float)currentItemClass.m2; model.cEb = (float)currentItemClass.cEb; model.s = (int)currentItemClass.s; model.m3 = (float)currentItemClass.m3; model.sE = (short)currentItemClass.sE; model.m4 = (float)currentItemClass.m4; model.sH = (short)currentItemClass.sH; model.m5 = (float)currentItemClass.m5; } } return(View(model)); }