public IActionResult DeleteDepartment(string id) { var authUser = _dataBase.Users.FirstOrDefault(user => user.DerogationUser == User.Identity.Name); if (authUser == null || authUser.Admin == '0') { return(BadRequest(new { message = "Forbidden" })); } FactoryDepartment department = _dataBase.Departments .Include(department => department.Users) .FirstOrDefault(dept => dept.Department.Equals(id)); if (department == null) { ModelState.AddModelError("notFound", $"Department \"{id}\" not found!"); return(Ok(ModelState)); } if (department.Users.Count > 0) { ModelState.AddModelError("notEmpty", $"Department \"{id}\" is not empty!"); return(Ok(ModelState)); } _dataBase.Departments.Remove(department); _dataBase.SaveChanges(); return(Ok()); }
public IActionResult AddDepartment(FactoryDepartment department) { var authUser = _dataBase.Users.FirstOrDefault(user => user.DerogationUser == User.Identity.Name); if (authUser == null || authUser.Admin == '0') { return(BadRequest(new { message = "Forbidden" })); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _dataBase.Departments.Add(department); _dataBase.SaveChanges(); _hubContext.Clients.All.SendAsync("department", department, SendActionType.Create.ToString()); return(Ok(department)); }
public IActionResult UpdateDepartment(string id, FactoryDepartment department) { var authUser = _dataBase.Users.FirstOrDefault(user => user.DerogationUser == User.Identity.Name); if (authUser == null || authUser.Admin == '0') { return(BadRequest(new { message = "Forbidden" })); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id.Equals(department.Department)) { _dataBase.Departments.Update(department); _dataBase.SaveChanges(); return(Ok(department)); } _dataBase.Departments.Add(department); _dataBase.SaveChanges(); List <User> departmentUsers = _dataBase.Users.Where(user => user.Department.Equals(id)).ToList(); departmentUsers.ForEach(user => user.Department = department.Department); _dataBase.Users.UpdateRange(departmentUsers); _dataBase.SaveChanges(); FactoryDepartment deptForDelete = _dataBase.Departments.FirstOrDefault(dept => dept.Department == id); if (deptForDelete != null) { _dataBase.Departments.Remove(deptForDelete); } _dataBase.SaveChanges(); return(Ok(department)); }
public FactoryDepartment GetDepartment(string id) { FactoryDepartment department = _dataBase.Departments.FirstOrDefault(dept => dept.Department.Equals(id)); return(department); }