protected void btnLogin_Click(object sender, EventArgs e) { String Collectpassword = Utility.GetMd5Sum(tbPassword.Text); Simplicity.Data.SimplicityEntities DatabaseContext = new Simplicity.Data.SimplicityEntities(); Simplicity.Data.User user = (from u in DatabaseContext.Users where u.Email == tbUserName.Text && u.Password == Collectpassword && u.Verified == true && u.Enabled == true select u).FirstOrDefault(); if (user != null) { var userAuthorisedForThisProduct = user.UserProducts.Where(userProd => userProd.ProductID == int.Parse(AppSettings["HSProductIDInSimplicity"])); if (userAuthorisedForThisProduct.Count() <= 0) { errorPanel.Visible = true; SetErrorMessage("You are not authorized to use Health And Safety."); } else if (userAuthorisedForThisProduct.Count() > 0) { Simplicity.Data.Session session = new Simplicity.Data.Session(); session.SessionUID = System.Guid.NewGuid().ToString(); session.User = user; session.StartTime = DateTime.Now; session.LastActivityTime = DateTime.Now; session.EndTime = DateTime.Now.AddMinutes(30); session.IP = Request.UserHostAddress; DatabaseContext.AddToSessions(session); DatabaseContext.SaveChanges(); FormsAuthentication.SetAuthCookie(session.SessionUID, false); Session[WebConstants.Session.USER_ID] = user.UserID; Session["userName"] = user.Email; Session["userFullName"] = user.FullName; //Session["isTrial"] = user.UserProducts.FirstOrDefault().IsTrial; Session["sessionID"] = session.SessionUID; log.Info("User successfully logged in."); if (Session[WebConstants.Session.RETURN_URL] != null) { Response.Redirect((string)Session[WebConstants.Session.RETURN_URL]); } else if (Request["GOTO_URL"] != null) { Response.Redirect((string)Request["GOTO_URL"]); } else { Response.Redirect("TermsConditions.aspx", false); } } } else { errorPanel.Visible = true; SetErrorMessage(WebConstants.Messages.Error.CANNOT_LOGIN); } }
public static void SendEmail(MailMessage message) { try { var context = new SimplicityEntities(); string toEmails = ""; string toNames = ""; foreach (MailAddress address in message.To) { //toNames += address.DisplayName + ","; String[] toNameArray = ConfigurationSettings.AppSettings[WebConstants.Config.ADMIN_EMAIL_ADDRESSES].Split(','); foreach(String k in toNameArray){ toNames += k.Substring(0, k.IndexOf('@') ) + ","; } //toEmails += address.Address + ","+ toEmails += ConfigurationSettings.AppSettings[WebConstants.Config.ADMIN_EMAIL_ADDRESSES]; } var email=new EmailQueue{LogTime=DateTime.Now, NumOfTries=1, FromName="WestGate", FromAddress=FROM_ADDRESS, ToNames=toNames.Substring(0, toNames.Length - 1), ToAddresses=toEmails.Substring(0, toEmails.Length), Subject = message.Subject, Body = message.Body, SentTime = null }; context.AddToEmailQueues(email); context.SaveChanges(); SendEmailtoUser(message); } catch (Exception ex) { } }
public Boolean CreateAccount(String nEmail,String nPassword,String nType) { if (!this.UserExist(nEmail)) { using (var context = new SimplicityEntities()) { var user = new User { UserUID=Guid.NewGuid().ToString(),ReceiveEmails=false,Deleted=false,OnHold=false ,Email = nEmail,Password=nPassword,Verified=false, Enabled=false, Locked=false, CreationDate=DateTime.Now,Type=nType }; context.AddToUsers(user); context.SaveChanges(); } return true; } else { return false; } }
protected override void OnLoad(EventArgs e) { Response.Cache.SetCacheability(HttpCacheability.NoCache); SetErrorMessage(""); SetInfoMessage(""); Simplicity.Data.SimplicityEntities DatabaseContext = new Simplicity.Data.SimplicityEntities(); if (User.Identity.IsAuthenticated) { Simplicity.Data.Session session = (from s in DatabaseContext.Sessions where s.SessionUID == User.Identity.Name select s).FirstOrDefault(); if (session != null && session.User != null) { loggedInUser = session.User; session.LastActivityTime = DateTime.Now; session.EndTime = DateTime.Now.AddMinutes(30); session.IP = Request.UserHostAddress; session.ProductID = int.Parse(AppSettings["EAProductIDInSimplicity"]); DatabaseContext.SaveChanges(); } } }
protected void UserProductMapDetailUpdate_Click(object sender, EventArgs e) { System.Diagnostics.Debug.WriteLine(UsrProdNewMapValues); SimplicityEntities DatabaseContext = new SimplicityEntities(); int companyId = company.CompanyID; String [] selectedUsersAndProds = UsrProdNewMapValues.Value.Split(','); int totalSelectedUsersAndProducts = selectedUsersAndProds.Length; Dictionary<int, List<int>> usersGroupByProduct = new Dictionary<int, List<int>>(); for (int i = 0; i < totalSelectedUsersAndProducts - 1; i++) { String[] parsedId = selectedUsersAndProds[i].Split('_'); int userId = Int32.Parse(parsedId[2]); int prodId = Int32.Parse(parsedId[3]); if (usersGroupByProduct.ContainsKey(prodId) == false) { List<int> usersOfSameProduct = new List<int>(); usersGroupByProduct.Add(prodId, usersOfSameProduct); } List<int> usersOfSameProductValue = null; if (usersGroupByProduct.TryGetValue(prodId, out usersOfSameProductValue) == true) usersOfSameProductValue.Add(userId); } List<int> allCompanyProds = company.CompanyProducts.Select(cmpProd => cmpProd.ProductID).ToList(); foreach (int prodId in allCompanyProds) { if (usersGroupByProduct.ContainsKey(prodId) == true) { List<int> usersOfSameProduct = usersGroupByProduct[prodId]; var userUsingProductID = from usrProd in DatabaseContext.UserProducts where usrProd.User.CompanyID == companyId && usrProd.ProductID == prodId && usrProd.IsTrial == false select usrProd; var userIdOdUsersUsingProductID = userUsingProductID.Select(users => users.UserID); var myUsers = userIdOdUsersUsingProductID.Except(usersOfSameProduct); if (myUsers != null && myUsers.Count() > 0) { var usersToDelete = userUsingProductID.Where(usersOfProduct => myUsers.Where(usr => usr == usersOfProduct.UserID).Any());// usersOfProduct.UserID == myUsers); foreach (UserProduct userProduct in usersToDelete) DatabaseContext.UserProducts.DeleteObject(userProduct); } } else { var companyUsersUsingProduct = from usrProd in DatabaseContext.UserProducts where usrProd.User.CompanyID == companyId && usrProd.ProductID == prodId && usrProd.IsTrial == false select usrProd; foreach (UserProduct userProduct in companyUsersUsingProduct) DatabaseContext.UserProducts.DeleteObject(userProduct); }//if there is only one user using the product and admin removes it. }//remove users using the products first so licences can be made available to other users. DatabaseContext.SaveChanges(); foreach (int prodId in usersGroupByProduct.Keys) { int noOfLicencesForProduct = 0; var userUsingProduct = from usrProd in DatabaseContext.UserProducts where usrProd.User.CompanyID == companyId && usrProd.ProductID == prodId && usrProd.IsTrial == false select usrProd; var companyProd = company.CompanyProducts.Where(compProd => compProd.ProductID == prodId); List<int> newUsersUsingProduct = usersGroupByProduct[prodId]; foreach (int userId in newUsersUsingProduct) { var usrProd = userUsingProduct.Where(usrExist => usrExist.UserID == userId); if (usrProd != null && usrProd.Count() > 0) { continue; } else { if (companyProd != null) { foreach (Simplicity.Data.CompanyProduct companyProduct in companyProd) { UserProduct newUsrOfProd = null; noOfLicencesForProduct = companyProduct.NumOfLicenses; if (userUsingProduct.Count() < noOfLicencesForProduct) { newUsrOfProd = new UserProduct(); newUsrOfProd.UserID = userId; newUsrOfProd.ProductID = prodId; newUsrOfProd.IsTrial = false; newUsrOfProd.StartDate = DateTime.Now; newUsrOfProd.EndDate = DateTime.Now.AddYears(1); DatabaseContext.UserProducts.AddObject(newUsrOfProd); DatabaseContext.SaveChanges(); } else { SetErrorMessage("No. of users are greater than No. of Licenses for " + companyProduct.Product.Name); } break; }//there should be only one product. So loop will run only once. } } } } DatabaseContext.Dispose(); updateUserProdMapTable(); }
public static void SendEmailtoUser(MailMessage message) { try { var context = new SimplicityEntities(); string toEmails = ""; string toNames = ""; foreach (MailAddress address in message.To) { toNames += address.DisplayName ; toEmails += address.Address; } var email = new EmailQueue { LogTime = DateTime.Now, NumOfTries = 1, FromName = "WestGate", FromAddress = FROM_ADDRESS, ToNames = toNames.Substring(0, toNames.Length - 1), ToAddresses = toEmails.Substring(0, toEmails.Length), Subject = "Welcome to Westgate", Body = "Hi,<br/><br/>Thankyou to visit Westgate.<br/>Your enquiry send to concerned authorities.<br/><br/>Thanks<br/><br/>Westgate Admin.", SentTime = null }; context.AddToEmailQueues(email); context.SaveChanges(); } catch (Exception ex) { } }
private void SendEmails(object state) { try { SmtpClient smtp = new SmtpClient(SMTP_SERVER); NetworkCredential userInfo = new NetworkCredential(USER_NAME, PASSWORD); smtp.UseDefaultCredentials = false; smtp.Credentials = userInfo; SimplicityEntities DatabaseContext = new SimplicityEntities(); List<EmailQueue> emails = (from e in DatabaseContext.EmailQueues where e.SentTime == null && e.NumOfTries < 5 select e).ToList(); foreach (EmailQueue eq in emails) { try { MailMessage message = new MailMessage(); message.From = new MailAddress(eq.FromAddress, eq.FromName); string[] toNames = eq.ToNames.Split(','); string[] toAddresses = eq.ToAddresses.Split(','); for (int index = 0; index < toAddresses.Length; index++) { if (toAddresses[index].Length > 0) { message.To.Add(new MailAddress(toAddresses[index], toNames[index])); } } message.Subject = eq.Subject; message.Body = eq.Body; message.IsBodyHtml = true; smtp.Send(message); eq.SentTime = DateTime.Now; Log("Queue Id:" + eq.QueueID + " processed.", EventLogEntryType.Information); } catch (Exception ex) { Log("Queue Id:" + eq.QueueID + " errored.", EventLogEntryType.Error); Log(ex.ToString(), EventLogEntryType.Error); } eq.NumOfTries++; } DatabaseContext.SaveChanges(); } catch (Exception ex) { //Log("Connection String:); Log(ex.ToString(), EventLogEntryType.Error); } }
public static void SendEmail(MailMessage message) { try { var context = new SimplicityEntities(); string toEmails = ""; string toNames = ""; foreach (MailAddress address in message.To) { toNames += address.DisplayName + ","; toEmails += address.Address + ","; } var email=new EmailQueue{LogTime=DateTime.Now, NumOfTries=1, FromName="Simplicity4Business", FromAddress=FROM_ADDRESS, ToNames=toNames.Substring(0, toNames.Length - 1), ToAddresses=toEmails.Substring(0, toEmails.Length), Subject=message.Subject, Body=message.Body, SentTime=null}; context.AddToEmailQueues(email); context.SaveChanges(); } catch (Exception ex) { } }
private void UpdateTrialLicense() { CompanyTableAdapters.un_co_detailsTableAdapter compTA = new CompanyTableAdapters.un_co_detailsTableAdapter(); if (Session[WebConstants.Session.REGISTERING_FOR_TRIAL] != null) { compTA.CompanyTrialUpdate((int)Session[WebConstants.Session.SIMPLICITY_COMPANY_ID], true); Simplicity.Data.SimplicityEntities simplicityDatabaseContext = new Simplicity.Data.SimplicityEntities(); int userId = (int)Session[WebConstants.Session.SIMPLICITY_USER_ID]; Simplicity.Data.UserProduct userProduct = (from userProd in simplicityDatabaseContext.UserProducts where userProd.ProductID == 2 && userProd.UserID == userId select userProd).FirstOrDefault(); if (userProduct == null) { userProduct = new Simplicity.Data.UserProduct(); userProduct.UserID = userId; userProduct.ProductID = 2; simplicityDatabaseContext.AddToUserProducts(userProduct); } userProduct.IsTrial = true; userProduct.StartDate = DateTime.Now; userProduct.EndDate = DateTime.Now.AddDays(15); simplicityDatabaseContext.SaveChanges(); } else { compTA.CompanyTrialUpdate((int)Session[WebConstants.Session.SIMPLICITY_COMPANY_ID], false); } }