public static bool Save(List <string> cards, long branchID, out long successfulCards) { try { var result = false; var pregeneratedCards = new List <PregeneratedCard>(); string key = System.Configuration.ConfigurationManager.AppSettings.Get("ekey"); cards.ForEach(card => { string hashedCardNumber = PasswordHash.MD5Hash(card); if (!CardDL.PregeneratedCardExists(hashedCardNumber)) { var pregeneratedCard = new PregeneratedCard { CardNumber = Crypter.Encrypt(key, card), HashedCardNumber = hashedCardNumber, Status = false, Branch = branchID, DateUploaded = System.DateTime.Now }; pregeneratedCards.Add(pregeneratedCard); } }); if (pregeneratedCards.Any()) { result = CardDL.Save(pregeneratedCards); } successfulCards = pregeneratedCards.Count(); return(result); } catch (Exception ex) { throw ex; } }
public static List <Object> RetrieveUsers() { try { string eKey = System.Configuration.ConfigurationManager.AppSettings.Get("ekey"); List <User> users = UserDL.RetrieveUsers(); List <Object> returnedUsers = new List <Object>(); foreach (User user in users) { object userObj = new { ID = user.ID, Lastname = user.Lastname, Othernames = user.Othernames, Gender = user.Gender, PhoneNumber = user.PhoneNumber, Email = user.Email, Username = user.Username, CreatedOn = String.Format("{0:dddd, MMMM d, yyyy}", Convert.ToDateTime(user.CreatedOn)), Role = new { ID = user.Role.ID, Name = user.Role.Name }, Branch = new { ID = user.Branch.ID, Name = user.Branch.Name }, SmartCardID = user.SmartCardID == null ? "None" : Crypter.Decrypt(eKey, user.SmartCard.EncryptedSmartCardID) }; returnedUsers.Add(userObj); } return(returnedUsers); } catch (Exception ex) { throw ex; } }
public static CardDetails GetCardSerialNumber(string loggedInUsername) { try { string key = System.Configuration.ConfigurationManager.AppSettings.Get("ekey"); var returnedPregeneratedCard = new CardDetails(); var pregeneratedCard = CardDL.GetCardSerialNumber(loggedInUsername); if (pregeneratedCard != null) { CardDetails pCard = new CardDetails { ID = pregeneratedCard.ID, CardNumber = Crypter.Decrypt(key, pregeneratedCard.CardNumber), Issued = Convert.ToBoolean(pregeneratedCard.Status), Branch = pregeneratedCard.Branch1.Name, BranchID = pregeneratedCard.Branch1.ID, DateUploaded = Convert.ToDateTime(pregeneratedCard.DateUploaded).ToString("MM/dd/yyyy") }; returnedPregeneratedCard = pCard; } else { returnedPregeneratedCard = null; } return(returnedPregeneratedCard); } catch (Exception ex) { throw ex; } }
public static void SendForgotPasswordMail(User user) { try { string key = System.Configuration.ConfigurationManager.AppSettings.Get("ekey"); string encrypted_username = Crypter.Encrypt(key, user.Username); string userFullName = user.Lastname + " " + user.Othernames; string organization = System.Configuration.ConfigurationManager.AppSettings.Get("Organization"); string applicationName = System.Configuration.ConfigurationManager.AppSettings.Get("ApplicationName"); string websiteUrl = System.Configuration.ConfigurationManager.AppSettings.Get("WebsiteUrl"); string passwordResetUrl = websiteUrl + "User/ResetPassword?rq=" + encrypted_username;; string subject = "Password Reset Request on " + applicationName; string fromAddress = ""; string smtpUsername = ""; string smtpPassword = ""; string smtpHost = ""; Int32 smtpPort = 587; bool smtpUseDefaultCredentials = false; bool smtpEnableSsl = true; MailHelper mailConfig = ConfigurationManager.GetSection("mailHelperSection") as MailHelper; if (mailConfig != null && mailConfig.Mail != null) { fromAddress = mailConfig.Mail.FromEmailAddress; smtpUsername = mailConfig.Mail.Username; smtpPassword = mailConfig.Mail.Password; } if (mailConfig != null && mailConfig.Smtp != null) { smtpHost = mailConfig.Smtp.Host; smtpPort = Convert.ToInt32(mailConfig.Smtp.Port); smtpUseDefaultCredentials = Convert.ToBoolean(mailConfig.Smtp.UseDefaultCredentials); smtpEnableSsl = Convert.ToBoolean(mailConfig.Smtp.EnableSsl); } string body = ""; body = System.IO.File.ReadAllText(System.Web.Hosting.HostingEnvironment.MapPath(@"~/App_Data/MailTemplates/ForgotPassword.txt")); body = body.Replace("#Organization", organization); body = body.Replace("#ApplicationName", applicationName); body = body.Replace("#UserFullName", userFullName); body = body.Replace("#WebsiteUrl", websiteUrl); body = body.Replace("#PasswordResetUrl", passwordResetUrl); Thread email = new Thread(delegate() { Mail.SendMail(user.Email, fromAddress, subject, body, smtpHost, smtpPort, smtpUseDefaultCredentials, smtpUsername, smtpPassword, smtpEnableSsl); }); email.IsBackground = true; email.Start(); } catch (Exception ex) { ErrorHandler.WriteError(ex); throw ex; } }
public static bool UpdateStatus(string cardSerialNumber, string licenseNumber, int printStatus, string userPrinting, string printedName) { try { bool result = false; using (var context = new LicenseDBEntities()) { using (var transaction = context.Database.BeginTransaction()) { try { var car = context.CardAccountRequests .Where(x => x.LicenseID == licenseNumber).FirstOrDefault(); string key = System.Configuration.ConfigurationManager.AppSettings.Get("ekey"); string hashedCardNumber = PasswordHash.MD5Hash(cardSerialNumber); if (car != null) { car.PrintStatus = printStatus; car.DatePrinted = System.DateTime.Now; car.UserPrinting = userPrinting; car.CardSerialNumber = Crypter.Encrypt(key, cardSerialNumber); car.HashedCardSerialNumber = hashedCardNumber; car.PrintedName = printedName; context.Entry(car).State = EntityState.Modified; context.SaveChanges(); var card = context.PregeneratedCards .Where(x => x.HashedCardNumber == hashedCardNumber).FirstOrDefault(); if (card != null) { card.Status = true; context.Entry(card).State = EntityState.Modified; context.SaveChanges(); result = true; transaction.Commit(); } } } catch (Exception ex) { transaction.Rollback(); throw ex; } } } return(result); } catch (Exception ex) { throw ex; } }
public static List <CardAccountRequestDTO> RetrieveCardAccountRequests() { try { string key = System.Configuration.ConfigurationManager.AppSettings.Get("ekey"); var cars = CardAccountRequestDL.RetrieveCardAccountRequests(); if (cars.Any()) { var branchList = BranchDL.RetrieveBranches(); var result = (from car in cars select new CardAccountRequestDTO { ID = car.ID, LicenseID = car.LicenseID, CardSerialNumber = !string.IsNullOrEmpty(car.CardSerialNumber) ? Crypter.Decrypt(key, car.CardSerialNumber) : string.Empty, Lastname = car.Lastname, FirstName = car.FirstName, MiddleName = car.MiddleName, NameOnCard = car.NameOnCard, DateOfBirth = car.DateOfBirth, MaritalStatus = car.MaritalStatus, Sex = car.Sex, Religion = car.Religion, MothersMaidenName = car.MothersMaidenName, Nationality = car.Nationality, UtilityBill = car.UtilityBill, IDNumber = car.IDNumber, LocalGovernmentArea = car.LocalGovernmentArea, BloodGroup = car.BloodGroup, LicenseType = car.LicenseType, IssueDate = car.IssueDate, ValidTillDate = car.ValidTillDate, FileNumber = car.FileNumber, EmailAddress = car.EmailAddress, PhoneNumber = car.PhoneNumber, Address = car.Address, PrintStatus = car.PrintStatus == 1 ? "Enrolled" : (car.PrintStatus == 2 ? "SentForPrinting" : "Printed"), UserPrinting = car.UserPrinting, DateEnroled = Convert.ToDateTime(car.DateEnroled), DatePrinted = Convert.ToDateTime(car.DatePrinted), Branch = branchList.Where(x => x.ID == car.BranchID).FirstOrDefault().Name }).ToList(); return(result); } else { return(new List <CardAccountRequestDTO>()); } } catch (Exception ex) { throw ex; } }