/// <summary>
        /// Удаляет проф. переподготовку
        /// </summary>
        /// <param name="professionalRetrainings"></param>
        /// <returns></returns>
        private async Task RemoveProfessionalRetrainingsAsync(List <ProfessionalRetraining> professionalRetrainings)
        {
            if (professionalRetrainings == null)
            {
                return;
            }

            var fileModelIds = new List <int>();

            foreach (var professionalRetraining in professionalRetrainings)
            {
                if (professionalRetraining.ProfessionalRetrainingFileId != 0)
                {
                    fileModelIds.Add(professionalRetraining.ProfessionalRetrainingFileId);
                }
            }

            foreach (var fileModelId in fileModelIds)
            {
                await _fileModelRepository.RemoveFileAsync(fileModelId);

                await _context.SaveChangesAsync();
            }
            _context.ProfessionalRetrainings.RemoveRange(professionalRetrainings);
            await _context.SaveChangesAsync();
        }
        public async Task <IActionResult> Edit(int id,
                                               [Bind("ElectronBiblSystemId,NameEbs,LinkEbs,NumberDogovor,DateStart,DateEnd,CopyDogovorId")] ElectronBiblSystem electronBiblSystem,
                                               IFormFile uploadedFile)
        {
            if (id != electronBiblSystem.ElectronBiblSystemId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    if (uploadedFile != null)
                    {
                        int?fileModelIdToRemove = electronBiblSystem.CopyDogovorId;
                        var fileModel           = await _fileModelRepository.UploadElectronBiblSystemDogovorAsync(uploadedFile);

                        electronBiblSystem.CopyDogovorId = fileModel.Id;
                        await _fileModelRepository.RemoveFileAsync(fileModelIdToRemove);
                    }
                    _context.Update(electronBiblSystem);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ElectronBiblSystemExists(electronBiblSystem.ElectronBiblSystemId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }

            return(View(electronBiblSystem));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Удаляет задание СДО
        /// </summary>
        /// <param name="lmsTask"></param>
        /// <returns></returns>
        public async Task RemoveLmsTaskAsync(LmsTask lmsTask)
        {
            if (lmsTask.LmsTaskAnswers != null)
            {
                foreach (var lmsTaskAnswer in lmsTask.LmsTaskAnswers)
                {
                    if (lmsTaskAnswer.FileModelId != null)
                    {
                        if (lmsTaskAnswer.FileModel != null)
                        {
                            await _fileModelRepository.RemoveFileModelAsync(lmsTaskAnswer.FileModel);
                        }
                        else
                        {
                            await _fileModelRepository.RemoveFileAsync(lmsTaskAnswer.FileModelId);
                        }
                    }
                }
            }


            if (lmsTask.LmsTaskJpgId != null)
            {
                if (lmsTask.LmsTaskJpg != null)
                {
                    await _fileModelRepository.RemoveFileModelAsync(lmsTask.LmsTaskJpg);
                }
                else
                {
                    await _fileModelRepository.RemoveFileAsync(lmsTask.LmsTaskJpgId);
                }
            }

            _context.LmsTasks.Remove(lmsTask);
            await _context.SaveChangesAsync();
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Удаляет льготу абитуриента при поступлении
        /// </summary>
        /// <param name="admissionPrivilegeId"></param>
        /// <returns></returns>
        public async Task RemoveAdmissionPrivilegeAsync(AdmissionPrivilege admissionPrivilege)
        {
            if (admissionPrivilege == null)
            {
                return;
            }

            if (admissionPrivilege.FileModelId != null)
            {
                if (admissionPrivilege.FileModel != null)
                {
                    await _fileModelRepository.RemoveFileModelAsync(admissionPrivilege.FileModel);
                }
                else
                {
                    await _fileModelRepository.RemoveFileAsync(admissionPrivilege.FileModelId);
                }
            }

            _context.AdmissionPrivileges.Remove(admissionPrivilege);
            await _context.SaveChangesAsync();
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Удаляет заявление о согласии на зачисление
        /// </summary>
        public async Task RemoveConsentToEnrollmentAsync(ConsentToEnrollment consentToEnrollment)
        {
            if (consentToEnrollment == null)
            {
                return;
            }

            if (consentToEnrollment.FileModelId != null)
            {
                if (consentToEnrollment.FileModel != null)
                {
                    await _fileModelRepository.RemoveFileModelAsync(consentToEnrollment.FileModel);
                }
                else
                {
                    await _fileModelRepository.RemoveFileAsync(consentToEnrollment.FileModelId);
                }
            }

            _context.ConsentToEnrollments.Remove(consentToEnrollment);
            await _context.SaveChangesAsync();
        }
        public async Task <IActionResult> DeleteConfirmed(int id)
        {
            var student = await _studentRepository.GetStudentByIdAsync(id);

            if (student.RezultOsvoenObrazovatProgrId != null)
            {
                await _fileModelRepository.RemoveFileAsync(student.RezultOsvoenObrazovatProgrId);
            }

            if (student != null)
            {
                //if (student.AppUserId != null)
                //{
                //    AppUser user = await userManager.FindByIdAsync(student.AppUserId);

                //    if (user != null)
                //    {
                //        IdentityResult result = await userManager.DeleteAsync(user);
                //        if (!result.Succeeded)
                //        {
                //            AddErrorsFromResult(result);
                //        }
                //    }
                //    else
                //    {
                //        ModelState.AddModelError("", "Пользователь не найден");
                //    }
                //}
                _context.Students.Remove(student);
                await _context.SaveChangesAsync();
            }
            else
            {
                ModelState.AddModelError("", "Студент не найден");
            }

            return(RedirectToAction(nameof(Index)));
        }
        /// <summary>
        /// Обновляет учебное пособие
        /// </summary>
        /// <param name="uchPosobieEditViewModel"></param>
        /// <returns></returns>
        public async Task UpdateUchPosobie(UchPosobieEditViewModel uchPosobieEditViewModel)
        {
            if (uchPosobieEditViewModel == null)
            {
                return;
            }

            if (uchPosobieEditViewModel.FormFile != null)
            {
                FileDataTypeEnum fileDataTypeEnum = await GetFileDataTypeEnumByUchPosobieVidId(uchPosobieEditViewModel.UchPosobie.UchPosobieVidId);

                var fileModel = await _fileModelRepository.UploadUchPosobieAsync(uchPosobieEditViewModel.FormFile, fileDataTypeEnum);

                if (fileModel != null)                                                                              //Если новый файл успешно загружен
                {
                    if (uchPosobieEditViewModel.UchPosobie.FileModelId != 0)                                        // и при этом ранее уже был загружен другой файл
                    {
                        await _fileModelRepository.RemoveFileAsync(uchPosobieEditViewModel.UchPosobie.FileModelId); // Удаляем старый файл
                    }
                }

                uchPosobieEditViewModel.UchPosobie.FileModelId = fileModel.Id;
            }

            _context.UchPosobie.Update(uchPosobieEditViewModel.UchPosobie);
            try
            {
                // Attempt to save changes to the database
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                foreach (var entry in ex.Entries)
                {
                    if (entry.Entity is UchPosobie)
                    {
                        var proposedValues = entry.CurrentValues;
                        var databaseValues = entry.GetDatabaseValues();

                        foreach (var property in proposedValues.Properties)
                        {
                            var proposedValue = proposedValues[property];
                            var databaseValue = databaseValues[property];

                            // TODO: decide which value should be written to database
                            proposedValues[property] = proposedValue;
                        }

                        // Refresh original values to bypass next concurrency check
                        entry.OriginalValues.SetValues(databaseValues);
                        await _context.SaveChangesAsync();
                    }
                    else
                    {
                        throw new NotSupportedException(
                                  "Don't know how to handle concurrency conflicts for "
                                  + entry.Metadata.Name);
                    }
                }
            }
        }
        /// <summary>
        /// Удаляет аннотацию
        /// </summary>
        /// <param name="eduAnnotation"></param>
        /// <returns></returns>
        public async Task RemoveEduAnnotationAsync(EduAnnotation eduAnnotation)
        {
            _context.EduAnnotations.Remove(eduAnnotation);
            await _fileModelRepository.RemoveFileAsync(eduAnnotation.FileModelId);

            await _context.SaveChangesAsync();
        }