Example #1
0
        public void DeleteCompany(dsClientCompanies deleteCompany)
        {
            var company = _context.ClientCompanies.FirstOrDefault(x => x.Id == deleteCompany.Id);

            if (company == null)
            {
                throw new Exception("Company not found");
            }

            var users = _context.EmployeeTeams.Where(x => x.CompanyId == company.Id).ToList();

            users.ForEach(user =>
            {
                DeleteUserFromCompany(user); // first delete related users to this company
            });

            var tasks = _context.Tasks.Where(x => x.ClientCompanyId == company.Id);


            _context.Tasks.RemoveRange(tasks); // delete tasks related to this company
            _context.SaveChanges();

            _context.ClientCompanies.Attach(company); // delete this company
            _context.Remove(company);

            _context.SaveChanges();
        }
        public ActionResult DeleteCompany([FromQuery] dsClientCompanies company)
        {
            if (!authUser.is_admin)
            {
                return(NotFound());
            }

            _repo.DeleteCompany(company);
            return(Ok());
        }