Exemple #1
0
        public IHttpActionResult PutAnvandare(int id, Anvandare anvandare)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != anvandare.Id)
            {
                return(BadRequest());
            }

            db.Entry(anvandare).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!AnvandareExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Exemple #2
0
        public IHttpActionResult GetAnvandare(int id)
        {
            Anvandare anvandare = db.Anvandare.Find(id);

            if (anvandare == null)
            {
                return(NotFound());
            }

            return(Ok(anvandare));
        }
Exemple #3
0
        public IHttpActionResult DeleteAnvandare(int id)
        {
            Anvandare anvandare = db.Anvandare.Find(id);

            if (anvandare == null)
            {
                return(NotFound());
            }

            db.Anvandare.Remove(anvandare);
            db.SaveChanges();

            return(Ok(anvandare));
        }
Exemple #4
0
        public IHttpActionResult SkapaNyAnvändare(Anvandare NyAnvandare)
        {
            Anvandare SkapadAnvandare = new Anvandare();
            bool      sammaKonto      = false;

            foreach (var item in db.Anvandare.ToList())
            {
                if (item.Email == NyAnvandare.Email)
                {
                    sammaKonto = true;
                    break;
                }
            }

            try
            {
                SkapadAnvandare.Email          = NyAnvandare.Email;
                SkapadAnvandare.Losenord       = NyAnvandare.Losenord;
                SkapadAnvandare.Behorighetniva = 1;
            }
            catch (NullReferenceException)
            {
                //retunera att ett av värderna var null.
                throw;
            }
            if (sammaKonto == false)
            {
                db.Anvandare.Add(SkapadAnvandare);
                db.SaveChanges();
                return(Ok(SkapadAnvandare.Id));

                //return Ok(db.Anvandare.Where(x => x.Email == NyAnvandare.Email
                //                 && x.Losenord == NyAnvandare.Losenord)
                //                 .Select(s => s.Id).FirstOrDefault());
            }
            //Returnera detta
            //kalla på deras tjänst och skicka ID. Ska vi inte bara retunera? blir detta kallat så skickar detta tillbaka. vi ska inte
            //skicka detta till ett specifik tjänst, eller??


            return(Ok());
        }
Exemple #5
0
        public IHttpActionResult Login(Anvandare AnvInfo)
        {
            Anvandare Anv = new Anvandare();

            try
            {
                string emailCheck    = AnvInfo.Email.ToString();
                string losenordCheck = AnvInfo.Losenord.ToString();
            }
            catch (ArgumentNullException e)
            {
                throw;
            }
            catch (FormatException e)
            {
                throw;
            }
            catch (Exception e)
            {
                throw;
            }
            try
            {
                Anv = db.Anvandare.Where(x => x.Email == AnvInfo.Email && x.Losenord == AnvInfo.Losenord).FirstOrDefault();
                //.Select(x => new Anvandar   //Använder egen model.
                // {
                //     Behorighetniva = x.Behorighetniva,
                //     Id = x.Id
                // }).ToList();
            }
            catch (Exception)
            {
                throw;
            }

            return(Ok(Anv));  //Objekt skickar med AnvNamn och Los. Ska vi göra så att dem blir null. Alt, vi skickar id och behor som parameter.
        }
        private bool CheckUser(string username, string password)
        {
            using (var client = new HttpClient())
            {
                //Användare objekt för att kolla mot tjänsternas databaser
                Anvandare anvandareAttKolla = new Anvandare {
                    Email = username, Losenord = password
                };

                client.BaseAddress = new Uri("http://193.10.202.74/inlogg/");
                //Sparar response
                var response = client.PostAsJsonAsync("LoggaIn", anvandareAttKolla).Result;

                if (response.IsSuccessStatusCode)
                {
                    //Webbservicen returnerar om man kan logga in.
                    //Returnerar inte ett id, returnerar en hel sträng
                    string id = response.Content.ReadAsStringAsync().Result;

                    if (id != "null")
                    {
                        return(true);
                    }
                    else
                    {
                        Logger.Error("id i checkuser är null.");
                        return(false);
                    }
                }
                else
                {
                    Logger.Error("Kolla användare i checkuser är false, finns inte.");
                    return(false);
                }
            }
        }
        public async Task <ActionResult> Index(string email, string losenord)
        {
            //Om båda fält är tomma
            if (email == "" || losenord == "")
            {
                ModelState.AddModelError("", "Du måste fylla i både användarnamn och lösenord");
                Logger.Error("Båda fält måste fyllas i.");
                return(View());
            }

            //Kolla valid user, för att sedan tillåta genom Authorize
            bool validUser = false;

            validUser = CheckUser(email, losenord);

            //Om inloggningen ej var godkänd
            if (!validUser)
            {
                ModelState.AddModelError("", "Inloggningen ej godkänd");
                Logger.Error("Felaktig inloggning");
                return(View());
            }

            //Skapar användare
            Anvandare login = new Anvandare();

            login.Email    = email;
            login.Losenord = losenord;

            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri("http://193.10.202.74/inlogg/");
                //Post för att logga in
                var response = client.PostAsJsonAsync("LoggaIn", login).Result;

                if (response.IsSuccessStatusCode)
                {
                    //Sparar svaret
                    string    AnvSvar = response.Content.ReadAsStringAsync().Result;
                    Anvandare login2  = JsonConvert.DeserializeObject <Anvandare>(AnvSvar);

                    int inloggningsId = login2.Id;


                    using (var client2 = new HttpClient())
                    {
                        //Ny adress
                        client2.BaseAddress = new Uri("http://193.10.202.72/Kundservice/");
                        List <Kund> KundInfo = new List <Kund>();

                        client2.DefaultRequestHeaders.Clear();
                        //Definerar dataformat
                        client2.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                        //Get kunder
                        HttpResponseMessage response2 = await client2.GetAsync("Kunder");

                        if (response2.IsSuccessStatusCode)
                        {
                            //Sparar undan svarets innehåll från web api
                            var KundResponse = response2.Content.ReadAsStringAsync().Result;

                            //Deserializing på svaret från webapi, och sparar det i en lista
                            var results = JsonConvert.DeserializeObject <List <Kund> >(KundResponse);
                            KundInfo = results.Where(e => e.InloggningsId == inloggningsId).ToList();

                            //Sparar den aktiva kunden
                            Kund aktivKund = new Kund
                            {
                                InloggningsId = KundInfo[0].InloggningsId,
                                Email         = KundInfo[0].Email,
                                Losenord      = KundInfo[0].Losenord,
                                Fornamn       = KundInfo[0].Fornamn,
                                Efternamn     = KundInfo[0].Efternamn,
                                TelefonNr     = KundInfo[0].TelefonNr,
                                PersonNr      = KundInfo[0].PersonNr,
                                Bonuspoang    = KundInfo[0].Bonuspoang
                            };

                            //Om inloggningen lyckas
                            if (validUser)
                            {
                                System.Web.Security.FormsAuthentication.RedirectFromLoginPage(aktivKund.Email, false);

                                //Spara i session efter login om allt lyckas
                                Session["KundSession"] = aktivKund;
                                Session["KundLista"]   = KundInfo;

                                if (Session["KundSession"] != null)
                                {
                                    //Tempdata för en alert notis till användaren
                                    TempData["login"] = "******";
                                    return(View());
                                }
                            }
                            //Lägger till errormeddelande om den kommer hit
                            ModelState.AddModelError("", "Innloggningen ej godkänd.");
                            Logger.Error("Ej godkänd inloggning.");
                            return(View());
                        }
                        else
                        {
                            Logger.Error("Response2 fail i inloggning, kunde ej hämta kunder");
                        }
                    }
                }
                else
                {
                    Logger.Error("Response fail vid inloggning, kunde ej hämta användare.");
                    //Console.Write("Error");
                }
            }

            return(View());
        }
        public ActionResult Create(string email, string losenord, string fornamn, string efternamn, string personNr, string telefonNr)
        {
            using (var client = new HttpClient())
            {
                //Anropa säkerhetsgruppen för att skapa nytt konto med post
                Anvandare NyAnvandare = new Anvandare {
                    Email = email, Losenord = losenord
                };
                client.BaseAddress = new Uri("http://193.10.202.74/inlogg/");
                var response = client.PostAsJsonAsync("SkapaAnvandare", NyAnvandare).Result;

                if (response.IsSuccessStatusCode)
                {
                    //Sparar id
                    string inloggningsId2 = response.Content.ReadAsStringAsync().Result;
                    //Parse id från sträng till int
                    int inloggningsId = int.Parse(inloggningsId2);

                    //Ny kund
                    Kund kund = new Kund {
                        InloggningsId = inloggningsId, Email = email, Losenord = losenord, Fornamn = fornamn, Efternamn = efternamn, PersonNr = personNr, TelefonNr = telefonNr, Bonuspoang = 0
                    };

                    using (var client2 = new HttpClient())
                    {
                        client2.BaseAddress = new Uri("http://193.10.202.72/Kundservice/");
                        //Post, skickar nya kunden
                        var response2 = client2.PostAsJsonAsync("Kunder", kund).Result;

                        //Lista kund
                        List <Kund> KundInfo = new List <Kund>();

                        if (response2.IsSuccessStatusCode)
                        {
                            //Sparar svar
                            var KundResponse = response2.Content.ReadAsStringAsync().Result;
                            //Deserialize objekt
                            var results = JsonConvert.DeserializeObject <Kund>(KundResponse);

                            //Kolla valid user, för att sedan tillåta genom Authorize
                            bool validUser = false;
                            validUser = CheckUser(email, losenord);

                            if (validUser)
                            {
                                System.Web.Security.FormsAuthentication.RedirectFromLoginPage(kund.Email, false);

                                //Text till användares notis
                                TempData["create"] = "Ditt konto har skapats. Det går nu att logga in.";

                                return(RedirectToAction("Index", "Login"));
                            }
                            else
                            {
                                Logger.Error("Validuser false, response2 i create");
                            }
                        }
                        else
                        {
                            Logger.Error("Fail på response av kundservice kunder i create, response2.");
                        }
                    }
                }
                else
                {
                    Logger.Error("Response fel på skapa konto.");
                }
            }
            return(RedirectToAction("Index", "Login"));
        }