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)); }
public IHttpActionResult GetAnvandare(int id) { Anvandare anvandare = db.Anvandare.Find(id); if (anvandare == null) { return(NotFound()); } return(Ok(anvandare)); }
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)); }
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()); }
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")); }