public ActionResult Viesbucio_informacijos_langas(int id = 0) { try { Viesbutis hotel = repository.Set <Viesbutis>().Find(id); List <RoomViewModel> rooms = new List <RoomViewModel>(); List <Kambarys> items = repository.Set <Kambarys>().ToList(); foreach (var item in items) { if (item.fk_Viesbutisid == id) { rooms.Add(new RoomViewModel() { id = item.id, Capacity = item.vietu_sk, Number = item.numeris, Price = item.kaina, Description = item.aprasymas, Type = item.tipas.name.First().ToString().ToUpper() + item.tipas.name.Substring(1) }); } } rooms.OrderBy(x => x.id); List <ServiceViewModel> services = new List <ServiceViewModel>(); List <Papildoma_paslauga> items2 = repository.Set <Papildoma_paslauga>().ToList(); foreach (var item in items2) { if (item.fk_Viesbutisid == id) { services.Add(new ServiceViewModel() { id = item.id, Description = item.aprasymas, Price = item.kaina }); } } services.OrderBy(x => x.id); var model = new HotelsViewModel(); if (hotel != null) { model.id = hotel.id; model.Title = hotel.pavadinimas; model.HotelsNet = hotel.viesbuciu_tinklas; model.Stars = hotel.zvaigzduciu_sk; model.City = hotel.miestas; model.Address = hotel.adresas; model.Description = hotel.aprasymas; } model.Rooms = rooms; model.Services = services; model.RoomsTitle = new RoomViewModel(); model.ServicesTitle = new ServiceViewModel(); return(View(model)); } catch (ITPProException ex) { return(RedirectToAction("Sistemos_klientu_langas")); } }
public ActionResult Irasyti(RestrictRightsViewModel model, int clientid) { if (ModelState.IsValid) { Darbuotojas emp = repository.Set <Darbuotojas>().Find(CurrentUser.UserId); Viesbutis hotel = repository.Set <Viesbutis>().Find(emp.fk_Viesbutisid); Teises rights = repository.Set <Teises>().Where(x => x.viesbuciu_tinklas == hotel.viesbuciu_tinklas && x.fk_Klientaskliento_kodas == clientid).FirstOrDefault(); rights.priezastis = model.Reason; rights.data_iki = model.DateEnd; rights.teisiu_statusas = false; repository.SaveChanges(); } return(RedirectToAction("Sistemos_klientu_langas")); }
public ActionResult CreateReport(RoomsBusynessViewModel model, int hotelid) { TimeSpan xd = model.EndTime - model.StartTime; List <Kambarys> rooms = repository.Set <Kambarys>().Where(x => x.fk_Viesbutisid == hotelid).ToList(); Viesbutis hotel = repository.Set <Viesbutis>().Find(hotelid); RoomsReportResultsViewModel model2 = new RoomsReportResultsViewModel(); model2.Title = hotel.pavadinimas; model2.StartTime = model.StartTime; model2.EndTime = model.EndTime; List <RoomResult> results = new List <RoomResult>(); foreach (var item in rooms) { RoomResult result = new RoomResult(); result.Number = item.numeris; List <Rezervacijos_kambarys> data = repository.Set <Rezervacijos_kambarys>().Where(x => x.fk_Kambarysid == item.id).ToList(); double count = 0; foreach (var item2 in data) { Rezervacija data2 = repository.Set <Rezervacija>().Find(item2.fk_Rezervacijaid); if (data2.rezervacijos_pradzia >= model.EndTime) { count += 0; } if (data2.rezervacijos_pradzia >= model.StartTime && data2.rezervacijos_pabaiga <= model.EndTime) { count += data2.rezervacijos_pabaiga.Subtract(data2.rezervacijos_pradzia).TotalDays; } if (data2.rezervacijos_pradzia >= model.StartTime && data2.rezervacijos_pradzia < model.EndTime && data2.rezervacijos_pabaiga > model.EndTime) { count += model.EndTime.Subtract(data2.rezervacijos_pradzia).TotalDays; } } double lol = xd.TotalDays; result.Busyness = count * 100 / lol; results.Add(result); } model2.results = results; return(View(model2)); }
public ActionResult Viesbuciu_langas(int page = 1, int items = 10) { if (page < 1) { page = 1; } ViewData["page"] = page; ViewData["items"] = items; Darbuotojas emp = repository.Set <Darbuotojas>().Find(CurrentUser.UserId); Viesbutis hotel = repository.Set <Viesbutis>().Find(emp.fk_Viesbutisid); HotelsViewModel model = new HotelsViewModel(); List <HotelsViewModel> hotels = new List <HotelsViewModel>(); List <Teises> rights = repository.Set <Teises>().Where(x => x.fk_Darbuotojasdarbuojo_kodas == CurrentUser.UserId).ToList(); foreach (var item in repository.Set <Viesbutis>()) { if (item.viesbuciu_tinklas == hotel.viesbuciu_tinklas) { hotels.Add(new HotelsViewModel() { id = item.id, Title = item.pavadinimas, HotelsNet = item.viesbuciu_tinklas, Stars = item.zvaigzduciu_sk, City = item.miestas, Address = item.adresas, Description = item.aprasymas, Rights = rights.Where(x => x.viesbutis == item.pavadinimas).Select(x => x.teisiu_statusas).FirstOrDefault() }); } } hotels.OrderBy(x => x.id); model.hotels = hotels.ToPagedList(1, 10); return(View(model)); }
public ActionResult Kliento_informacijos_langas(int id = 0) { try { Klientas client = repository.Set <Klientas>().Find(id); Darbuotojas emp = repository.Set <Darbuotojas>().Find(CurrentUser.UserId); Viesbutis hotel = repository.Set <Viesbutis>().Find(emp.fk_Viesbutisid); Teises rights = repository.Set <Teises>().Where(x => x.viesbuciu_tinklas == hotel.viesbuciu_tinklas && x.fk_Klientaskliento_kodas == id).FirstOrDefault(); bool isRestricted; if (rights.data_iki < DateTime.Now) { isRestricted = false; } else { isRestricted = true; } var model = new ClientsViewModel(); if (client != null) { model.id = client.kliento_kodas; model.Name = client.vardas; model.Surname = client.pavarde; model.Email = client.el_pastas; model.Phone = client.telefonas; model.Address = client.adresas; model.Gender = client.lytis; model.isRestricted = isRestricted; } return(View(model)); } catch (ITPProException ex) { return(RedirectToAction("Sistemos_klientu_langas")); } }
public ActionResult DeleteHotel(int id) { try { if (id > 0) { Viesbutis hotel = repository.Set <Viesbutis>().Find(id); int count = repository.Set <Darbuotojas>().Where(x => x.fk_Viesbutisid == hotel.id).Count(); if (count > 0) { string error = "Viešbučio negalima ištrinti, nes jis turi darbuotojų"; ViewData["error"] = error; throw new ITPProException(error); } List <Kambarys> rooms = repository.Set <Kambarys>().Where(x => x.fk_Viesbutisid == hotel.id).ToList(); foreach (var item in rooms) { List <Rezervacijos_kambarys> data = repository.Set <Rezervacijos_kambarys>().Where(x => x.fk_Kambarysid == item.id).ToList(); foreach (var item2 in data) { count = repository.Set <Rezervacija>().Where(x => x.id == item2.fk_Rezervacijaid && x.rezervacijos_pabaiga > DateTime.Now).Count(); if (count > 0) { string error = "Viešbučio negalima ištrinti, nes jis turi dar galiojančių rezervacijų susijusių su kambariais"; ViewData["error"] = error; throw new ITPProException(error); } } } List <Papildoma_paslauga> services = repository.Set <Papildoma_paslauga>().Where(x => x.fk_Viesbutisid == hotel.id).ToList(); foreach (var item in services) { List <Rezervacijos_papildoma_paslauga> data = repository.Set <Rezervacijos_papildoma_paslauga>().Where(x => x.fk_Papildoma_paslaugaid == item.id).ToList(); foreach (var item2 in data) { count = repository.Set <Rezervacija>().Where(x => x.id == item2.fk_Papildoma_paslaugaid && x.rezervacijos_pabaiga > DateTime.Now).Count(); if (count > 0) { string error = "Viešbučio negalima ištrinti, nes jis turi dar galiojančių rezervacijų susijusių su papildomis paslaugomis"; ViewData["error"] = error; throw new ITPProException(error); } } } count = repository.Set <Viesbutis>().Where(X => X.fk_savininkas == CurrentUser.UserId).Count(); if (count == 1) { List <Teises> cRights = repository.Set <Teises>().Where(x => x.viesbuciu_tinklas == hotel.viesbuciu_tinklas).ToList(); foreach (var item in cRights) { repository.Set <Teises>().Remove(item); } } List <Teises> rigths = repository.Set <Teises>().Where(x => x.tipas.id == 2 && x.viesbutis == hotel.pavadinimas).ToList(); foreach (var item in rigths) { repository.Set <Teises>().Remove(item); } foreach (var item in rooms) { repository.Set <Kambarys>().Remove(item); } foreach (var item in services) { repository.Set <Papildoma_paslauga>().Remove(item); } repository.Set <Viesbutis>().Remove(hotel); repository.SaveChanges(); } return(RedirectToAction("HotelModelList")); } catch (ITPProException ex) { ModelState.AddModelError("", ex.Message); } return(RedirectToAction("HotelModelList")); }