public void SendMail(string subject, string from, IEnumerable<string> tos, IEnumerable<string> ccs, IEnumerable<string> bccs, LoginUser user, string loginurl, string templatepath, DateTime? dateTime) { var client = new SmtpClient(); var mailDefinition = new MailDefinition(); mailDefinition.Priority = MailPriority.High; mailDefinition.From = from; mailDefinition.IsBodyHtml = true; mailDefinition.Subject = subject; mailDefinition.BodyFileName = templatepath; var ldReplacement = new ListDictionary(); if (dateTime.HasValue) ldReplacement.Add("<%RegistrationDateTime%>", string.Format("{0:dd/MM/yyyy}", dateTime.Value)); else ldReplacement.Add("<%RegistrationDateTime%>", string.Format("{0:dd/MM/yyyy}", user.CreatedDt)); ldReplacement.Add("<%FullName%>", user.FullName.Trim().ToUpper()); ldReplacement.Add("<%UserName%>", user.UserName.Trim().ToUpper()); if (!string.IsNullOrWhiteSpace(user.Password)) ldReplacement.Add("<%Password%>", user.Password); ldReplacement.Add("<%LoginUrl%>", loginurl); var mail = new MailMessage(); mail = mailDefinition.CreateMailMessage(user.Email, ldReplacement, new Control()); mail.From = new MailAddress(from, "No Reply"); if (null != ccs) foreach (var cc in ccs.ToList().SelectMany(Spliter)) { mail.CC.Add(new MailAddress(cc, "")); } if (null != bccs) foreach (var bcc in bccs.ToList().SelectMany(Spliter)) { mail.Bcc.Add(new MailAddress(bcc, "")); } mail.Subject = subject; mail.IsBodyHtml = true; AlternateView htmlView = null; htmlView = AlternateView.CreateAlternateViewFromString(mail.Body, null, "text/html"); mail.AlternateViews.Add(htmlView); if (null != tos) foreach (var recipient in tos.ToList().SelectMany(Spliter)) { mail.To.Add(new MailAddress(recipient)); try { client.Send(mail); } catch (Exception exm) { } } }
public async Task<ActionResult> Register(RegisterViewModel model) { var exist = LoginPersistance.GetByUserName(model.IdNumber); if (null != exist) ModelState.AddModelError("", "Pengguna dengan Kad Pengenalan : " + model.IdNumber + " sudah wujud."); // check validity of id number if (!AtmHelper.MyKadValidation(model.IdNumber)) ModelState.AddModelError("", "Kad Pengenalan : " + model.IdNumber + " tidak sah."); string message; if (!AtmHelper.MyKadAgeValidation(model.IdNumber, out message)) ModelState.AddModelError("", message); // checking existing member of atm var atmexist = ObjectBuilder.GetObject<IApplicantPersistence>("ApplicantPersistence").ExistingAtmMember(model.IdNumber); if (null != atmexist) { if (atmexist.ExistingMemberStatus.Code.Trim() == "1") ModelState.AddModelError("", "Anda tidak layak memohon kerana anda sedang berkhidmat di dalam ATM"); if (atmexist.ExistingMemberStatus.Code.Trim() == "4") ModelState.AddModelError("", "Anda tidak layak memohon kerana pernah menyertai ATM dan telah diberhentikan atas sebab tatatertib"); } if (ModelState.IsValid) { // check no kad pengenalan valid or not var rand = new Random(); model.IdNumber = model.IdNumber.Replace("-", ""); model.IdNumber = model.IdNumber.Trim(); var login = new LoginUser() { FullName = model.FullName, UserName = model.IdNumber, LoginId = model.IdNumber, Email = model.Email, AlternativeEmail = model.AlternateEmail, Salt = Guid.NewGuid().ToString(), Password = "******" + rand.Next(1, 9999).ToString().PadLeft(4, '0'), FirstTime = true, IsLocked = false, CreatedDt = DateTime.Now, CreatedBy = "Registration" }; var id = login.Save(); // send notification email var from = ConfigurationManager.AppSettings["fromEmail"]; var url = this.Request.Url; if (url != null) { var loginurl = ConfigurationManager.AppSettings["server"] + "/Account/Login"; var templatepath = Path.Combine(System.Web.HttpContext.Current.Server.MapPath(@"~/Templates"), "Registration.html"); var mail = new MailService(); mail.Send(from, new List<string> { login.Email, login.AlternativeEmail }, null, null, login, loginurl, templatepath, null); } TempData["Message"] = "Id pengguna dan Kata laluan telah dihantar ke emel yang didaftarkan. Sila semak emel anda."; return RedirectToAction("Login", "Account"); } return View(model); }
public int AddNew(LoginUser loginUser) { if (null != loginUser) { using (var entities = new atmEntities()) { // check existing var exist = (from a in entities.tblUsers where a.LoginId == loginUser.LoginId select a).SingleOrDefault(); if (null != exist) { loginUser.UserId = exist.UserId; return Update(loginUser); } var u = new tblUser { UserName = loginUser.UserName, AlternativeEmail = loginUser.AlternativeEmail, ApplicantId = loginUser.ApplicantId, Email = loginUser.Email, FullName = loginUser.FullName.ToUpper(), Password = loginUser.Password, Salt = loginUser.Salt, LoginId = loginUser.LoginId, FirstTime = loginUser.FirstTime, IsLocked = loginUser.IsLocked, LastLoginDt = loginUser.LastLoginDt, LastLoginDt2 = loginUser.LastLoginDt2, ServiceCd = loginUser.ServiceCd, CreatedBy = loginUser.CreatedBy, CreatedDt = DateTime.Now, ModifiedBy = loginUser.ModifiedBy, ModifiedDt = loginUser.ModifiedDt }; entities.tblUsers.Add(u); if (entities.SaveChanges() != 0) return u.UserId; } } return 0; }
public int Update(LoginUser user, List<string> messages) { using (var entities = new atmEntities()) { var exist = (from a in entities.tblUsers where a.UserId == user.UserId select a).SingleOrDefault(); if (null == exist) return 0; exist.AlternativeEmail = user.AlternativeEmail; exist.ApplicantId = user.ApplicantId; exist.Email = user.Email; exist.ModifiedBy = user.ModifiedBy; exist.ModifiedDt = DateTime.Now; exist.ServiceCd = user.ServiceCd; exist.IsLocked = user.IsLocked; exist.LastLoginDt = user.LastLoginDt; exist.FirstTime = user.FirstTime; exist.FullName = user.FullName; exist.Salt = user.Salt; entities.SaveChanges(); return exist.UserId; } return 0; }
public LoginUser LoadByUserName(string username) { if (!string.IsNullOrWhiteSpace(username)) { using (var entities = new atmEntities()) { var user = (from a in entities.tblUsers where a.LoginId == username select a).SingleOrDefault(); if (null != user) { var usr = new LoginUser { AlternativeEmail = user.AlternativeEmail, ApplicantId = user.ApplicantId, CreatedBy = user.CreatedBy, CreatedDt = user.CreatedDt, LoginId = user.LoginId, UserId = user.UserId, ModifiedBy = user.ModifiedBy, ModifiedDt = user.ModifiedDt, Salt = user.Password, ServiceCd = user.ServiceCd, Status = user.IsLocked.HasValue ? user.IsLocked.Value ? "Aktif" : "Tidak Aktif" : "Aktif", UserName = user.UserName, Email = user.Email, FirstTime = user.FirstTime ?? false, FullName = user.FullName, IsLocked = user.IsLocked ?? false, LastLoginDt = user.LastLoginDt }; if (!string.IsNullOrWhiteSpace(user.ServiceCd)) { var svc = (from a in entities.tblREFServices where a.ServiceCd == user.ServiceCd select a).SingleOrDefault(); if (null != svc) usr.ServiceName = svc.Service; } var role = (from a in entities.tblUserRoles where a.UserId == user.UserId select a).SingleOrDefault(); if (null != role) { usr.LoginRole = new LoginRole { UserId = usr.UserId, Roles = role.Roles }; } return usr; } } } return null; }
public IEnumerable<LoginUser> LoadAllByStatus(string status) { var list = new List<LoginUser>(); using (var entities = new atmEntities()) { var islock = status == "Aktif"; var l = from a in entities.tblUsers where a.IsLocked == islock select a; if (l.Any()) { foreach (var user in l) { var usr = new LoginUser { AlternativeEmail = user.AlternativeEmail, ApplicantId = user.ApplicantId, CreatedBy = user.CreatedBy, CreatedDt = user.CreatedDt, LoginId = user.LoginId, UserId = user.UserId, ModifiedBy = user.ModifiedBy, ModifiedDt = user.ModifiedDt, Salt = user.Password, ServiceCd = user.ServiceCd, Status = user.IsLocked.HasValue ? user.IsLocked.Value ? "Aktif" : "Tidak Aktif" : "Aktif", UserName = user.UserName, Email = user.Email, FirstTime = user.FirstTime ?? false, FullName = user.FullName, IsLocked = user.IsLocked ?? false, LastLoginDt = user.LastLoginDt }; if (!string.IsNullOrWhiteSpace(user.ServiceCd)) { var svc = (from a in entities.tblREFServices where a.ServiceCd == user.ServiceCd select a).SingleOrDefault(); if (null != svc) usr.ServiceName = svc.Service; } var role = (from a in entities.tblUserRoles where a.UserId == user.UserId select a).SingleOrDefault(); if (null != role) { usr.LoginRole = new LoginRole { UserId = usr.UserId, Roles = role.Roles }; } list.Add(usr); } } } return list; }
public bool DeleteUser(LoginUser user) { if (!string.IsNullOrWhiteSpace(user.LoginId)) { using (var entities = new atmEntities()) { var exist = (from a in entities.tblUsers where a.LoginId == user.LoginId select a).SingleOrDefault(); if (null != exist) { entities.tblUsers.Remove(exist); return entities.SaveChanges() > 0; } } } return false; }
public int CreateNewUser(LoginUser user, List<string> messages) { using (var entities = new atmEntities()) { var exist = (from a in entities.tblUsers where a.LoginId == user.LoginId select a).SingleOrDefault(); if (null != exist) return 0; var usr = new tblUser { AlternativeEmail = user.AlternativeEmail, ApplicantId = user.ApplicantId, CreatedBy = user.CreatedBy, CreatedDt = DateTime.Now, FullName = user.FullName, FirstTime = user.FirstTime, Email = user.Email, IsLocked = user.IsLocked, LastLoginDt = user.LastLoginDt, LoginId = user.LoginId, Password = ObjectBuilder.GetObject<ICryptorService>("CryptorService").ComputeHashInString(user.Salt, user.Password), Salt = user.Salt, ServiceCd = user.ServiceCd, UserName = user.UserName }; if (entities.SaveChanges() > 0) { messages.Add("Berjaya"); return usr.UserId; } messages.Add("Tidak Berjaya"); } return 0; }
public void DeleteRoles(LoginUser user, List<string> roles) { using (var entities = new atmEntities()) { foreach (var exist in roles.Select(role => (from a in entities.tblUserRoles where a.UserId == user.UserId select a).SingleOrDefault()).Where(exist => null != exist)) { entities.tblUserRoles.Remove(exist); entities.SaveChanges(); } } }
public int Update(LoginUser loginUser) { if (null != loginUser) { using (var entities = new atmEntities()) { var exist = (from a in entities.tblUsers where a.UserId == loginUser.UserId select a).SingleOrDefault(); if (null != exist) { exist.UserName = loginUser.UserName; exist.ServiceCd = loginUser.ServiceCd; exist.ModifiedBy = loginUser.ModifiedBy; exist.ModifiedDt = DateTime.Now; exist.IsLocked = loginUser.IsLocked; exist.LastLoginDt = loginUser.LastLoginDt; exist.LastLoginDt2 = loginUser.LastLoginDt2; exist.FullName = loginUser.FullName.ToUpper(); exist.Email = loginUser.Email; exist.AlternativeEmail = loginUser.AlternativeEmail; exist.FirstTime = loginUser.FirstTime; exist.ApplicantId = loginUser.ApplicantId; if (loginUser.LoginRole != null) { if (loginUser.LoginRole.Roles != RolesString.AWAM) { // can update roles var role = (from a in entities.tblUserRoles where a.UserId == loginUser.UserId select a).SingleOrDefault(); if (null != role) { role.Roles = loginUser.LoginRole.Roles; } } } entities.SaveChanges(); return exist.UserId; } } } return 0; }
public IEnumerable<LoginUser> LoadAllUser(bool internaluser, bool? isactive, string servicecode, string search, int? take, int? skip, out int total) { var list = new List<LoginUser>(); total = 0; using (var entities = new atmEntities()) { var l = from a in entities.tblUsers select a; if (internaluser) l = from c in entities.tblUsers join b in entities.tblUserRoles on c.UserId equals b.UserId select c; else { var uroles = from a in entities.tblUserRoles select a; if (uroles.Any()) { var uss = uroles.Select(a => a.UserId).ToArray(); l = l.Where(a => !uss.Contains(a.UserId)); } } //if (isactive.HasValue) // l = l.Where(a => a.user.IsLocked == isactive.Value); //if (!string.IsNullOrWhiteSpace(servicecode)) // l = l.Where(a => a.user.ServiceCd == servicecode); //if (skip.HasValue && skip.Value != 0) // l = l.Skip(skip.Value); //if (take.HasValue) // l = l.Take(take.Value); if (!string.IsNullOrWhiteSpace(search)) l = l.Where(a => a.FullName.Contains(search) || a.LoginId.Contains(search)); total = l.Count(); if (take.HasValue && skip.HasValue) l = l.OrderBy(a => a.CreatedDt).Skip(skip.Value).Take(take.Value); if (l.Any()) foreach (var exist in l.ToList()) { var log = new LoginUser { UserId = exist.UserId, Email = exist.Email, LoginId = exist.LoginId, ModifiedBy = exist.ModifiedBy, CreatedDt = exist.CreatedDt, CreatedBy = exist.CreatedBy, FirstTime = exist.FirstTime ?? false, FullName = exist.FullName, ApplicantId = exist.ApplicantId, AlternativeEmail = exist.AlternativeEmail, IsLocked = exist.IsLocked ?? false, LastLoginDt = exist.LastLoginDt, LastLoginDt2 = exist.LastLoginDt2, ModifiedDt = exist.ModifiedDt, ServiceCd = exist.ServiceCd, UserName = exist.UserName }; if (!string.IsNullOrWhiteSpace(exist.ServiceCd)) { var svc = (from a in entities.tblREFServices where a.ServiceCd == exist.ServiceCd select a).SingleOrDefault(); if (null != svc) log.ServiceName = svc.Service; } if (internaluser) { var role = (from a in entities.tblUserRoles where a.UserId == exist.UserId select a).SingleOrDefault(); if (null != role) { log.LoginRole = new LoginRole { UserId = role.UserId, Roles = role.Roles }; } } else { log.LoginRole = new LoginRole { Roles = RolesString.AWAM }; } list.Add(log); } } return list; }
public LoginUser GetByUserName(string username) { if (!string.IsNullOrWhiteSpace(username)) { using (var entities = new atmEntities()) { var exist = (from a in entities.tblUsers where a.LoginId == username select a).SingleOrDefault(); if (null != exist) { var log = new LoginUser { UserId = exist.UserId, Email = exist.Email, LoginId = exist.LoginId, ModifiedBy = exist.ModifiedBy, CreatedDt = exist.CreatedDt, CreatedBy = exist.CreatedBy, FirstTime = exist.FirstTime ?? false, FullName = exist.FullName, ApplicantId = exist.ApplicantId, AlternativeEmail = exist.AlternativeEmail, IsLocked = exist.IsLocked ?? false, LastLoginDt = exist.LastLoginDt, LastLoginDt2 = exist.LastLoginDt2, ModifiedDt = exist.ModifiedDt, ServiceCd = exist.ServiceCd, UserName = exist.UserName }; if (!string.IsNullOrWhiteSpace(exist.ServiceCd)) { var svc = (from a in entities.tblREFServices where a.ServiceCd == exist.ServiceCd select a).SingleOrDefault(); if (null != svc) log.ServiceName = svc.Service; } var rol = (from a in entities.tblUserRoles where a.UserId == exist.UserId select a).SingleOrDefault(); if (null != rol) { log.LoginRole = new LoginRole { UserId = rol.UserId, Roles = rol.Roles }; } return log; } } } return null; }
public ActionResult SubmitUser(LoginUser loguser) { if (loguser.LoginRole != null && !string.IsNullOrWhiteSpace(loguser.LoginRole.Roles)) { if (loguser.LoginRole != null) { if (loguser.LoginRole.Roles != RolesString.AWAM) { loguser.Email = "NA"; loguser.AlternativeEmail = "NA"; if (loguser.UserId == 0) loguser.Salt = Guid.NewGuid().ToString(); } } loguser.CreatedDt = DateTime.Now; loguser.CreatedBy = User.Identity.Name; loguser.IsLocked = loguser.Status != "Aktif"; if (loguser.Save() > 0) { var user = ObjectBuilder.GetObject<ILoginUserPersistance>("LoginUserPersistance").GetByUserName(User.Identity.Name); if (null != user) ObjectBuilder.GetObject<ILoginUserPersistance>("LoginUserPersistance").LoggingUser(user.UserId, LogStatusCodeString.Create_User, User.Identity.Name, DateTime.Now); return Json(new { OK = true, message = "Berjaya." }); } } return Json(new { OK = false, message = "Tidak Berjaya." }); }
public ActionResult SubmitAndEmailUser(LoginUser loguser) { if (loguser.LoginRole != null && !string.IsNullOrWhiteSpace(loguser.Email)) { if (loguser.LoginRole != null) { if (loguser.LoginRole.Roles != RolesString.AWAM) { loguser.Email = "NA"; loguser.AlternativeEmail = "NA"; if (loguser.UserId == 0) loguser.Salt = Guid.NewGuid().ToString(); } } if (loguser.UserId == 0) { loguser.CreatedDt = DateTime.Now; loguser.CreatedBy = User.Identity.Name; } loguser.IsLocked = loguser.Status != "Aktif"; loguser.FirstTime = true; if (loguser.Save() > 0) { // change the password if the is new password if (loguser.UserId != 0) loguser.ChangePassword(loguser.Password); var user = ObjectBuilder.GetObject<ILoginUserPersistance>("LoginUserPersistance").GetByUserName(User.Identity.Name); if (null != user) { var url = this.Request.Url; if (url != null) { var from = ConfigurationManager.AppSettings["fromEmail"]; var loginurl = ConfigurationManager.AppSettings["server"] + "/Account/Login"; var templatepath = Path.Combine(System.Web.HttpContext.Current.Server.MapPath(@"~/Templates"), "TempPassword.html"); var mail = new MailService(); mail.SendMail("[JOM MASUK TENTERA]Notifikasi Kata Laluan Sementara", from, new List<string> { loguser.Email, loguser.AlternativeEmail }, null, null, loguser, loginurl, templatepath, DateTime.Now); } ObjectBuilder.GetObject<ILoginUserPersistance>("LoginUserPersistance").LoggingUser(user.UserId, LogStatusCodeString.Create_User, User.Identity.Name, DateTime.Now); } return Json(new { OK = true, message = "Berjaya." }); } } return Json(new { OK = false, message = "Tidak Berjaya." }); }
public void SendWithMessage(string from, IEnumerable<string> tos, IEnumerable<string> ccs, IEnumerable<string> bccs, LoginUser user, string subject, string body, DateTime? dateTime) { var client = new SmtpClient(); var mail = new MailMessage { From = new MailAddress(@from, "No Reply") }; if (null != ccs) foreach (var cc in ccs.ToList().SelectMany(Spliter)) { mail.CC.Add(new MailAddress(cc, "")); } if (null != bccs) foreach (var bcc in bccs.ToList().SelectMany(Spliter)) { mail.Bcc.Add(new MailAddress(bcc, "")); } mail.Subject = subject; mail.IsBodyHtml = true; mail.Body = body; AlternateView htmlView = null; if (mail.Body != null) htmlView = AlternateView.CreateAlternateViewFromString(mail.Body, null, "text/html"); mail.AlternateViews.Add(htmlView); if (null != tos) foreach (var recipient in tos.ToList().SelectMany(Spliter)) { mail.To.Add(new MailAddress(recipient)); try { client.Send(mail); } catch (Exception ex) { } } }