Esempio n. 1
0
        /// <summary>
        /// Get Data From Database
        /// <para>Use it when to retive data through a stored procedure</para>
        /// </summary>
        public vmRecoverUser Get_CmnUserRecovery(vmRecoverUser model)
        {
            vmRecoverUser recoveredUser = null;
            string        spQuery       = string.Empty;

            try
            {
                if (model != null)
                {
                    using (GenericFactoryFor_RecUser = new vmRecoveryUser_GF())
                    {
                        Hashtable ht = new Hashtable();
                        ht.Add("RecoverEmail", model.RecoverEmail.Trim());

                        spQuery       = "[Get_CmnUserRecovery]";
                        recoveredUser = GenericFactoryFor_RecUser.ExecuteCommandSingle(spQuery, ht);
                    }
                }
            }
            catch (Exception e)
            {
                e.ToString();
            }

            return(recoveredUser);
        }
        public async Task <JsonResult> Recover(vmRecoverUser model)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    int           result = 0; int emailResult = 0;
                    vmRecoverUser objRecUser = null;
                    objRecUser = objUserService.Get_CmnUserRecovery(model);
                    if (objRecUser != null)
                    {
                        result = Convert.ToInt32(objRecUser.ReturnValue);
                        if (result == 1)
                        {
                            //send recovery mail
                            emailResult = await objMailService.PasswordRecovery(objRecUser);
                        }
                    }

                    return(Json(new { status = result }));
                }
                catch (Exception e)
                {
                    return(Json(new { status = false, errors = e.ToString() }));
                }
            }
            return(Json(new
            {
                status = false,
                errors = ModelState.Keys.SelectMany(i => ModelState[i].Errors).Select(m => m.ErrorMessage).ToArray()
            }));
        }
Esempio n. 3
0
        public async Task <int> PasswordRecovery(vmRecoverUser model)
        {
            int         result   = 0;
            string      sender   = "*****@*****.**";
            string      receiver = model.LoginEmail;
            MailMessage Msg      = new MailMessage();

            try
            {
                Msg.From = new MailAddress(sender);
                Msg.To.Add(receiver);
                StreamReader reader     = new StreamReader(HttpContext.Current.Server.MapPath("~/EmailTemplate/PasswordRecovery.html"));
                string       readFile   = reader.ReadToEnd();
                string       StrContent = "";
                StrContent = readFile;

                StrContent = StrContent.Replace("[UserID]", model.UserID);
                StrContent = StrContent.Replace("[LoginID]", model.LoginID);
                StrContent = StrContent.Replace("[LoginEmail]", model.LoginEmail);
                StrContent = StrContent.Replace("[Password]", model.Password);
                StrContent = StrContent.Replace("[RequestedIP]", model.RequestedIP);
                StrContent = StrContent.Replace("[CompanyName]", model.CompanyName);

                Msg.Subject    = model.CompanyName + " - Password Recovery";
                Msg.Body       = StrContent.ToString();
                Msg.IsBodyHtml = true;

                using (var smtp = new SmtpClient())
                {
                    var credential = new NetworkCredential
                    {
                        UserName = "******",
                        Password = "******"
                    };
                    smtp.Credentials = credential;

                    smtp.Host           = "mail.amber.com.bd";
                    smtp.Port           = 25;
                    smtp.EnableSsl      = false;
                    smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;

                    smtp.Timeout = 20000;
                    await smtp.SendMailAsync(Msg);

                    result = 1;
                }
            }
            catch (Exception ex)
            {
                ex.ToString();
                result = 0;
            }
            return(result);
        }