public async Task <IActionResult> ChangeCertificate(ChangeCertificateViewModel model, IFormFile file) { model.Certificate = null; var user = await this.userHelper.GetUserByEmailAsync(this.User.Identity.Name); if (user != null) { user.CertificatePassword = model.Password; if (file != null) { if (file.Length > 0) { //Getting FileName var fileName = Path.GetFileName(file.FileName); //Getting file Extension var fileExtension = Path.GetExtension(fileName); // concatenating FileName + FileExtension //var newFileName = String.Concat(Convert.ToString(Guid.NewGuid()), fileExtension); var objfile = new Data.Entities.File() { FileName = fileName, FileType = fileExtension, AddedDate = DateTime.Now }; using (var target = new MemoryStream()) { file.CopyTo(target); objfile.Data = target.ToArray(); } await fileRepo.CreateAsync(objfile); user.Certificate = objfile; } } var respose = await this.userHelper.UpdateUserAsync(user); if (respose.Succeeded) { this.ViewBag.UserMessage = "Listo. Cargamos tu certificado!"; } else { this.ModelState.AddModelError(string.Empty, respose.Errors.FirstOrDefault().Description); } } else { this.ModelState.AddModelError(string.Empty, "No encontramos el usuario."); } return(this.View(model)); }
public IActionResult ChangeCertificate() { var user = this.userHelper.GetUserWithCertificateByEmail(this.User.Identity.Name); var model = new ChangeCertificateViewModel(); if (user != null) { model.Certificate = user.Certificate; model.Password = user.CertificatePassword; if (user.Certificate != null) { @ViewBag.HasCertificate = true; @ViewBag.CertificateName = user.Certificate.FileName; } } return(this.View(model)); }