示例#1
0
        /// <summary>
        /// Видалення структури університету
        /// </summary>
        /// <param name="stucture">Потрібно заповнити 1 вид данних</param>
        /// <param name="type">Тип структури (Факультет, Інститут, Кафедра(Department))</param>
        /// <returns></returns>
        public async Task <OperationDetails> Delete(UStructBase stucture, TypeStructUniversity type)
        {
            switch (type)
            {
            case TypeStructUniversity.FACULTY:
            {
                var faculty = await facultyRepository.GetAsync(p => p.Name == stucture.Faculty.Name);

                if (faculty == null)
                {
                    return(new OperationDetails(false, "Такого факультету не існує", ""));
                }
                facultyRepository.Delete(stucture.Faculty);
                await SaveStructure();

                return(new OperationDetails(true, $"{stucture.Faculty.Name} - видалений", ""));
            }

            case TypeStructUniversity.INSTITUTE:
            {
                var institute = await instituteRepository.GetAsync(p => p.Name == stucture.Institute.Name);

                if (institute == null)
                {
                    return(new OperationDetails(false, "Такого інституту не існує", ""));
                }
                instituteRepository.Delete(stucture.Institute);
                await SaveStructure();

                return(new OperationDetails(true, $"{stucture.Institute.Name} - видалений", ""));
            }

            case TypeStructUniversity.DEPARTMENT:
            {
                var department = await departmentRepository.GetAsync(p => p.Name == stucture.Department.Name);

                if (department == null)
                {
                    return(new OperationDetails(false, "Такої кафедри не існує", ""));
                }
                departmentRepository.Delete(stucture.Department);
                await SaveStructure();

                return(new OperationDetails(true, $"{stucture.Department.Name} - видалений", ""));
            }

            default:
                return(new OperationDetails(false, "Тип структури не існує", ""));;
            }
        }
示例#2
0
        /// <summary>
        /// Створення нової структури університету
        /// </summary>
        /// <param name="stucture">Потрібно заповнити 1 вид данних</param>
        /// <param name="type">Тип структури (Факультет, Інститут, Кафедра(Department))</param>
        /// <returns></returns>
        public async Task <OperationDetails> Create(UStructBase stucture, TypeStructUniversity type)
        {
            switch (type)
            {
            case TypeStructUniversity.FACULTY:
            {
                var faculty = await facultyRepository.GetAsync(p => p.Name == stucture.Faculty.Name);

                if (faculty != null)
                {
                    return(new OperationDetails(false, "Такий факультет вже існує", ""));
                }
                facultyRepository.Add(stucture.Faculty);
                await SaveStructure();

                return(new OperationDetails(true, "Факультет доданий", ""));
            }

            case TypeStructUniversity.INSTITUTE:
            {
                var institute = await instituteRepository.GetAsync(p => p.Name == stucture.Institute.Name);

                if (institute != null)
                {
                    return(new OperationDetails(false, "Такий інститут вже існує", ""));
                }
                instituteRepository.Add(stucture.Institute);
                await SaveStructure();

                return(new OperationDetails(true, "Інститут доданий", ""));
            }

            case TypeStructUniversity.DEPARTMENT:
            {
                var department = await departmentRepository.GetAsync(p => p.Name == stucture.Department.Name);

                if (department != null)
                {
                    return(new OperationDetails(false, "Така кафедра вже існує", ""));
                }
                departmentRepository.Add(stucture.Department);
                await SaveStructure();

                return(new OperationDetails(true, "Кафедра додана", ""));
            }

            default:
                return(new OperationDetails(false, "Тип структури не існує", ""));;
            }
        }