Beispiel #1
0
        /// <summary>
        /// El usuario ya se encuentra en lapagina de Olvide Contras.. y preciona el boton chequear DNI
        ///
        /// </summary>
        /// <param name="dni">retorna Empleado con sus usuarios</param>
        /// <returns></returns>
        internal static EmpleadoBE ForgotPassword_checkDNI(string dni)
        {
            StringBuilder str = new StringBuilder("Con el DNI ingresado no podemos ayudarte. Comunícate con CAIS. ");

            str.AppendLine("CANALES DE ATENCIÓN:");
            str.AppendLine("Chat(Incidentes particulares): caischat.grupokonecta.com.ar");
            str.AppendLine("Telefónico(Incidentes Masivos) 54 9 351 4266616");
            str.AppendLine("Mail: [email protected]");
            try
            {
                EmpleadoBE empleadoBE = MeucciDAC.VirifyUser_ForgotPassword(dni);

                if (empleadoBE == null)
                {
                    //throw new FunctionalException(1001,"El DNI no se encuentra registrado en nuestras Bases de Datos, verifícalo e intenta nuevamente o comunicarse con CAIS [email protected] y contacto 3514266616 .- ");

                    throw new FunctionalException(1001, str.ToString());
                }
                if (string.IsNullOrEmpty(empleadoBE.Email))
                {
                    throw new FunctionalException(1000, str.ToString());
                }
                return(empleadoBE);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #2
0
        /// <summary>
        /// El usuario recibe un mail con el codigo de autorizacion, entra ala pagina (link ofrecido) y envia nuevo pàssword
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="code"></param>
        /// <param name="domainName"></param>
        /// <param name="newPassword"></param>
        /// <returns></returns>
        //internal static ForgotPasswordRes forgotPassworChangePassword(string userName, string domainName,string code, string newPassword)
        //{
        //    ForgotPasswordRes result = new ForgotPasswordRes();


        //    //result = getSocioBEByUserName(userName);


        //    var isValid = Common.verifyMd5Hash(string.Concat(userName, domainName), code);
        //    if (isValid)
        //    {
        //        //User_Reset_Password(userName, newPassword, domainName);

        //        result.Status = "OK";
        //        result.Message = "El reseteo se realizó exitosamente.";
        //    }
        //    else
        //    {
        //        result.Status = "Error";
        //        result.Message = "El código de verificación enviado no es válido o no corresponde al socio en cuestión";
        //    }

        //    return result;
        //}

        /// <summary>
        /// El usuario recibe un mail con el codigo de autorizacion, entra ala pagina (link ofrecido) y en el init se chequea validez de url
        /// </summary>
        /// <param name="code"></param>
        /// <returns>EmpleadoBE</returns>
        internal static EmpleadoBE forgotPassworChangePassword_Verify(string code)
        {
            EmpleadoBE empleadoBE    = null;
            string     decriptedData = "";

            //var isValid = Common.verifyMd5Hash(string.Concat(dni, empleadoBE.Email), code);
            try
            {
                decriptedData = Common.Dencrypt(code);
            }
            catch (Exception ex)
            {
                throw new Exception("El códido de seguridad es incorrecto-");
            }

            bool isValid = false;

            if (decriptedData.Split(';').Length == 3)
            {
                // DNI;Email;TTL;
                string[] splited = decriptedData.Split(';');
                string   dni     = splited[0].Trim();
                //Obtengo la fecha de exp
                Int64 epocTtl = Convert.ToInt64(splited[2].Trim());
                Int64 epocNow = Fwk.HelperFunctions.DateFunctions.DateTimeToUnixTimeStamp(System.DateTime.Now);

                if (epocTtl < epocNow)
                {
                    throw new Exception("El códido de seguridad a caducado, por favor vuelva a solicitar cambio de contraseña.-");
                }


                empleadoBE = MeucciDAC.VirifyUser_ForgotPassword(dni);

                if (empleadoBE != null)
                {
                    empleadoBE.DNI = dni;
                    isValid        = splited[1].Trim().CompareTo(empleadoBE.Email.Trim()) == 0;
                }
            }


            if (isValid)
            {
                return(empleadoBE);
            }
            else
            {
                throw new Exception("El código de verificación enviado no es válido o no corresponde al socio en cuestión");
            }
        }
Beispiel #3
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(), "");
        }