/// <summary> /// Удаляет документ пользователя /// </summary> /// <param name="userDocument"></param> /// <returns></returns> public async Task RemoveUserDocumentAsync(UserDocument userDocument) { _context.UserDocuments.Remove(userDocument); await RemoveFileModelAsync(userDocument.FileModel); await _context.SaveChangesAsync(); }
/// <summary> /// Загружает на сервер документ об образовании и /// создаёт соответствующую запись в таблице UserDocuments /// </summary> /// <param name="userName"></param> /// <param name="uploadedFile"></param> /// <param name="typeOfEducationDocument">Тип документа об образовании</param> /// <returns></returns> public async Task <UserDocument> CreateEducationDocumentAsync(string userName, IFormFile uploadedFile, FileDataTypeEnum typeOfEducationDocument) { var userId = _userProfileRepository.GetAppUserId(userName); var fileModel = await _fileModelRepository.UploadEducationDocumentAsync(uploadedFile, typeOfEducationDocument); if (fileModel == null) { return(null); } var userDocument = new UserDocument { AppUserId = userId, FileModelId = fileModel.Id, FileDataTypeId = (int)typeOfEducationDocument }; await _context.AddAsync(userDocument); await _context.SaveChangesAsync(); return(userDocument); }
/// <summary> /// Обновляет документ пользователя /// </summary> /// <param name="userDocument"></param> /// <param name="uploadedFile"></param> /// <returns></returns> public async Task UpdateUserDocument(UserDocument userDocument, IFormFile uploadedFile) { if (userDocument == null) { throw new NullReferenceException(); } var entry = await GetUserDocumentAsync(userDocument.UserDocumentId); entry.AppUserId = userDocument.AppUserId; entry.FileDataTypeId = userDocument.FileDataTypeId; entry.RowStatusId = userDocument.RowStatusId; entry.Remark = userDocument.Remark; if (userDocument.FileDataTypeId != entry.FileDataTypeId) { entry.FileDataTypeId = userDocument.FileDataTypeId; foreach (var fileToFileType in entry.FileModel.FileToFileTypes) { fileToFileType.FileDataTypeId = userDocument.FileDataTypeId; } } if (uploadedFile != null) { if (entry.FileModelId == 0) { var newFileModel = await _fileModelRepository.UploadFileAsync(uploadedFile, (FileDataTypeEnum)entry.FileDataTypeId); } else { await _fileModelRepository.ReloadFileAsync(entry.FileModelId, uploadedFile); } } _context.UserDocuments.Update(entry); await _context.SaveChangesAsync(); }
/// <summary> /// Загружает на сервер согласие на обработку персональных данных и /// создаёт соответствующую запись в таблице UserDocuments /// </summary> /// <param name="userName"></param> /// <param name="uploadedFile"></param> /// <returns></returns> public async Task <UserDocument> CreateApplicationForProcessingPersonalDataAsync(string userName, IFormFile uploadedFile) { var userId = _userProfileRepository.GetAppUserId(userName); var fileModel = await _fileModelRepository.UploadApplicationForProcessingPersonalDataAsync(uploadedFile); if (fileModel == null) { return(null); } var userDocument = new UserDocument { AppUserId = userId, FileModelId = fileModel.Id, FileDataTypeId = (int)FileDataTypeEnum.SoglasieNaObrabotkuPersonalnihDannih }; await _context.AddAsync(userDocument); await _context.SaveChangesAsync(); return(userDocument); }
/// <summary> /// Загружает на сервер скан-копию СНИЛС и /// создаёт соответствующую запись в таблице UserDocuments /// </summary> /// <param name="userName"></param> /// <param name="uploadedFile"></param> /// <returns></returns> public async Task <UserDocument> CreateSNILS(string userName, IFormFile uploadedFile) { var userId = _userProfileRepository.GetAppUserId(userName); var fileModel = await _fileModelRepository.UploadSNILSAsync(uploadedFile); if (fileModel == null) { return(null); } var userDocument = new UserDocument { AppUserId = userId, FileModelId = fileModel.Id, FileDataTypeId = (int)FileDataTypeEnum.UserDocuments_SNILS, RowStatusId = (int)RowStatusEnum.NotConfirmed }; await _context.AddAsync(userDocument); await _context.SaveChangesAsync(); return(userDocument); }
/// <summary> /// Устанавливает замечание к документу /// </summary> /// <param name="userDocument"></param> /// <param name="remark"></param> /// <returns></returns> public async Task SetUserDocumentRemarkAsync(UserDocument userDocument, string remark) { userDocument.Remark = remark; await _context.SaveChangesAsync(); }