コード例 #1
0
 public IActionResult New(Attorney attorney)
 {
     if (!_usersRepo.VerifyUsername(attorney.User.Username))
     {
         ModelState.AddModelError("uqUsername", "El usuario ingresado ya existe");
     }
     if (!_attorneysRepo.VerifyEmail(attorney.Email))
     {
         ModelState.AddModelError("uqEmail", "El correo ingresado ya existe");
     }
     if (!_attorneysRepo.VerifyNotaryCode(attorney.NotaryCode))
     {
         ModelState.AddModelError("uqNotaryCode", "El código de notario ingresado ya existe");
     }
     //if(attorney.User.Username.Contains(" "))
     //{
     //    ModelState.AddModelError("whiteSpacesUsername", "El nombre de usuario contiene espacios en blanco, favor no incluir espacios en blanco");
     //}
     if (!ModelState.IsValid)
     {
         NewAttorneyViewModel viewModel = new NewAttorneyViewModel
         {
             Departments = _departmentsRepo.Departments.ToList()
         };
         viewModel.Attorney = attorney;
         return(View(viewModel));
     }
     else
     {
         //string guidGenerated = _guidManager.GenerateGuid();
         //string passwordDefault = guidGenerated.Substring(guidGenerated.Length - 12, 12);
         string passwordOriginal = attorney.User.Password;
         string passwordHashed   = _cryptoManager.HashString(attorney.User.Password);
         attorney.User.Password = passwordHashed;
         _attorneysRepo.Save(attorney);
         //Envío de password sin hash al usuario
         string emailBody = $"Se le ha creado un acceso a la aplicación Lexincorp Nicaragua Web, su usuario es {attorney.User.Username} " +
                            $"y su clave de acceso es {passwordOriginal}. \n**Este es un mensaje autogenerado por el sistema, favor no responder**";
         _mailSender.SendMail(attorney.Email, "Usuario web creado para aplicación Lexincorp Nicaragua Web", emailBody);
         TempData["added"] = true;
         return(RedirectToAction("New"));
     }
 }