public ActionResult Bekräftelse() { try { var view = new AnvändareModel(); view = TempData["NyAnvändare"] as AnvändareModel; //hämtar den ny användaren och visar den return(View(view)); } catch (Exception) { throw; } }
public List <MeddelandeModel> getMeddelande(string användarnamn) { var ctx = new AnvändareDbContext(); AnvändareModel användare = new AnvändareModel(); foreach (var användaren in ctx.användare) { if (användaren.AnvändarNamn == användarnamn) { användare = användaren; } } return(användare.Meddelanden.ToList()); }
public ActionResult ValidateLogin(AnvändareModel model) { try { var ctx = new AnvändareDbContext(); //Kontrollerar inputen ifrån login if (model.AnvändarNamn != null && model.AnvändarNamn != "" && model.Lössenord != null && model.Lössenord != "" && ctx.användare.Any(x => x.AnvändarNamn == model.AnvändarNamn)) { //kollar lössenordet med hjälp av att avkrypter de som finns bool resultat = false; var PWEncrypter = new PasswordEncrypter(); resultat = PWEncrypter.ValidatePW(model.AnvändarNamn, model.Lössenord); if (resultat == true) { AnvändareInloggadVerifeierare.användaren = ctx.användare.Single(x => x.AnvändarNamn == model.AnvändarNamn); // Sätter modellen till vår "AIV" klass } // då kommer vi åt den inloggades model överallt if (resultat == true && AnvändareInloggadVerifeierare.användaren.IsActive == true) { AnvändareInloggadVerifeierare.isInloogad = true; // kollar så det är sant och att profilen är aktiv return(RedirectToAction("UserPage")); // sätter att man är inloggad till sant } else if (resultat == true && AnvändareInloggadVerifeierare.användaren.IsActive == false) { AnvändareInloggadVerifeierare.isInloogad = true; // om kontot är icke aktiv så kommmer man till return(View("InaktiveratKonto")); // "InaktiveratKonto" } else { ViewData["errorFältTomt"] = "Fel användarnamn eller lösenord, försök igen!"; return(View("Login")); } } else { ViewData["errorFältTomt"] = "Fel användarnamn eller lösenord, försök igen!"; return(View("Login")); // Kollar så att man inte ändrar till ett användarnamn som finns } } catch (Exception) { throw; } }
public List <BesökareModels> GetBesökare(int id) { // Hämtar alla besökare try { AnvändareModel användaren = new AnvändareModel(); foreach (var användare in db.användare) { if (användare.ID == id) { användaren = användare; } } List <BesökareModels> sortedList = användaren.allaBesökare.OrderByDescending(p => p.ID).ToList(); return(sortedList); } catch (Exception) { throw; } }
public void PostMeddelandeTaBort(int[] idn) { // Ta bort meddelande try { int meddelandeid = idn[0]; int inloggadid = idn[1]; List <MeddelandeModel> meddelanden = new List <MeddelandeModel>(); AnvändareModel användaren = new AnvändareModel(); foreach (var användare in db.användare) { if (användare.ID == inloggadid) { användaren = användare; meddelanden = användare.allaMeddelanden; } } if (meddelanden.Count > 0) { foreach (var meddelande in meddelanden) { if (meddelande.ID == meddelandeid) { användaren.allaMeddelanden.Remove(meddelande); db.meddelanden.Remove(meddelande); break; } } } db.SaveChanges(); } catch (Exception) { throw; } }
public ActionResult EditUser(AnvändareModel model, HttpPostedFileBase File1) { try { AnvändareDbContext db = new AnvändareDbContext(); AnvändareModel användare1 = db.användare.FirstOrDefault(a => a.AnvändarNamn.Equals(model.AnvändarNamn)); AnvändareModel användare2 = db.användare.FirstOrDefault(a => a.Epost.Equals(model.Epost)); // Hämtar model för epost respektive användarnamn var födelse = model.Födelsedatum; var datumarray = födelse.Split('-'); var året = datumarray[0]; // Kollar så personen har vettig ålder var intåret = Int32.Parse(året); if (intåret < 1920 || intåret > 2002) { ViewData["errorfödelse"] = "Angivit fel födelsedatum, bara mellan 1920 till 2002 tillåtet"; return(View("EditUser")); } var förnamn = model.Förnamn = model.Förnamn.Substring(0, 1).ToUpper() + model.Förnamn.Substring(1); //Gör om första bokstaven till stor ifall man angav liten var efternamn = model.Efternamn.Substring(0, 1).ToUpper() + model.Efternamn.Substring(1); var pattern = "^([A-ZÅÄÖa-zåäö]+)$"; //Regex som kontrollerar förnamn/efternamn tecken a-ö Regex rgx = new Regex(pattern); if (!rgx.IsMatch(förnamn)) { return(View("EditUser")); } if (!rgx.IsMatch(efternamn)) { return(View("EditUser")); } if (model.Förnamn == null || model.Förnamn == "") { return(View("EditUser")); // validerar så att det inte är tomt } if (model.Efternamn == null || model.Efternamn == "") { return(View("EditUser")); } if (model.AnvändarNamn == null || model.AnvändarNamn == "") { return(View("EditUser")); } if (model.Lössenord == null || model.Lössenord == "") { return(View("EditUser")); } if (db.användare.Any(a => a.AnvändarNamn.Equals(model.AnvändarNamn)) && AnvändareInloggadVerifeierare.användaren.ID != användare1.ID) { ViewData["erroranvändarnamn"] = "Användarnamn upptaget"; return(View("EditUser")); // Kollar så att man inte ändrar till ett användarnamn som finns } if (db.användare.Any(a => a.Epost.Equals(model.Epost)) && AnvändareInloggadVerifeierare.användaren.ID != användare2.ID) { ViewData["errorepost"] = "Epost upptaget"; return(View("EditUser")); // Kollar så att man inte ändrar till en epost som finns } if (ModelState.IsValid && File1 == null) // om användare inte väljer ny bild { int id = model.ID; AnvändareModel användare = db.användare.FirstOrDefault(a => a.ID.Equals(id)); // Hämta användare användare.Efternamn = model.Efternamn; användare.Förnamn = model.Förnamn; användare.Födelsedatum = model.Födelsedatum; // uppdatera i databasen användare.Epost = model.Epost; användare.AnvändarNamn = model.AnvändarNamn; //Kryptera det nya lössenordet var encrypter = new PasswordEncrypter(); var nyttPwEncrypted = encrypter.EncryptPassword(model.Lössenord); användare.Lössenord = nyttPwEncrypted; AnvändareInloggadVerifeierare.användaren.Förnamn = förnamn; AnvändareInloggadVerifeierare.användaren.Efternamn = efternamn; AnvändareInloggadVerifeierare.användaren.Epost = model.Epost; // uppdaterar direkt AnvändareInloggadVerifeierare.användaren.Födelsedatum = model.Födelsedatum; AnvändareInloggadVerifeierare.användaren.AnvändarNamn = model.AnvändarNamn; AnvändareInloggadVerifeierare.användaren.Lössenord = model.Lössenord; AnvändareInloggadVerifeierare.användaren.IsActive = model.IsActive; db.Entry(användare).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("UserPage")); } if (ModelState.IsValid && File1 != null && File1.ContentLength > 0 && File1.ContentType.Equals("image/jpeg") || File1.ContentType.Equals("image/png")) { int id = model.ID; // om användaren väljer att byta bild + annan information så körs denna if sats AnvändareModel användare = db.användare.FirstOrDefault(a => a.ID.Equals(id)); // Hämta användare model.Profilbild = new byte[File1.ContentLength]; // Gör om filen man valt till En byte[] File1.InputStream.Read(model.Profilbild, 0, File1.ContentLength); användare.Profilbild = model.Profilbild; AnvändareInloggadVerifeierare.användaren.Profilbild = model.Profilbild; användare.Efternamn = model.Efternamn; användare.Förnamn = model.Förnamn; användare.Födelsedatum = model.Födelsedatum; // uppdatera i databasen användare.Epost = model.Epost; användare.Lössenord = model.Lössenord; användare.IsActive = model.IsActive; användare.AnvändarNamn = model.AnvändarNamn; AnvändareInloggadVerifeierare.användaren.Förnamn = model.Förnamn; AnvändareInloggadVerifeierare.användaren.Efternamn = model.Efternamn; AnvändareInloggadVerifeierare.användaren.Epost = model.Epost; // uppdaterar direkt AnvändareInloggadVerifeierare.användaren.Födelsedatum = model.Födelsedatum; AnvändareInloggadVerifeierare.användaren.AnvändarNamn = model.AnvändarNamn; AnvändareInloggadVerifeierare.användaren.Lössenord = model.Lössenord; AnvändareInloggadVerifeierare.användaren.IsActive = model.IsActive; db.Entry(användare).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("UserPage")); } else if (File1 != null && File1.ContentLength > 0 && !File1.ContentType.Equals("image/jpeg") || !File1.ContentType.Equals("image/png")) { // om det är fel format på bilden ViewData["error"] = "Fel format på bilden, Bara .jpg och .png är tillåtna"; return(View("EditUser")); } return(RedirectToAction("UserPage")); } catch (Exception) { throw; } }
public ActionResult addAnvändare(AnvändareModel model, HttpPostedFileBase File1) { try { var ctx = new AnvändareDbContext(); var passwordEncrypter = new PasswordEncrypter(); var födelse = model.Födelsedatum; var datumarray = födelse.Split('-'); var året = datumarray[0]; // Kollar så personen har vettig ålder var intåret = Int32.Parse(året); if (intåret < 1920 || intåret > 2002) { ViewData["errorfödelse"] = "Angivit fel födelsedatum, bara mellan 1920 till 2002 tillåtet"; return(View("CreateAcc")); } if (model.Lössenord == null || model.Lössenord == "") { return(View("CreateAcc")); } if (File1 == null) { ViewData["error"] = "Du måste ladda upp en bild"; return(View("CreateAcc")); } if (File1 != null && File1.ContentLength > 0 && File1.ContentType.Equals("image/jpeg") || File1.ContentType.Equals("image/png")) { var encryptedPass = passwordEncrypter.EncryptPassword(model.Lössenord); model.Lössenord = encryptedPass; // krypterar lösenordet model.Förnamn = model.Förnamn.Substring(0, 1).ToUpper() + model.Förnamn.Substring(1); model.Efternamn = model.Efternamn.Substring(0, 1).ToUpper() + model.Efternamn.Substring(1); // Gör att förnamn och efternamn första bokstav sparas som en stor bokstav model.Profilbild = new byte[File1.ContentLength]; // Gör om filen man valt till En byte[] File1.InputStream.Read(model.Profilbild, 0, File1.ContentLength); ctx.användare.Add(model); ctx.SaveChanges(); // kollar så att filen är av jpeg, png och att det finns en fil // sparar hela användaren i databasen var nyaanvändarenMedID = new AnvändareModel(); foreach (var användare in ctx.användare) { if (användare.AnvändarNamn.Equals(model.AnvändarNamn)) { nyaanvändarenMedID = användare; // hämtar den nya användaren från databasen och skickar } // till bekräftelse } TempData["NyAnvändare"] = nyaanvändarenMedID; return(RedirectToAction("Bekräftelse", "Användare")); } ViewData["error"] = "Fel format på bilden, Bara .jpg och .png är tillåtna"; return(View("CreateAcc")); } catch (Exception) { throw; } }