public DeleteProjectStatus DeleteProject(int projectID) { Project project = ProjectRepository.Get(projectID); if (project != null) { if (ProjectService.IsUserOwner(projectID)) { IQueryable <int> forms = FormDefinitionRepository.Where(f => f.ProjectID == projectID).Select(f => f.ID); foreach (int formID in forms) { DeleteFormDefinition(formID); } ProjectRepository.Delete(project); return(DeleteProjectStatus.Deleted); } return(DeleteProjectStatus.PermissionDenied); } return(DeleteProjectStatus.NoSuchProject); }
public DeleteFormDefinitionStatus DeleteFormDefinition(int formDefinitionID) { FormDefinition form = FormDefinitionRepository.Get(formDefinitionID); if (form != null) { if (ProjectService.CanUserManage(form.ProjectID)) { IQueryable <int> data = FormDataRepository.Where(d => d.FormDefinitionID == formDefinitionID).Select(d => d.ID); foreach (int itemID in data) { DeleteFormData(itemID); } //foreach (FieldDefinition field in form.Fields) // FieldDefinitionRepository.Delete(field); FormDefinitionRepository.Delete(form); return(DeleteFormDefinitionStatus.Deleted); } return(DeleteFormDefinitionStatus.PermissionDenied); } return(DeleteFormDefinitionStatus.NoSuchFormDefinition); }