/// <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() })); }
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); }