public void PostEditDescription(string[] idn) { // ändrar kategorin på vännen try { int IdAsInt = int.Parse(idn[0]); string desc = idn[1]; string nyaKAt = idn[2]; db.vänner.Single(x => x.VännensID == IdAsInt && x.Username == desc && x.TillHörUser == AnvändareInloggadVerifeierare.användaren.AnvändarNamn).kategori = nyaKAt; db.SaveChanges(); } catch (Exception) { throw; } }
public ActionResult AccepteraVänn(int VännAttLäggaTill, int vännFörfrågansID) { try { var ctx = new AnvändareDbContext(); var InloggadesUsername = AnvändareInloggadVerifeierare.användaren.AnvändarNamn; var VännensUsername = ctx.användare.FirstOrDefault(x => x.ID == VännAttLäggaTill).AnvändarNamn; //Börja med att hitta den inloggade och lägger in Id på den man blev vänn med. var användare = ctx.användare.FirstOrDefault(x => x.ID == AnvändareInloggadVerifeierare.användaren.ID); användare.allaAnvändarensVänner.Add(new vänn { VännensID = VännAttLäggaTill, Username = VännensUsername, TillHörUser = InloggadesUsername }); //Sedan hittar vi vännen och lägger in Id på den inloggade i hens vännlista. var vännenSomLaTill = ctx.användare.FirstOrDefault(x => x.ID == VännAttLäggaTill); vännenSomLaTill.allaAnvändarensVänner.Add(new vänn { VännensID = användare.ID, Username = InloggadesUsername, TillHörUser = VännensUsername }); //sedan måste vännförfrågan bort (Eftersom man accepterat) var förfråganAttTaBort = användare.vännFörFrågningar.FirstOrDefault(x => x.FörFrågningsID == vännFörfrågansID); användare.vännFörFrågningar.Remove(förfråganAttTaBort); AnvändareInloggadVerifeierare.användaren = användare; ctx.SaveChanges(); return(RedirectToAction("seVännförfrågningar")); } catch (Exception) { throw; } }
//Denna metod körs när man INTE vill acceptera en vännförfrågan! public ActionResult TaBortVännförfrågan(int FörfrågningsID) { try { var ctx = new AnvändareDbContext(); //Först så hittar man den som är inloggad genom att matcha med den som är inloggad foreach (var användare in ctx.användare) { if (användare.AnvändarNamn.Equals(AnvändareInloggadVerifeierare.användaren.AnvändarNamn)) { //Sedan så hittar vi rätt vännförfrågan genom att loopa igenom dennes vännförfrågningar och tar bort den aktuella foreach (var vännRequest in användare.vännFörFrågningar) { if (vännRequest.FörFrågningsID == FörfrågningsID) { användare.vännFörFrågningar.Remove(vännRequest); AnvändareInloggadVerifeierare.användaren = användare; break; } } break; } } ctx.SaveChanges(); return(RedirectToAction("seVännförfrågningar")); } catch (Exception) { throw; } }
//När man skickar en vännförfrågan körs denna metod public ActionResult AddVänn(string Användarnamn) { try { int inloggadesID = AnvändareInloggadVerifeierare.användaren.ID; var ctx = new AnvändareDbContext(); var nyFörfrågan = new VännFörFrågningar(); //Hitta vännen och lägg till en förfrågan i hens förfrågningar foreach (var hittaVännen in ctx.användare) { if (hittaVännen.AnvändarNamn.Equals(Användarnamn)) { nyFörfrågan.FörFråganIfrånID = inloggadesID; hittaVännen.vännFörFrågningar.Add(nyFörfrågan); break; } } ctx.SaveChanges(); return(Redirect("/")); } catch (Exception) { throw; } }
//Sätter Inloggades IsAktiv till true , därav kommer alla sidor som kontrollerar om kontot är aktivt eller inte känna av det public ActionResult AktiveraAnvändare() { try { var ctx = new AnvändareDbContext(); var Inloggad = ctx.användare.FirstOrDefault(x => x.AnvändarNamn == AnvändareInloggadVerifeierare.användaren.AnvändarNamn); Inloggad.IsActive = true; ctx.SaveChanges(); AnvändareInloggadVerifeierare.användaren = Inloggad; return(RedirectToAction("UserPage")); } catch (Exception) { throw; } }
//Sätter Inloggades IsAktiv till false , därav kommer alla sidor som kontrollerar om kontot är aktivt eller inte känna av det public ActionResult InaktiveraAnvändare() { try { var ctx = new AnvändareDbContext(); var Inloggad = ctx.användare.FirstOrDefault(x => x.AnvändarNamn == AnvändareInloggadVerifeierare.användaren.AnvändarNamn); Inloggad.IsActive = false; ctx.SaveChanges(); AnvändareInloggadVerifeierare.användaren = Inloggad; return(View("InaktiveratKonto")); } 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; } }