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()); } }
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()); } }
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()); } }
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()); } }