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;
     }
 }
示例#2
0
        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;
            }
        }
示例#3
0
        //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;
            }
        }
示例#4
0
        //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;
            }
        }
示例#5
0
        //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;
            }
        }
示例#6
0
        //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;
            }
        }
示例#7
0
        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;
            }
        }
示例#8
0
        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;
            }
        }