public IActionResult ChangePassByMail(ChangePasswordMailDTO model) { try { var content = String.Empty; var result = String.Empty; var tokenUsed = CheckTokenUsed(model.Token); if (tokenUsed != HttpStatusCode.OK) { _logger.LogInformation("Token de cambio de contraseña a través del mail para el token {0} usado.", model.Token); ViewBag.Motivo = "Token Usado"; ViewBag.Content = "No es posible realizar el cambio de contraseña, el token para ésta funcionalidad ya fue utilizado o perdió su validez."; ViewBag.MailSoporte = Helper.Parametro.GetValue("MailSoporte"); return(View("ErrorToken")); } try { result = _pass.ChangePasswordByMail(model.Password, model.Token).ToString(); } catch (Exception e) { _logger.LogErrorException(e, "No fue posible cambiar la contraseña. Exception: " + e.Message); ViewBag.Motivo = "Error al actualizar datos"; ViewBag.Content = "No fue posible realizar el cambio de contraseña."; ViewBag.MailSoporte = Helper.Parametro.GetValue("MailSoporte"); return(View("ErrorToken")); } if (result == null) { _logger.LogError("Ocurrió un error al actualizar la contraseña para el token {0}", model.Token); ViewBag.Motivo = "Error al actualizar datos"; ViewBag.Content = "No fue posible realizar el cambio de contraseña."; ViewBag.MailSoporte = Helper.Parametro.GetValue("MailSoporte"); return(View("ErrorToken")); } _logger.LogInformation("Cambio de contraseña para el token {0} realizado correctamente.", model.Token); ViewBag.Referer = _configuration.GetSection("UrlBackendComercio").Value; ViewBag.Motivo = "Cambio de contraseña exitoso"; ViewBag.Content = "La contraseña ha sido actualizada satisfactoriamente."; return(View("ChangePasswordSuccess")); } catch (Exception e) { _logger.LogErrorException(e, "El cambio de contraseña para el token {0} no pudo ser realizado."); ViewBag.Motivo = "Error al actualizar datos"; ViewBag.Content = "No fue posible realizar el cambio de contraseña."; ViewBag.MailSoporte = Helper.Parametro.GetValue("MailSoporte"); return(View("ErrorToken")); } }