protected void btnLogin_Click(object sender, EventArgs e) { if (!IsPostBack) { UserModel.User user = new UserModel.User(); UserModel.Repository repo = new UserModel.Repository(); user.UserName = txtUsername.Text; user.HashedPassword = UserModel.Encryption(txtUserpass.Text); if (UserModel.ValidateUser(user)) { UserModel.User validatedUser = repo.ShowUsers().FirstOrDefault(u => u.UserName == user.UserName); if (validatedUser != null) { Session["Id"] = validatedUser.Id; Session["Level"] = validatedUser.UserLevel; Session["Username"] = validatedUser.UserName; Response.Redirect("/Backend/Users.aspx?Skip=0&Take=10&SortOrder=Id"); } else { litWarning.Text = "Session could net be created, try again later."; } } else { litWarning.Text = "Wrong password or Username. Try Again."; } } }
//post edited data back to database. protected void btnEditUser_Click(object sender, EventArgs e) { int Id = Convert.ToInt32(Request.QueryString["Id"]); if (txtUserName.Text == "") { litWarning.Text = "User need to have a username.."; } UserModel.User userToEdit = Repo.ShowUsers().FirstOrDefault(u => u.Id == Id); if (userToEdit != null && Session["Level"] != null) { userToEdit.UserName = txtUserName.Text; userToEdit.FirstName = txtFirstName.Text; userToEdit.LastName = txtLastName.Text; userToEdit.StreetAdress = txtStreetAdress.Text; userToEdit.StreetNumber = Convert.ToInt32(txtStreetnumber.Text); userToEdit.UserLevel = Convert.ToInt32(ddlUserLevel.SelectedValue); Repo.UpdateUser(userToEdit); } Response.Redirect(ReturnUrl); }
//add new user with hashed password and userlevel. //MAX LEVEL protected void btnSubmitUser_Click(object sender, EventArgs e) { if (txtUserName.Text == "") { litWarning.Text = Bootstrap.Alert("Fill in Username..", 4); } else if (txtPassword.Text == "") { litWarning.Text = Bootstrap.Alert("Fill in Password..", 4); } else { UserModel.User user = new UserModel.User(); user.UserName = txtUserName.Text; user.HashedPassword = UserModel.Encryption(txtPassword.Text); user.UserLevel = Convert.ToInt32(ddlUserLevel.SelectedItem.Value); user.FirstName = txtFirstName.Text; user.LastName = txtLastName.Text; user.StreetAdress = txtStreetAdress.Text; user.StreetAdress = txtStreetnumber.Text; Repo.InsertUser(user); Response.Redirect(ReturnUrl); } }
protected override void Seed(DatabaseModel context) { UserModel.User user = new UserModel.User(); user.FirstName = "Admin"; user.HashedPassword = UserModel.Encryption("admin"); user.LastName = "Admin"; user.StreetAdress = "Admin lane"; user.StreetNumber = 22; user.UserLevel = 1; user.UserName = "******"; context.Users.Add(user); PageModel.PageCategory pageCategory = new PageModel.PageCategory(); pageCategory.Name = "Template Category"; context.PageCategories.Add(pageCategory); PageModel.PageTemplate pageTemplate = new PageModel.PageTemplate(); pageTemplate.Content = "This is your content"; pageTemplate.PageCategories = pageCategory; pageTemplate.Created = DateTime.Now; pageTemplate.Edited = DateTime.Now; pageTemplate.Creator = "Admin"; pageTemplate.Title = "Template Page"; context.PageTemplates.Add(pageTemplate); ContactModel.Mail mail = new ContactModel.Mail(); mail.Content = "This is a test mail to fill up the inventory abit"; mail.Created = DateTime.Now; mail.Sender = "*****@*****.**"; mail.Title = "Welcome to your very own website!"; mail.Watched = false; context.Mails.Add(mail); UploadModel.Image templateImage = new UploadModel.Image(); templateImage.Filename = "1024placeholder.png"; context.Images.Add(templateImage); SettingsModel.Setting setting = new SettingsModel.Setting(); setting.FooterInfo = "Test Template"; setting.PageInfo = "No data added yet."; setting.SiteName = "Template Site"; setting.Image = 1; setting.OpeningModel = true; setting.PriceModel = true; setting.ContactModel = true; setting.ProductModel = true; setting.Mapembedlink = "https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d35560.55761754828!2d10.214217099999999!3d56.14785654999999!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0000000000000000%3A0x1837916eb88c0de3!2sTivoli+Friheden!5e0!3m2!1sda!2sdk!4v1429060674382"; setting.Width = 300; setting.Height = 450; context.Setting.Add(setting); HoursModel.OpeningHours openingHours = new HoursModel.OpeningHours(); openingHours.Comment = "Comment"; openingHours.Monday = "12.00 - 23.00"; openingHours.Tuesday = "12.00 - 23.00"; openingHours.Wednesday = "12.00 - 23.00"; openingHours.Thursday = "12.00 - 23.00"; openingHours.Friday = "12.00 - 02.00"; openingHours.Saturday = "12.00 - 02.00"; openingHours.Sunday = "12.00 - 20.00"; context.OpeningHours.Add(openingHours); ProductsModel.Product product = new ProductsModel.Product(); product.Images = 1; product.Comment = "This is a default product listing."; product.Price = 234; product.Title = "Title"; context.Products.Add(product); PriceModel.Price price = new PriceModel.Price(); price.Product = "Test product"; price.Amount = 999; context.Prices.Add(price); context.SaveChanges(); base.Seed(context); }
//Add overview with sorting and edit delete functions. public void OverView() { //get querystrings int id = Convert.ToInt32(Request.QueryString["Id"]); bool deleteUser = Convert.ToBoolean(Request.QueryString["Delete"]); bool editUser = Convert.ToBoolean(Request.QueryString["Edit"]); string sortOrder = Request.QueryString["sortOrder"]; Skip = Convert.ToInt32(Request.QueryString["Skip"]); Take = Convert.ToInt32(Request.QueryString["Take"]); //delete a user if (deleteUser) { UserModel.User deleteuser = Repo.ShowUsers().FirstOrDefault(u => u.Id == id); if (deleteuser == null || deleteuser.Id != Convert.ToInt32(Session["Id"])) { if (Session["Level"] != null && Convert.ToInt32(Session["Level"]) == 1) { Repo.DeleteUser(deleteuser); Response.Redirect(ReturnUrl); } else { Response.Redirect("../Login.aspx"); } } else { litWarning.Text = Bootstrap.Alert("Now you would'nt delete yourself now would you?", 4); } } //call in data to edit a user if (editUser) { if (!IsPostBack) { UserModel.User userToEdit = Repo.ShowUsers().FirstOrDefault(u => u.Id == id); pnlPassword.Visible = false; if (userToEdit != null) { txtUserName.Text = userToEdit.UserName; txtFirstName.Text = userToEdit.FirstName; txtLastName.Text = userToEdit.LastName; txtStreetAdress.Text = userToEdit.StreetAdress; txtStreetnumber.Text = userToEdit.StreetNumber.ToString(); ddlUserLevel.SelectedValue = userToEdit.UserLevel.ToString(); } btnSubmitUser.Visible = false; btnEditUser.Visible = true; btnBack.Visible = true; } } if (sortOrder == "UserName") { rpt.DataSource = Repo.ShowUsers().OrderBy(s => s.UserName).Take(Take).Skip(Skip); rpt.DataBind(); } else if (sortOrder == "Id") { rpt.DataSource = Repo.ShowUsers().OrderBy(s => s.Id).Take(Take).Skip(Skip); rpt.DataBind(); } else if (sortOrder == "First") { rpt.DataSource = Repo.ShowUsers().OrderBy(s => s.FirstName).Take(Take).Skip(Skip); rpt.DataBind(); } else if (sortOrder == "Last") { rpt.DataSource = Repo.ShowUsers().OrderBy(s => s.LastName).Take(Take).Skip(Skip); rpt.DataBind(); } else if (sortOrder == "Address") { rpt.DataSource = Repo.ShowUsers().OrderBy(s => s.LastName).Take(Take).Skip(Skip); rpt.DataBind(); } else { rpt.DataSource = Repo.ShowUsers().OrderBy(u => u.Id).Take(Take).Skip(Skip); rpt.DataBind(); } }