Пример #1
0
        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);
        }
Пример #2
0
        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);
        }