Beispiel #1
0
        public IHttpActionResult PutBokadePlatser(int id, BokadePlatser bokadePlatser)
        {
            if (!ModelState.IsValid)
            {
                Logger.Error("Fel format på angivna data");
                return(BadRequest(ModelState));
            }

            if (id != bokadePlatser.Id)
            {
                Logger.Error("Kunde inte hitta det angivna Id:et");
                return(BadRequest());
            }

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

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!BokadePlatserExists(id))
                {
                    Logger.Error("En bokning med det angivna id:t finns inte!");
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Beispiel #2
0
        public IHttpActionResult GetBokadePlatser(int id)
        {
            BokadePlatser bokadePlatser = db.BokadePlatser.Find(id);

            if (bokadePlatser == null)
            {
                Logger.Error("Bokadeplats med det angivna id:et finns inte!");
                return(NotFound());
            }

            return(Ok(bokadePlatser));
        }
Beispiel #3
0
        public IHttpActionResult PostBokadePlatser(BokadePlatser bokadePlatser)
        {
            if (!ModelState.IsValid)
            {
                Logger.Error("Fel format på angivna data");
                return(BadRequest(ModelState));
            }

            db.BokadePlatser.Add(bokadePlatser);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = bokadePlatser.Id }, bokadePlatser));
        }
Beispiel #4
0
        public IHttpActionResult DeleteBokadePlatser(int id)
        {
            BokadePlatser bokadePlatser = db.BokadePlatser.Find(id);

            if (bokadePlatser == null)
            {
                Logger.Error("Bokadeplatser finns inte");
                return(NotFound());
            }

            db.BokadePlatser.Remove(bokadePlatser);
            db.SaveChanges();

            return(Ok(bokadePlatser));
        }
Beispiel #5
0
        public ActionResult Boka(string antalIn)
        {
            //Parse på bokning, från sträng till int
            try
            {
                int antal = int.Parse(antalIn);

                //Hämta när man ska köpa biljetter
                Kund inloggadKund = null;

                //Sparar i session
                if (Session["KundSession"] != null)
                {
                    inloggadKund = (Kund)Session["KundSession"];
                }
                else
                {
                    Logger.Error("Error med session");
                    return(View());
                }

                //Parse på schema id
                int schema = int.Parse(TempData["tempSchemaId"].ToString());

                //Visningsid och antal bokade platser
                BokadePlatser nyPlatser = new BokadePlatser {
                    AntalBokadePlatser = antal, VisningsSchemaId = schema
                };
                Bokningar nyBokning = new Bokningar {
                    VisningsSchemaId = schema, KundId = inloggadKund.InloggningsId
                };

                try
                {
                    using (var clientBoka = new HttpClient())
                    {
                        clientBoka.BaseAddress = new Uri("http://193.10.202.72/BiljettService/");
                        //Loop, gör bokning enligt antal önskade platser
                        for (int i = 0; i < antal; i++)
                        {
                            var responseBoka = clientBoka.PostAsJsonAsync("Bokningar", nyBokning).Result;
                        }
                        //Efter loopen, skicka till Bokadeplatser, på http://193.10.202.72/Biljettservice/Bokadeplatser/
                        using (var clientBoka2 = new HttpClient())
                        {
                            clientBoka2.BaseAddress = new Uri("http://193.10.202.72/Biljettservice/");
                            var responsePlatser = clientBoka2.PostAsJsonAsync("Bokadeplatser", nyPlatser).Result;
                        }
                    }
                }
                catch (Exception)
                {
                    Logger.Error("Error, lyckades ej boka.");
                    return(View());
                }
                //Tempdata sparas för en alert, notis till användaren
                TempData["boka"] = "Din bokning är nu genomförd.";
                return(RedirectToAction("Index", "Home"));
            }
            catch (Exception)
            {
                Logger.Error("Error, fel med parse.");
                return(View());
            }
        }