public async Task <IActionResult> OnPostAsync(int?id) { if (id == null) { return(NotFound()); } PersonalDocument = await _context.PersonalDocument.FindAsync(id); if (PersonalDocument != null) { if (PersonalDocument.UserId == _userManager.GetUserId(User) && !(PersonalDocument.Valid ?? false)) { if (!String.IsNullOrEmpty(PersonalDocument.FilePath) && System.IO.File.Exists(Path.Combine(_environment.ContentRootPath, "uploads", PersonalDocument.FilePath))) { System.IO.File.Delete(Path.Combine(_environment.ContentRootPath, "uploads", PersonalDocument.FilePath)); } _context.PersonalDocument.Remove(PersonalDocument); await _context.SaveChangesAsync(); } } return(RedirectToPage("./Index")); }
// To protect from overposting attacks, enable the specific properties you want to bind to, for // more details, see https://aka.ms/RazorPagesCRUD. public async Task <IActionResult> OnPostAsync() { //ensure that only updates on current auth user PersonalDocument.UserId = _userManager.GetUserId(User); PersonalDocument old = await _context.PersonalDocument .AsNoTracking() .Where(p => p.UserId == _userManager.GetUserId(User)) .Include(p => p.User) .FirstOrDefaultAsync(m => m.Id == PersonalDocument.Id); if (!String.Equals(old.DocumentNumber, PersonalDocument.DocumentNumber) || !String.Equals(old.DocumentType, PersonalDocument.DocumentType) || !String.Equals(old.FilePath, PersonalDocument.FilePath) ) { PersonalDocument.Valid = null; } this.ModelState.Clear(); if (!TryValidateModel(PersonalDocument)) { return(Page()); } if (Upload != null && Upload.ContentType.Equals("application/pdf") && Upload.Length <= 1000000) { string fileName = $"{PersonalDocument.UserId}_PersonalDocument_{DateTime.Now.ToString("yyyyMMddHHmmss")}.pdf"; var file = Path.Combine(_environment.ContentRootPath, "uploads", fileName); using (var fileStream = new FileStream(file, FileMode.Create)) { await Upload.CopyToAsync(fileStream); if (!String.IsNullOrEmpty(old.FilePath) && System.IO.File.Exists(Path.Combine(_environment.ContentRootPath, "uploads", old.FilePath))) { System.IO.File.Delete(Path.Combine(_environment.ContentRootPath, "uploads", old.FilePath)); } PersonalDocument.FilePath = fileName; } } _context.Attach(PersonalDocument).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!PersonalDocumentExists(PersonalDocument.Id)) { return(NotFound()); } else { throw; } } return(RedirectToPage("./Index")); }
public async Task <string> UpdatePersonalDocument(int id, PersonalDocument personalDocument) { try { var res = await _repository.UpdatePersonalDocument(id, personalDocument); return(res); } catch (Exception ex) { throw ex; } }
public async Task <PersonalDocument> CreateNewPersonalDocument(PersonalDocument personalDocument) { try { var res = await _repository.CreateNewPersonalDocument(personalDocument); return(res); } catch (Exception ex) { throw ex; } }
public async Task <PersonalDocument> CreateNewPersonalDocument(PersonalDocument personalDocument) { try { _context.PersonalDocuments.Add(personalDocument); await _context.SaveChangesAsync(); return(personalDocument); } catch (Exception ex) { throw ex; } }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } PersonalDocument = await _context.PersonalDocument .Include(p => p.User).FirstOrDefaultAsync(m => m.Id == id); if (PersonalDocument == null) { return(NotFound()); } return(Page()); }
public async Task <IActionResult> CreatePersonalDocument(PersonalDocument personalDocument) { try { var response = await _service.CreateNewPersonalDocument(personalDocument); if (response != null) { return(Ok(response)); } return(StatusCode(StatusCodes.Status204NoContent)); } catch (Exception ex) { throw ex; } }
public override async Task <string> Execute(FileRequest request) { var fileId = await _fileStorage.SaveAsync(request.File, request.FileName); var newFileRecord = new PersonalDocument() { FileUrl = fileId, Name = request.FileName, UserId = request.UserId, ContentType = request.ContentType }; await _dbContext.PersonalDocuments.AddAsync(newFileRecord); await _dbContext.SaveChangesAsync(); return(fileId); }
public override async Task <string> Execute(FileRequest request) { var profile = await _dbContext.PersonalData .Include(p => p.ProfilePictureFile) .FirstOrDefaultAsync(p => p.UserId == request.UserId); if (profile != null && profile.ProfilePictureFileId > 0) { var file = profile.ProfilePictureFile; _fileStorage.Delete(file.FileUrl); _dbContext.PersonalDocuments.Remove(file); } var fileId = await _pictureSaver.SaveAsync(request.File, request.FileName); var newFileRecord = new PersonalDocument() { FileUrl = fileId, Name = request.FileName, UserId = request.UserId, ContentType = request.ContentType }; await _dbContext.PersonalDocuments.AddAsync(newFileRecord); if (profile != null) { profile.ProfilePictureFileId = newFileRecord.Id; } else { profile = new PersonalData() { UserId = request.UserId, ProfilePictureFileId = newFileRecord.Id, }; await _dbContext.PersonalData.AddAsync(profile); } await _dbContext.SaveChangesAsync(); return(fileId); }
public async Task <string> UpdatePersonalDocument(int id, PersonalDocument personalDocument) { try { var res = await _context.PersonalDocuments.FirstOrDefaultAsync(m => m.PersonalDocumentId == id); res.Document = personalDocument.Document; res.ValidUntil = personalDocument.ValidUntil; res.Status = personalDocument.Status; res.Details = personalDocument.Details; res.Attachment = personalDocument.Attachment; _context.Update(res); await _context.SaveChangesAsync(); return("Updated Record"); } catch (Exception ex) { throw ex; } }
public async Task <IActionResult> UpdatePersonalDocument(int PersonalDocumentId, PersonalDocument personalDocument) { try { var res = await _service.UpdatePersonalDocument(PersonalDocumentId, personalDocument); if (res != null) { return(Ok(res)); } return(StatusCode(StatusCodes.Status204NoContent)); } catch (Exception ex) { throw; } }
private string PrintPersonalDocument(PersonalDocument document) { return(Strings.Resources.PassportDocuments); }