Exemplo n.º 1
0
        public async Task SendForgotPwd(ForgotPasswordRes req)
        {
            var email = new EmailTemplate
            {
                To = To,
                //To = "*****@*****.**",
                Bcc             = Bcc,
                Subject         = "EMECI - Recordatorio de contraseña",
                Title           = "Protege tu salud y la de tu familia a través de EMECI",
                TypeEmailToSend = EmailTemplate.TypeEmail.forgotPwd,
                ForgotPwd       = req
            };

            try
            {
                await email.SendAsync();
            }
            catch (Exception ex)
            {
                Log.Write($"EmailService, SendForgotPwd=> {ex.Message}");
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// El usuario solicita reestablecer contraseña
        /// </summary>
        /// <param name="dni"></param>
        /// <returns></returns>
        internal static ForgotPasswordRes forgotPassword_requets(string dni)
        {
            ForgotPasswordRes result = new ForgotPasswordRes();
            var baseUrl = Common.GetBaseUrl();

            //verificar si existe en el dominio
            //bool userExst = true;//UserExist(userName, domainName);

            //if (!userExst )
            //{
            //    result.Status = "Error";
            //    result.Message = " <p>  El usuario ingresado no existe.</p>";

            //    return result;
            //}
            EmpleadoBE empleadoBE = MeucciDAC.VirifyUser_ForgotPassword(dni);

            empleadoBE.DNI = dni;
            //Buscar empleado
            //EmpleadoBE empleadoBE = new EmpleadoBE();
            //empleadoBE.email = "*****@*****.**";
            //empleadoBE.ApeNom ="MOF";
            //var res = getSocioBEByUserName(userName, false, false);



            if (string.IsNullOrEmpty(empleadoBE.Email))
            {
                result.Status  = "Error";
                result.Message = " <p>  El usuario ingresado no registra un correo.</p>";

                return(result);
            }

            Int64 ttl = Fwk.HelperFunctions.DateFunctions.DateTimeToUnixTimeStamp(System.DateTime.Now.AddMinutes(10));

            //Generate token
            string toEncrypt = string.Concat(empleadoBE.DNI, ";", empleadoBE.Email.Trim(), ";", ttl.ToString());
            string code      = Common.Encrypt(toEncrypt);
            //string code = Common.getMd5Hash(string.Concat(empleadoBE.DNI, empleadoBE.Email.Trim()));

            string file = System.Web.Hosting.HostingEnvironment.MapPath("~/files/Email_Forgot_Password.html");

            try
            {
                string        txt  = Fwk.HelperFunctions.FileFunctions.OpenTextFile(file);
                StringBuilder BODY = new StringBuilder(txt);

                BODY.Replace("$userName$", empleadoBE.ApeNom);


                //BODY.Replace("$url$", "https://host/selfreset/?code=" + code);


                //string forgotPwd = String.Format("reset/{0}/{1}", code, empleadoBE.DNI);
                string forgotPwd = String.Format("reset?code={0}", HttpUtility.UrlEncode(code));

                BODY.Replace("$url$", apiHelper.apiConfig.url_reseteoBase + forgotPwd);


                Common.SendMail(string.Concat("Solicitud de cambio de contraseña"), BODY.ToString(), empleadoBE.Email.Trim(), "");

                int at = empleadoBE.Email.IndexOf('@');

                var mail = "*******" + empleadoBE.Email.Substring(at - 3, empleadoBE.Email.Length - at + 3);


                result.Message = "Le enviaremos un email a su casilla de correo " + mail + " y " +
                                 "en el mismo encontrará un código de acceso en un enlace para que finalice el " +
                                 "proceso de cambio de contraseña";


                result.Status = "Success";
            }
            catch (Exception ex)
            {
                result.Status  = "Error";
                result.Message = Fwk.Exceptions.ExceptionHelper.GetAllMessageException(ex, false);
            }


            return(result);
            // Common.SendMail("Registracion de socio al sitio web de CELAM", string.Format(txt, userName), "*****@*****.**", emai.Trim(), "");
        }