Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
        public FactoryDepartment GetDepartment(string id)
        {
            FactoryDepartment department = _dataBase.Departments.FirstOrDefault(dept => dept.Department.Equals(id));

            return(department);
        }