Ejemplo n.º 1
0
 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"));
     }
 }
Ejemplo n.º 2
0
 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"));
 }
Ejemplo n.º 3
0
        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));
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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"));
            }
        }
Ejemplo n.º 6
0
 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"));
 }