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));
        }
Exemple #2
0
        public IActionResult Save(MuseumVM museum)
        {
            if (!ModelState.IsValid)
            {
                museum.MuseumType = new SelectList(museumtypeRepository.GetMuseumTypes(), "Id", "Name").ToList();
                return(View("Add", museum));
            }

            UserAccounts u = new UserAccounts();

            if (museum.PasswordHash == museum.PasswordSalt)
            {
                string password = museum.PasswordHash;
                u.PasswordSalt     = GeneratePassword.GenerateSalt();
                u.PasswordHash     = GeneratePassword.GenerateHash(password, u.PasswordSalt);
                u.Username         = museum.Username;
                u.RegistrationDate = DateTime.Now;
                u.Active           = true;

                userRepository.InsertUser(u);
                museumRepository.Save();

                Museums m = new Museums();
                m.MuseumTypeId = museum.MuseumTypeId;
                m.Name         = museum.Name;
                m.UserId       = u.Id;

                museumRepository.InsertMuseum(m);
                museumRepository.Save();
            }
            return(RedirectToAction("Index"));
        }
        public IActionResult Edit(MuseumVM model)
        {
            if (!ModelState.IsValid)
            {
                model.MuseumTypes = new SelectList(museumTypeRepository.GetMuseumTypes(), "Id", "Name");
                return(View("Edit", model));
            }

            Museums m = new Museums();

            m.Id            = model.Id;
            m.Name          = model.Name;
            m.UserId        = model.UserId;
            m.Latitude      = model.Latitude;
            m.Longitude     = model.Longitude;
            m.Address       = model.Address;
            m.Email         = model.Email;
            m.Phone         = model.Phone;
            m.MuseumTypeId  = model.MuseumTypeId;
            m.Description   = model.Description;
            m.OpeningYear   = model.Year;
            m.QrScanning    = model.QrScanning;
            m.OnlineTickets = model.TicketSelling;

            museumRepository.UpdateMuseum(m);
            museumRepository.Save();

            return(RedirectToAction("Details", new { id = model.Id }));
        }
Exemple #4
0
        public IActionResult Search(string search, int page = 1)
        {
            List <Museums> list = new List <Museums>();

            if (search != null)
            {
                list = museumRepository.Search(search);
            }
            else
            {
                list = museumRepository.GetMuseums();
            }
            List <MuseumVM> model = new List <MuseumVM>();

            const int PageSize = 12;
            var       count    = list.Count();

            if (page == 1)
            {
                list = list.Skip(0).Take(PageSize).ToList();
            }

            else
            {
                list = list.Skip((page - 1) * PageSize).Take(PageSize).ToList();
            }

            if (count <= PageSize)
            {
                ViewBag.MaxPage = 1;
            }
            else
            {
                if (count % PageSize == 0)
                {
                    ViewBag.MaxPage = (count / PageSize);
                }
                else
                {
                    ViewBag.MaxPage = (count / PageSize) + 1;
                }
            }
            ViewBag.Page     = page;
            ViewBag.NextPage = page + 1;

            foreach (Museums x in list)
            {
                MuseumVM vm = new MuseumVM();
                vm.Id      = x.Id;
                vm.Address = x.Address;
                vm.Name    = x.Name;
                vm.Image   = imageRepository.GetMuseumImage(x.Id);
                if (vm.Image != null)
                {
                    vm.ImageId = vm.Image.Id;
                }
                model.Add(vm);
            }
            return(View("Index", model));
        }
Exemple #5
0
        public IActionResult Add()
        {
            MuseumVM m = new MuseumVM();

            m.MuseumType = new SelectList(museumtypeRepository.GetMuseumTypes(), "Id", "Name").ToList();

            return(View(m));
        }
        // GET: /<controller>/
        public IActionResult Category()
        {
            var model      = new MuseumVM();
            var categories = _museumService.GetAllElementCategories();

            if (!categories.IsOk())
            {
                TempData["ErrorMessage"] = string.Format("Hiba a lekérés során ({0} : {1})", categories.Status, categories.Message);
                return(View());
            }

            model.Categories = categories.Data;
            return(View(model));
        }
 public IActionResult AddElement(MuseumVM model)
 {
     if (ModelState.IsValid)
     {
         var map = _mapper.Map <MuseumSM>(model);
         map.Publisher = User.Identity.Name;
         var result = _museumService.AddElement(map);
         if (result.IsOk())
         {
             return(RedirectToAction("Index"));
         }
     }
     TempData["ErrorMessage"] = string.Format("Hiba a hozzáadás során: Nem létező paraméter");
     return(RedirectToAction("Index"));
 }
Exemple #8
0
        public IActionResult GetMuseum(int id)
        {
            Museums  m     = museumRepository.GetMuseum(id);
            MuseumVM model = new MuseumVM()
            {
                Id             = m.Id,
                Name           = m.Name,
                MuseumTypeId   = m.MuseumTypeId,
                UserId         = m.UserId,
                Username       = m.User.Username,
                PasswordHash   = m.User.PasswordHash,
                PasswordSalt   = m.User.PasswordSalt,
                NewPassword    = null,
                RepeatPassword = null,
                MuseumType     = museumtypeRepository.GetMuseumTypes().Select(x => new SelectListItem {
                    Value = x.Id.ToString(), Text = x.Name
                }).ToList()
            };

            return(View("Edit", model));
        }
Exemple #9
0
        public IActionResult Edit(MuseumVM museum)
        {
            if (!ModelState.IsValid)
            {
                museum.MuseumType = new SelectList(museumtypeRepository.GetMuseumTypes(), "Id", "Name").ToList();
                return(View("Edit", museum));
            }

            UserAccounts u = userRepository.GetUserById(museum.UserId);

            if (museum.PasswordHash != null && museum.PasswordSalt != null)
            {
                if (museum.NewPassword == museum.RepeatPassword)
                {
                    if (museum.NewPassword != null && museum.RepeatPassword != null)
                    {
                        string password = museum.NewPassword;
                        u.PasswordSalt = GeneratePassword.GenerateSalt();
                        u.PasswordHash = GeneratePassword.GenerateHash(password, u.PasswordSalt);
                    }
                    else
                    {
                        u.PasswordHash = museum.PasswordHash;
                        u.PasswordSalt = museum.PasswordSalt;
                    }
                    u.Username = museum.Username;
                    userRepository.UpdateUser(u);
                    museumRepository.Save();

                    Museums m = museumRepository.GetMuseum(museum.Id);
                    m.MuseumTypeId = museum.MuseumTypeId;
                    m.Name         = museum.Name;
                    m.UserId       = u.Id;

                    museumRepository.UpdateMuseum(m);
                    museumRepository.Save();
                }
            }
            return(RedirectToAction("Index"));
        }
        public IActionResult CreateElemPartial()
        {
            var category = _museumService.GetAllElementCategories();

            if (!category.IsOk())
            {
                return(PartialView("Layout/_ErrorHandling", string.Format("Hiba a lekérés során ({0} : {1})", category.Status, category.Message)));
            }

            var tags = _museumService.GetAllTags();

            if (!tags.IsOk())
            {
                return(PartialView("Layout/_ErrorHandling", string.Format("Hiba a lekérés során ({0} : {1})", category.Status, category.Message)));
            }

            var model = new MuseumVM();

            model.Categories = category.Data;
            model.Tags       = tags.Data;

            return(PartialView("Partials/_AddElement", model));
        }
        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));
            }
        }
Exemple #12
0
        public IActionResult Details(int id)
        {
            Museums  m     = museumRepository.GetMuseum(id);
            MuseumVM model = new MuseumVM();

            model.Id          = m.Id;
            model.Address     = m.Address;
            model.Description = m.Description;
            model.Email       = m.Email;
            if (model.Image != null)
            {
                model.ImageId = model.Image.Id;
            }

            model.Images        = imageRepository.GetMuseumImages(id);
            model.Latitude      = m.Latitude;
            model.Longitude     = m.Longitude;
            model.Image         = imageRepository.GetMuseumImage(m.Id);
            model.Name          = m.Name;
            model.OpeningYear   = m.OpeningYear;
            model.Phone         = m.Phone;
            model.TicketSelling = m.OnlineTickets;
            model.Type          = m.MuseumType.Name;
            model.UserId        = m.UserId;
            List <Artworks> artworks = artworkRepository.GetArtworksByMuseum(m.Id);

            model.Artworks = new List <ArtworkVM>();
            foreach (Artworks a in artworks)
            {
                ArtworkVM vm = new ArtworkVM();
                vm.Artist        = a.Artist.Name;
                vm.ArtworkType   = a.ArtworkType.Name;
                vm.ArtworkTypeId = a.ArtworkTypeId;
                vm.Country       = a.Country.Name;
                vm.Id            = a.Id;
                vm.Image         = imageRepository.GetArtworkImage(a.Id);
                if (vm.Image != null)
                {
                    vm.ImageId = vm.Image.Id;
                }
                vm.Name     = a.Name;
                vm.MuseumId = a.MuseumId;
                model.Artworks.Add(vm);
            }

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

            model.News = new List <NewsVM>();
            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);
            }
            model.Collections     = collectionRepository.GetCollections(m.Id);
            model.Events          = eventRepository.GetEvents(m.Id);
            model.TicketTypes     = tickettypeRepository.GetTicketTypes(m.Id);
            model.WorkingHours    = workinghoursRepository.GetWorkingHours(m.Id);
            model.Review          = new Reviews();
            model.Review.MuseumId = m.Id;
            return(View("Details", model));
        }