public IActionResult UserInfo()
        {
            UserAccounts   model = Autentification.GetLoggedUser(HttpContext);
            Administrators a     = adminRepository.GetAdministrator(model.Id);

            return(PartialView("UserInfo", a));
        }
예제 #2
0
        public IActionResult Buy(int id)
        {
            UserAccounts u = Autentification.GetLoggedUser(HttpContext);

            if (u == null)
            {
                return(RedirectToAction("Index", "Autentification"));
            }

            else
            {
                Tickets ticket = new Tickets();
                ticket.TicketTypeId = id;

                TicketTypes type = tickettypeRepository.GetType(id);

                ticket.Date     = DateTime.Now;
                ticket.Quantity = 1;
                ticket.Seen     = false;
                ticket.Active   = false;
                ticket.Code     = "";
                ticket.ClientId = clientRepository.GetClientByUserId(u.Id).Id;
                ticket.Quantity = 1;
                ticket.Total    = type.Price;

                ViewData["type"]  = type.Type;
                ViewData["total"] = ticket.Total * 100;


                return(View("Buy", ticket));
            }
        }
        public IActionResult GetInfo()
        {
            UserAccounts model = Autentification.GetLoggedUser(HttpContext);
            Museums      m     = museumRepository.GetMuseumByAccId(model.Id);

            return(PartialView("GetInfo", m));
        }
예제 #4
0
        public IActionResult Index()
        {
            int            Id    = Autentification.GetLoggedUser(HttpContext).Id;
            List <Reviews> model = reviewRepository.GetReviews(Id);

            return(View("Index", model));
        }
        public IActionResult GetMuseum(int?id)
        {
            int     userId = Autentification.GetLoggedUser(HttpContext).Id;
            Museums m      = museumRepository.GetMuseumByAccId(userId);

            id = m.Id;
            MuseumVM model = new MuseumVM()
            {
                Id               = m.Id,
                Name             = m.Name,
                UserId           = m.UserId,
                Username         = m.User.Username,
                PasswordHash     = m.User.PasswordHash,
                PasswordSalt     = m.User.PasswordSalt,
                RegistrationDate = m.User.RegistrationDate.ToString("dd/MM/yyyy"),
                MuseumType       = m.MuseumType.Name,
                MuseumTypeId     = m.MuseumTypeId,
                Year             = m.OpeningYear,
                QrScanning       = m.QrScanning,
                TicketSelling    = m.OnlineTickets,
                Description      = m.Description,
                Email            = m.Email,
                Phone            = m.Phone,
                Address          = m.Address,
                Latitude         = m.Latitude,
                Longitude        = m.Longitude,
                Images           = imageRepository.GetMuseumImages(m.Id),
                WorkingHour      = workingHoursRepository.GetWorkingHours(m.Id)
            };

            model.MuseumTypes = new SelectList(museumTypeRepository.GetMuseumTypes(), "Id", "Name");

            return(View("Edit", model));
        }
        public IActionResult Index()
        {
            int     id = Autentification.GetLoggedUser(HttpContext).Id;
            Museums m  = museumRepository.GetMuseumByAccId(id);

            List <Artworks> model = artworkRepository.GetArtworksByMuseum(m.Id);

            List <ArtworkInfoVM> list = new List <ArtworkInfoVM>();

            foreach (Artworks x in model)
            {
                ArtworkInfoVM vm = new ArtworkInfoVM();
                vm.Id       = x.Id;
                vm.Artist   = x.Artist.Name;
                vm.ArtistId = x.ArtistId;
                vm.Likes    = likesRepository.GetLikes(x.Id);
                vm.Name     = x.Name;
                vm.Image    = imageRepository.GetArtworkImage(x.Id);

                if (vm.Image != null)
                {
                    vm.ImageId = vm.Image.Id;
                }

                list.Add(vm);
            }

            ViewData["collections"] = collectionRepository.GetCollections(m.Id);

            return(View("Index", list));
        }
예제 #7
0
        public IActionResult Filter(string startDate, string endDate)
        {
            int            Id    = Autentification.GetLoggedUser(HttpContext).Id;
            List <Tickets> model = ticketRepository.Filter(Id, Convert.ToDateTime(startDate), Convert.ToDateTime(endDate));

            return(View("Index", model));
        }
        public IActionResult Index(bool?r)
        {
            InfoVM model = new InfoVM();

            if (r == null)
            {
                r = true;
            }

            int Id = Autentification.GetLoggedUser(HttpContext).Id;

            model.ActiveTickets      = ticketRepository.GetTickets(Id).Where(x => x.Active).Count();
            model.DayActiveTickets   = ticketRepository.GetTickets(Id).Where(x => x.Active && x.Date.Day == DateTime.Now.Day).Count();
            model.AverageRating      = reviewRepository.AverageRating(Id);
            model.LatestReviews      = reviewRepository.GetReviews(Id).Take(4);
            model.LatestTickets      = ticketRepository.GetTickets(Id).Take(10);
            model.MonthAverageRating = reviewRepository.MonthAverageRating(Id);
            model.MonthTicketsSold   = ticketRepository.GetMonthSum(Id);
            model.MonthTotal         = ticketRepository.GetMonthTotal(Id);
            model.result             = Convert.ToBoolean(r);
            model.TicketsSold        = ticketRepository.GetSum(Id);
            model.Total = ticketRepository.GetTotal(Id);

            return(View("Index", model));
        }
        public IActionResult NewMessages()
        {
            int id = Autentification.GetLoggedUser(HttpContext).Id;

            int newMessages = messageRepository.GetNewMessages(id);

            return(PartialView("NewMessages", newMessages.ToString()));
        }
        public PartialViewResult PartialIndex()
        {
            int userId = Autentification.GetLoggedUser(HttpContext).Id;
            IEnumerable <Messages> model = messageRepository.GetMessagesByUser(userId);

            ViewData["User"] = userId;

            return(PartialView("PartialIndex", model));
        }
        public IActionResult Profile()
        {
            UserAccounts   model = Autentification.GetLoggedUser(HttpContext);
            Administrators a     = adminRepository.GetAdministrator(model.Id);

            ViewData["Email"] = a.Email;

            return(View("Index", a));
        }
예제 #12
0
        public IActionResult Add()
        {
            TicketTypes model = new TicketTypes();

            int id = Autentification.GetLoggedUser(HttpContext).Id;

            model.MuseumId = museumRepository.GetMuseumByAccId(id).Id;

            return(View("Add", model));
        }
        public PartialViewResult Add()
        {
            int userId = Autentification.GetLoggedUser(HttpContext).Id;

            IEnumerable <UserAccounts> users = userRepository.GetUsers(userId);

            ViewBag.ReceiverId = new SelectList(users, "Id", "Username");

            return(PartialView("Add"));
        }
예제 #14
0
        public IActionResult Index()
        {
            int            Id    = Autentification.GetLoggedUser(HttpContext).Id;
            List <Tickets> model = ticketRepository.GetTickets(Id);

            ViewData["StartDate"] = DateTime.Now;
            ViewData["EndDate"]   = DateTime.Now;

            return(View("Index", model));
        }
        public IActionResult Details(int id)
        {
            Artists a = artistRepository.GetArtistById(id);

            ArtistVM model = new ArtistVM();

            model.Artworks = new List <ArtworkVM>();
            model.Styles   = new List <string>();
            List <Artworks> artworks = artworkRepository.GetArtworksByArtist(a.Id);

            foreach (Artworks art in artworks)
            {
                ArtworkVM vm = new ArtworkVM();
                vm.Id     = art.Id;
                vm.Name   = art.Name;
                vm.Artist = a.Name;
                vm.Image  = imageRepository.GetArtworkImage(art.Id);
                vm.Museum = art.Museum.Name;
                if (vm.Image != null)
                {
                    vm.ImageId = vm.Image.Id;
                }
                vm.Likes = likesRepository.GetLikes(a.Id);
                if (Autentification.GetLoggedUser(HttpContext) != null)
                {
                    Clients c = clientRepository.GetClientByUserId(Autentification.GetLoggedUser(HttpContext).Id);
                    vm.Liked = likesRepository.IsLiked(c.Id, a.Id);
                }
                else
                {
                    vm.Liked = false;
                }
                model.Artworks.Add(vm);
            }
            model.Biography = a.Biography;
            model.Born      = a.Born;
            model.Country   = a.Country.Name;
            model.Died      = a.Died;
            model.Id        = a.Id;
            model.Image     = imageRepository.GetArtistImage(a.Id);
            if (model.Image != null)
            {
                model.ImageId = model.Image.Id;
            }
            model.Images = imageRepository.GetArtistImages(a.Id);
            model.Name   = a.Name;
            IEnumerable <ArtistMovements> movements = stylesRepository.GetArtistMovementsByArtist(a.Id);

            foreach (ArtistMovements am in movements)
            {
                string style = am.Style.Name;
                model.Styles.Add(style);
            }
            return(View("Details", model));
        }
예제 #16
0
        public IActionResult Add()
        {
            int     id = Autentification.GetLoggedUser(HttpContext).Id;
            Museums m  = museumRepository.GetMuseumByAccId(id);

            News model = new News();

            model.MuseumId = m.Id;

            return(View("Add", model));
        }
예제 #17
0
        public IActionResult Index()
        {
            int     Id = Autentification.GetLoggedUser(HttpContext).Id;
            Museums m  = museumRepository.GetMuseumByAccId(Id);

            IEnumerable <TicketTypes> model = tickettypeRepository.GetTicketTypes(m.Id);

            ViewData["Allow"] = m.OnlineTickets;


            return(View("Index", model));
        }
        public IActionResult Add(int id)
        {
            int     userId = Autentification.GetLoggedUser(HttpContext).Id;
            Museums m      = museumRepository.GetMuseumByAccId(userId);

            Collections model = new Collections();

            model.MuseumId = m.Id;
            model.ImageId  = id;

            return(View("Add", model));
        }
        public IActionResult Add()
        {
            int     id = Autentification.GetLoggedUser(HttpContext).Id;
            Museums m  = museumRepository.GetMuseumByAccId(id);

            Events model = new Events();

            model.MuseumId = m.Id;

            model.StartDate = DateTime.Now;
            model.EndTime   = DateTime.Now;

            return(View("Add", model));
        }
        public IActionResult Unlike(int id)
        {
            if (Autentification.GetLoggedUser(HttpContext) != null)
            {
                Clients c = clientRepository.GetClientByUserId(Autentification.GetLoggedUser(HttpContext).Id);
                likesRepository.DeleteLike(c.Id, id);
                likesRepository.Save();

                return(RedirectToAction("Index", "Artwork"));
            }

            else
            {
                return(RedirectToAction("Index", "Autentification"));
            }
        }
        public IActionResult Add()
        {
            int     id = Autentification.GetLoggedUser(HttpContext).Id;
            Museums m  = museumRepository.GetMuseumByAccId(id);

            ArtworkVM model = new ArtworkVM();

            model.Artist      = new SelectList(artistRepository.GetArtists(), "Id", "Name");
            model.ArtworkType = new SelectList(artworkTypeRepository.GetArtworkTypes(), "Id", "Name");
            model.Country     = new SelectList(countryRepository.GetCountries(), "Id", "Name");
            model.Material    = new SelectList(materialRepository.GetMaterials(), "Id", "Name");
            model.Style       = new SelectList(styleRepository.GetStyles(), "Id", "Name");

            model.MuseumId = m.Id;

            return(View("Add", model));
        }
        public IActionResult Save(Messages m)
        {
            if (ModelState.IsValid)
            {
                Messages message = new Messages();
                message.Date       = DateTime.Now;
                message.SenderId   = Autentification.GetLoggedUser(HttpContext).Id;
                message.Seen       = false;
                message.ReceiverId = m.ReceiverId;
                message.Text       = m.Text;

                messageRepository.InsertMessage(message);
                messageRepository.Save();
            }

            return(RedirectToAction("Index", "Home"));
        }
        public IActionResult Index()
        {
            int     id = Autentification.GetLoggedUser(HttpContext).Id;
            Museums m  = museumRepository.GetMuseumByAccId(id);

            List <Collections> model = collectionRepository.GetCollections(m.Id);

            foreach (Collections x in model)
            {
                if (x.Description.Length > 200)
                {
                    x.Description = x.Description.Substring(0, 200);
                }
            }

            return(View("Index", model));
        }
        public IActionResult Like(int id)
        {
            if (Autentification.GetLoggedUser(HttpContext) != null)
            {
                Clients c    = clientRepository.GetClientByUserId(Autentification.GetLoggedUser(HttpContext).Id);
                Likes   like = new Likes();
                like.ArtworkId = id;
                like.ClientId  = c.Id;

                likesRepository.InsertLike(like);
                likesRepository.Save();
                return(RedirectToAction("Index", "Artwork"));
            }
            else
            {
                return(RedirectToAction("Index", "Autentification"));
            }
        }
        public PartialViewResult Details(int id)
        {
            int userId = Autentification.GetLoggedUser(HttpContext).Id;
            IEnumerable <Messages> message = messageRepository.GetMessagesById(id, userId);

            MessageVM model = new MessageVM();

            model.Messages = new List <Messages>();
            foreach (Messages m in message)
            {
                if (m.ReceiverId == userId)
                {
                    m.Seen = true;
                    messageRepository.UpdateMessage(m);
                }

                model.Messages.Add(m);
            }

            messageRepository.Save();

            model.Reply = new Messages();
            Messages mess       = message.Take(1).SingleOrDefault();
            int      senderId   = Convert.ToInt32(mess.SenderId);
            int      receiverId = Convert.ToInt32(mess.ReceiverId);

            if (receiverId == userId)
            {
                model.ReceiverId = userId;
                model.SenderId   = id;
            }
            else
            {
                model.ReceiverId = id;
                model.SenderId   = userId;
            }

            ViewData["userId"] = userId;
            return(PartialView("Details", model));
        }
        public JsonResult GetEvents(DateTime start, DateTime end)
        {
            int     id = Autentification.GetLoggedUser(HttpContext).Id;
            Museums m  = museumRepository.GetMuseumByAccId(id);

            List <Events> list = eventRepository.GetEvents(m.Id);

            list = list.Where(x => x.StartDate >= start && x.EndTime <= end).ToList();
            var eventList = from e in list
                            select new
            {
                id      = e.Id,
                title   = e.Title,
                start   = e.StartDate,
                end     = e.EndTime,
                color   = "Teal",
                someKey = e.Id + 1,
                allDay  = false
            };
            var rows = eventList.ToArray();

            return(Json(rows));
        }
예제 #27
0
        public IActionResult Index()
        {
            int     id = Autentification.GetLoggedUser(HttpContext).Id;
            Museums m  = museumRepository.GetMuseumByAccId(id);

            List <News>   news  = newsRepository.GetNews(m.Id);
            List <NewsVM> model = new List <NewsVM>();

            foreach (News x in news)
            {
                NewsVM vm = new NewsVM();

                vm.Id       = x.Id;
                vm.Date     = x.Date;
                vm.MuseumId = x.MuseumId;
                vm.Subtitle = x.SubTitle;

                if (x.Text.Length > 200)
                {
                    vm.Text = x.Text.Substring(0, 200);
                }
                else
                {
                    vm.Text = x.Text;
                }
                vm.Title  = x.Title;
                vm.Images = imageRepository.GetNewsImage(x.Id);
                if (vm.Images != null)
                {
                    vm.ImageId = vm.Images.Id;
                }
                vm.Img = null;

                model.Add(vm);
            }
            return(View("Index", model));
        }
        public IActionResult Details(int id)
        {
            Artworks  x  = artworkRepository.GetArtworkById(id);
            ArtworkVM vm = new ArtworkVM();

            vm.Id             = x.Id;
            vm.Artist         = x.Artist.Name;
            vm.ArtworkType    = x.ArtworkType.Name;
            vm.ArtworkTypeId  = x.ArtworkTypeId;
            vm.CatalogueEntry = x.CatalogueEntry;
            vm.Country        = x.Country.Name;
            vm.Image          = imageRepository.GetArtworkImage(x.Id);
            if (vm.Image != null)
            {
                vm.ImageId = vm.Image.Id;
            }
            vm.Likes      = likesRepository.GetLikes(x.Id);
            vm.Material   = x.Material.Name;
            vm.Museum     = x.Museum.Name;
            vm.MuseumId   = x.MuseumId;
            vm.Name       = x.Name;
            vm.Provenance = x.Provenance;
            vm.Style      = x.Style.Name;
            vm.Images     = imageRepository.GetArtworkImages(x.Id);
            if (Autentification.GetLoggedUser(HttpContext) != null)
            {
                Clients c = clientRepository.GetClientByUserId(Autentification.GetLoggedUser(HttpContext).Id);
                vm.Liked = likesRepository.IsLiked(c.Id, x.Id);
            }
            else
            {
                vm.Liked = false;
            }

            return(View(vm));
        }
예제 #29
0
        public IActionResult Review(Reviews review)
        {
            if (Autentification.GetLoggedUser(HttpContext) != null)
            {
                Reviews r = new Reviews();
                r.MuseumId = review.MuseumId;
                //r.Rating = Int32.Parse(rate);
                r.Rating = review.Rating;
                r.Note   = review.Note;
                //r.Note = komentar;
                r.Date = DateTime.Now;
                UserAccounts u = Autentification.GetLoggedUser(HttpContext);
                r.ClientId = clientRepository.GetClientByUserId(u.Id).Id;

                reviewRepository.AddReview(r);
                reviewRepository.Save();
                return(RedirectToAction("Details", r.MuseumId));
            }

            else
            {
                return(RedirectToAction("Index", "Autentification"));
            }
        }
        public IActionResult Index()
        {
            UserAccounts   u      = Autentification.GetLoggedUser(HttpContext);
            Administrators admin  = null;
            Museums        museum = null;

            if (u != null)
            {
                if (adminRepository.GetAdministrator(u.Id) != null)
                {
                    admin = adminRepository.GetAdministrator(u.Id);
                }
                if (museumRepository.GetMuseumByAccId(u.Id) != null)
                {
                    museum = museumRepository.GetMuseumByAccId(u.Id);
                }
            }

            if (admin != null)
            {
                return(RedirectToAction("Index", "Home", new { area = "Administrator" }));
            }

            else if (museum != null)
            {
                return(RedirectToAction("Index", "Home", new { area = "Moderator" }));
            }

            else
            {
                HomeVM model = new HomeVM();

                List <Museums> list = museumRepository.GetTop3();
                model.Museums  = new List <MuseumVM>();
                model.Artworks = new List <ArtworkVM>();
                model.News     = new List <NewsVM>();
                List <Artworks> artworks = artworkRepository.GetTop6();
                List <News>     news     = newsRepository.GetLatest();

                foreach (Museums x in list)
                {
                    MuseumVM m = new MuseumVM();
                    m.Id          = x.Id;
                    m.Description = x.Description;
                    m.Image       = imageRepository.GetMuseumImage(x.Id);
                    m.Name        = x.Name;
                    if (m.Image != null)
                    {
                        m.ImageId = m.Image.Id;
                    }
                    model.Museums.Add(m);
                }

                foreach (Artworks x in artworks)
                {
                    ArtworkVM a = new ArtworkVM();
                    a.Id     = x.Id;
                    a.Name   = x.Name;
                    a.Artist = x.Artist.Name;
                    a.Museum = x.Museum.Name;
                    a.Image  = imageRepository.GetArtworkImage(x.Id);
                    if (a.Image != null)
                    {
                        a.ImageId = a.Image.Id;
                    }
                    model.Artworks.Add(a);
                }

                foreach (News x in news)
                {
                    NewsVM n = new NewsVM();
                    n.Id    = x.Id;
                    n.Date  = x.Date;
                    n.Image = imageRepository.GetNewsImage(x.Id);
                    if (n.Image != null)
                    {
                        n.ImageId = n.Image.Id;
                    }
                    n.Museum   = x.Museum.Name;
                    n.Subtitle = x.SubTitle;
                    n.Text     = x.Text;
                    n.Title    = x.Title;
                    model.News.Add(n);
                }

                return(View("Index", model));
            }
        }