public async Task <(bool, string)> DeleteWorkerAsync(DeleteWorkerModel deleteWorkerModel) { if (_globalVariable.IsCompanySelected) { Worker worker = await _context.Workers.SingleOrDefaultAsync(x => x.Id == deleteWorkerModel.Id); if (worker != null) { Company company = await _companyService.GetSelectedCompanyAsync(); if (company.Password.Equals(deleteWorkerModel.Password)) { if (worker.LastName.Equals(deleteWorkerModel.LastName)) { // remove custom field values _context.CustomWorkerFieldValues.RemoveRange(_context.CustomWorkerFieldValues.Where(x => x.Worker.Id == worker.Id)); // at the end remove the worker _context.Remove(worker); await _context.SaveChangesAsync(); return(true, "Deleted"); } else { return(false, "Last name doesn't match."); } } else { return(false, "Wrong password."); } } else { return(false, "Worker not found."); } } else { return(false, "Company not selected."); } }
public DeleteWorkerPresenter(IDeleteWorkerView deleteWorkerView) { _deleteWorkerView = deleteWorkerView; _deleteWorkerModel = new DeleteWorkerModel(); }