Exemplo n.º 1
0
        public override void Remove(UserDTO item)
        {
            if (item == null || item.Id == new Guid())
            {
                return;
            }
            if (item.Role.Name == "Admin")
            {
                return;
            }
            var toDelete = _baseRepository.GetBy(x => x.Id == item.Id).FirstOrDefault();

            if (toDelete.Role.Name == "Opiekun")
            {
                var relatedWorkbooks = _workBookRepository.GetBy(x => x.EmployeeId == toDelete.Id);
                foreach (var workbook in relatedWorkbooks)
                {
                    workbook.EmployeeId = null;
                    workbook.Employee   = null;
                    _workBookRepository.Edit(workbook);
                }
                _workBookRepository.Save();
            }

            toDelete = _baseRepository.GetBy(x => x.Id == item.Id).FirstOrDefault();
            _baseRepository.Delete(toDelete);
            _baseRepository.Save();
        }
Exemplo n.º 2
0
        public override void Remove(DepartmentDTO item)
        {
            var users     = _userRepository.GetBy(x => x.Department.Id == item.Id);
            var workbooks = _workBookRepository.GetBy(x => x.Department.Id == item.Id);


            if (users != null)
            {
                foreach (var user in users)
                {
                    user.Department   = null;
                    user.DepartmentId = null;
                    _userRepository.Edit(user);
                }
            }
            _userRepository.Save();
            if (workbooks != null)
            {
                foreach (var workbook in workbooks)
                {
                    workbook.Department   = null;
                    workbook.DepartmentId = null;
                    _workBookRepository.Edit(workbook);
                }
            }
            _workBookRepository.Save();
            var department = _baseRepository.FindById(item.Id);

            department.Users = null;
            _baseRepository.Delete(department);
            _baseRepository.Save();
        }