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));
        }