public ModifyRight GetUserRightForCenter(MisUser user, int centerID) { var right = _context.ModifyRights.SingleOrDefault(x => x.CenterID == centerID && x.MisUserID == user.MisUserID); if (right == null) { return(new ModifyRight() { CanAdmin = false, CanRead = false, CanWrite = false, CenterID = centerID, MisUserID = user.MisUserID, ModifyRightID = 0 }); } return(right); }
public IActionResult Delete([FromBody] MisUser misUser) { if (ModelState.IsValid && IsCurrentUserActiveGlobalAdmin()) { var dbMisUser = _context.MisUsers.SingleOrDefault(b => b.MisUserID == misUser.MisUserID); if (dbMisUser != null) { dbMisUser.Deleted = true; dbMisUser.DeletedAt = DateTime.Now; dbMisUser.DeletedBy = User.Identity.Name; _context.Entry(dbMisUser).State = EntityState.Modified; _context.SaveChanges(); return(NoContent()); } } return(BadRequest()); }
public IActionResult Update([FromBody] MisUser misUser) { if (ModelState.IsValid && IsCurrentUserActiveGlobalAdmin()) { var dbMisUser = _context.MisUsers.SingleOrDefault(b => b.MisUserID == misUser.MisUserID && b.Deleted == false); if (dbMisUser != null) { dbMisUser.Name = misUser.Name; dbMisUser.IdentityName = misUser.IdentityName; dbMisUser.IsActive = misUser.IsActive; dbMisUser.IsAdmin = misUser.IsAdmin; dbMisUser.CenterID = misUser.CenterID; _context.Entry(dbMisUser).State = EntityState.Modified; _context.SaveChanges(); RemoveUserModifyRights(dbMisUser); foreach (var modifyRight in misUser.ModifyRights) { var newRight = new ModifyRight() { MisUserID = misUser.MisUserID, CenterID = modifyRight.CenterID, CanAdmin = modifyRight.CanAdmin, CanRead = modifyRight.CanRead, CanWrite = modifyRight.CanWrite }; _context.ModifyRights.Add(newRight); } _context.SaveChanges(); dbMisUser.Center = _context.Centers.SingleOrDefault(b => b.CenterID == dbMisUser.CenterID && b.Deleted == false); dbMisUser.ModifyRights = _context.ModifyRights.Where(b => b.ModifyRightID == dbMisUser.MisUserID).ToList(); return(Ok(dbMisUser)); } } return(BadRequest()); }
public IActionResult Create([FromBody] MisUser misUser) { if (ModelState.IsValid && IsCurrentUserActiveGlobalAdmin()) { var newUser = new MisUser() { Name = misUser.Name, IdentityName = misUser.IdentityName, IsActive = misUser.IsActive, IsAdmin = misUser.IsAdmin, CenterID = misUser.CenterID }; newUser.Center = _context.Centers.SingleOrDefault(b => b.CenterID == misUser.CenterID && b.Deleted == false); if (newUser.Center == null) { return(BadRequest()); } _context.MisUsers.Add(newUser); _context.SaveChanges(); foreach (var modifyRight in misUser.ModifyRights) { var newModifyRight = new ModifyRight() { MisUserID = newUser.MisUserID, CenterID = modifyRight.CenterID, CanAdmin = modifyRight.CanAdmin, CanRead = modifyRight.CanRead, CanWrite = modifyRight.CanWrite, }; _context.ModifyRights.Add(newModifyRight); } _context.SaveChanges(); newUser.ModifyRights = _context.ModifyRights.Where(b => b.ModifyRightID == newUser.MisUserID).ToList(); return(Ok(newUser)); } return(BadRequest()); }
private void RemoveUserModifyRights(MisUser misUser) { _context.Database.ExecuteSqlCommand( "DELETE from ModifyRight where MisUserID={0}", parameters: misUser.MisUserID); }
public static void Initialize(MyMisContext context) { context.Database.EnsureCreated(); // Look for any data to see if it's been seeded. if (context.MisUsers.Any()) { return; // DB has been seeded } var regions = new Region[] { new Region { Name = "International" }, new Region { Name = "US" }, }; foreach (var s in regions) { context.Regions.Add(s); } context.SaveChanges(); foreach (var region in regions) { switch (region.Name) { case "International": var hqs = new Center[] { new Center { Name = "HQ", Region = region, DoNotTrackMonthStatus = true }, }; foreach (var s in hqs) { context.Centers.Add(s); } break; case "US": var usCenters = new Center[] { new Center { Name = "Seattle", Region = region }, }; foreach (var s in usCenters) { context.Centers.Add(s); } break; } } context.SaveChanges(); var users = new MisUser[] { new MisUser { Name = "test2", IdentityName = "live.com#[email protected]", IsActive = true, IsAdmin = true }, }; foreach (var s in users) { context.MisUsers.Add(s); } context.SaveChanges(); context.SaveChanges(); var emailTemplate = new EmailTemplate { IsForMonthStatusNotification = true, Subject = @"[%CenterName%] %YearMonth% Notice", Message = @"Test message" }; context.EmailTemplates.Add(emailTemplate); context.SaveChanges(); }