Exemplo n.º 1
0
        public IHttpActionResult ListActual()
        {
            try
            {
                User = System.Web.HttpContext.Current.User;
                int user;
                int.TryParse(((ClaimsIdentity)User.Identity).Claims.First(c => c.Type == "Id").Value, out user);

                List <Models.RezerwacjaToSend> list = new List <Models.RezerwacjaToSend>();

                foreach (Models.rezerwacja rezerwacja in db.rezerwacja.Where(r => r.klient == user))
                {
                    Models.RezerwacjaToSend trezerwacja = new Models.RezerwacjaToSend();
                    trezerwacja.Miejsca = new List <Models.MiejsceToSend>();

                    var miejsca = rezerwacja.miejsce;
                    if (miejsca.Count() != 0)
                    {
                        if (miejsca.First().seans1.data > System.DateTime.Now)
                        {
                            foreach (Models.miejsce miejsce in miejsca)
                            {
                                Models.MiejsceToSend tmiejsce = new Models.MiejsceToSend();
                                tmiejsce.Nr    = miejsce.nr;
                                tmiejsce.Rzad  = miejsce.rzad;
                                tmiejsce.Wolne = false;

                                trezerwacja.Miejsca.Add(tmiejsce);
                            }
                            Models.seans seans = rezerwacja.miejsce.First().seans1;
                            Models.film  film  = seans.film1;

                            trezerwacja.Id      = rezerwacja.id;
                            trezerwacja.Kupione = rezerwacja.kupione;

                            trezerwacja.SeansId = seans.id;
                            trezerwacja.Data    = seans.data;
                            trezerwacja.D3      = seans.d3;
                            trezerwacja.FilmId  = film.id;
                            trezerwacja.Nazwa   = film.nazwa;
                            trezerwacja.Rok     = film.rok;

                            list.Add(trezerwacja);
                        }
                    }
                }
                return(Ok(list));
            }
            catch (EntityException ex)
            {
                return(Content(HttpStatusCode.InternalServerError, "Problem z bazą danych"));
            }
            catch
            {
                return(InternalServerError());
            }
        }
Exemplo n.º 2
0
        public IHttpActionResult Rezerwacja(int id)
        {
            try
            {
                User = System.Web.HttpContext.Current.User;
                int user;
                int.TryParse(((ClaimsIdentity)User.Identity).Claims.First(c => c.Type == "Id").Value, out user);

                Models.rezerwacja rezerwacja = db.rezerwacja.FirstOrDefault(r => r.id == id);
                if (rezerwacja == null)
                {
                    return(Content(HttpStatusCode.BadRequest, "Nie istnieje rezerwacja nr " + id));
                }
                if (rezerwacja.klient != user)
                {
                    return(Content(HttpStatusCode.BadRequest, "Nie jesteś posiadaczem rezerwacji nr " + id));
                }

                Models.RezerwacjaToSend trezerwacja = new Models.RezerwacjaToSend();

                trezerwacja.Miejsca = new List <Models.MiejsceToSend>();

                var miejsca = rezerwacja.miejsce;
                foreach (Models.miejsce miejsce in miejsca)
                {
                    Models.MiejsceToSend tmiejsce = new Models.MiejsceToSend();
                    tmiejsce.Nr    = miejsce.nr;
                    tmiejsce.Rzad  = miejsce.rzad;
                    tmiejsce.Wolne = false;

                    trezerwacja.Miejsca.Add(tmiejsce);
                }
                Models.seans seans = rezerwacja.miejsce.First().seans1;
                Models.film  film  = seans.film1;

                trezerwacja.Id      = rezerwacja.id;
                trezerwacja.Kupione = rezerwacja.kupione;

                trezerwacja.SeansId = seans.id;
                trezerwacja.Data    = seans.data;
                trezerwacja.D3      = seans.d3;
                trezerwacja.FilmId  = film.id;
                trezerwacja.Nazwa   = film.nazwa;
                trezerwacja.Rok     = film.rok;

                return(Ok(trezerwacja));
            }
            catch (EntityException ex)
            {
                return(Content(HttpStatusCode.InternalServerError, "Problem z bazą danych"));
            }
            catch
            {
                return(InternalServerError());
            }
        }
Exemplo n.º 3
0
        public IHttpActionResult Get(int id)
        {
            Models.SeansToSend tseans = new Models.SeansToSend();
            try
            {
                Models.seans seans = db.seans.FirstOrDefault(s => s.id == id);
                if (seans == null)
                {
                    return(Content(HttpStatusCode.BadRequest, "Nie istnieje seans o nr " + id));
                }
                if (seans.data <= System.DateTime.Now)
                {
                    return(Content(HttpStatusCode.BadRequest, "Seans o nr " + id + " już się odbył"));
                }

                tseans.D3   = seans.d3;
                tseans.Data = seans.data;
                tseans.Id   = seans.id;

                tseans.FilmId  = seans.film1.id;
                tseans.Nazwa   = seans.film1.nazwa;
                tseans.Rok     = seans.film1.rok;
                tseans.Rezyser = seans.film1.rezyser;
                tseans.Opis    = seans.film1.opis;
                tseans.Dlugosc = seans.film1.dlugosc;

                tseans.Miejsca = new List <Models.MiejsceToSend>();

                foreach (Models.miejsce miejsce in seans.miejsce)
                {
                    Models.MiejsceToSend tmiejsce = new Models.MiejsceToSend();
                    tmiejsce.Nr   = miejsce.nr;
                    tmiejsce.Rzad = miejsce.rzad;

                    if (miejsce.rezerwacja == null)
                    {
                        tmiejsce.Wolne = true;
                    }
                    else
                    {
                        tmiejsce.Wolne = false;
                    }

                    tseans.Miejsca.Add(tmiejsce);
                }
                if (tseans.Miejsca.Count() == 0)
                {
                    return(Content(HttpStatusCode.BadRequest, "Seans nr" + id + " jest jeszcze w przygotowaniu"));
                }

                return(Ok(tseans));
            }
            catch (EntityException ex)
            {
                return(Content(HttpStatusCode.InternalServerError, "Problem w połaczeniu z bazą danych"));
            }
            catch
            {
                return(InternalServerError());
            }
        }
Exemplo n.º 4
0
        public IHttpActionResult Add(Models.RezerwacjaToSend nRezerwacja)
        {
            try
            {
                if (nRezerwacja.Miejsca.Count() == 0)
                {
                    return(Content(HttpStatusCode.BadRequest, "Brak wybranych miejsc"));
                }

                User = System.Web.HttpContext.Current.User;
                int user;
                int.TryParse(((ClaimsIdentity)User.Identity).Claims.First(c => c.Type == "Id").Value, out user);

                Models.rezerwacja rezerwacja = new Models.rezerwacja();

                rezerwacja.klient  = user;
                rezerwacja.kupione = false;

                Models.seans seans = db.seans.FirstOrDefault(s => s.id == nRezerwacja.SeansId);
                if (seans == null)
                {
                    return(Content(HttpStatusCode.BadRequest, "Nie istnieje seans nr " + nRezerwacja.SeansId));
                }

                nRezerwacja.Miejsca.OrderBy(m => m.Rzad).ThenBy(m => m.Nr);
                foreach (Models.miejsce miejsce in seans.miejsce.OrderBy(m => m.rzad).ThenBy(m => m.nr))
                {
                    Models.MiejsceToSend tmiejsce = nRezerwacja.Miejsca.FirstOrDefault();

                    if (tmiejsce != null)
                    {
                        if (miejsce.rzad == tmiejsce.Rzad && miejsce.nr == tmiejsce.Nr)
                        {
                            if (miejsce.rezerwacja1 != null)
                            {
                                return(Content(HttpStatusCode.BadRequest, "Miejsce " + miejsce.nr + "w rzedzie " + miejsce.rzad + " jest już zajęte."));
                            }

                            miejsce.rezerwacja1 = rezerwacja;
                            nRezerwacja.Miejsca.RemoveAt(0);
                        }
                    }
                    else
                    {
                        break;
                    }
                }

                db.rezerwacja.Add(rezerwacja);
                db.SaveChanges();
                return(Ok(rezerwacja.id));
            }
            catch (EntityException ex)
            {
                return(Content(HttpStatusCode.InternalServerError, "Problem z bazą danych"));
            }
            catch
            {
                return(InternalServerError());
            }
        }