示例#1
0
        public IHttpActionResult PostQuestion([FromBody] Question question)
        {
            platformManager = new SubplatformManager();

            object _customObject = null;
            int    suplatformId  = 1;

            if (Request.Properties.TryGetValue("SubPlatformID", out _customObject))
            {
                suplatformId = (int)_customObject;
            }

            if (question == null)
            {
                return(BadRequest("No question given"));
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            platformManager.AddQuestion(suplatformId, QuestionType.General, question.Title, question.Answer);

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public ActionResult Index()
        {
            //Get hold of subplatformID we received
            int subPlatformID = (int)RouteData.Values["SubPlatformID"];

            subManager         = new SubscriptionManager();
            itemManager        = new ItemManager();
            userManager        = new UserManager();
            subplatformManager = new SubplatformManager();

            IList <ItemDTO>            people = Mapper.Map <IList <Item>, IList <ItemDTO> >(itemManager.GetAllOrganisationsForSubplatform(subPlatformID).ToList());
            IEnumerable <Subscription> subs   = subManager.GetSubscriptionsWithItemsForUser(User.Identity.GetUserId());

            foreach (ItemDTO item in people)
            {
                foreach (var sub in subs)
                {
                    if (sub.SubscribedItem.ItemId == item.ItemId)
                    {
                        item.Subscribed = true;
                    }
                }
            }

            //Assembling the view
            return(View("Index",
                        new ItemViewModel()
            {
                PageTitle = subplatformManager.GetCustomization(subPlatformID).OrganisationsAlias,
                User = User.Identity.IsAuthenticated ? userManager.GetUser(User.Identity.GetUserId()) : null,
                Items = people
            }));
        }
示例#3
0
        public IHttpActionResult PutContact([FromBody] CustomizationViewModel custom)
        {
            platformManager = new SubplatformManager();

            object _customObject = null;
            int    suplatformId  = 1;

            if (Request.Properties.TryGetValue("SubPlatformID", out _customObject))
            {
                suplatformId = (int)_customObject;
            }

            if (custom == null)
            {
                return(BadRequest("No customization given"));
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            platformManager.ChangeAddress(suplatformId, custom.StreetAndHousenumber, custom.Zipcode, custom.City, custom.Country, custom.Email);

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public ActionResult Index()
        {
            //Get hold of subplatformID we received
            int subPlatformID = (int)RouteData.Values["SubPlatformID"];

            itemManager        = new ItemManager();
            userManager        = new UserManager();
            subManager         = new SubscriptionManager();
            subplatformManager = new SubplatformManager();

            //Return platformspecific data
            IList <ItemDTO> themes = null;

            themes = Mapper.Map(itemManager.GetAllThemes().Where(theme => theme.SubPlatform.SubPlatformId == subPlatformID), new List <ItemDTO>());

            IEnumerable <Subscription> subs = subManager.GetSubscriptionsWithItemsForUser(User.Identity.GetUserId());

            themes.Where(theme => subs.Any(sub => sub.SubscribedItem.ItemId == theme.ItemId)).ForEach(dto => dto.Subscribed = true);

            //Assembling the view
            return(View("Index",
                        new ItemViewModel()
            {
                PageTitle = subplatformManager.GetCustomization(subPlatformID).ThemesAlias,
                User = User.Identity.IsAuthenticated ? userManager.GetUser(User.Identity.GetUserId()) : null,
                Items = themes
            }));
        }
示例#5
0
        public IHttpActionResult PutPrivacy([FromBody] CustomizationViewModel custom)
        {
            platformManager = new SubplatformManager();

            object _customObject = null;
            int    suplatformId  = 1;

            if (Request.Properties.TryGetValue("SubPlatformID", out _customObject))
            {
                suplatformId = (int)_customObject;
            }

            if (custom == null)
            {
                return(BadRequest("No customization given"));
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            platformManager.ChangePrivacyText(suplatformId, custom.PrivacyText, custom.PrivacyTitle);

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public ActionResult CreateOrganisation(CreateItemModels.CreateOrganisationModel model)
        {
            int subPlatformID = (int)RouteData.Values["SubPlatformID"];

            if (model.Name == null || model.Website == null)
            {
                return(RedirectToAction("ItemManagement", "Admin"));
            }
            else
            {
                string themeName     = Regex.Replace(model.Name, @"\s+", "");
                string themeWordlist = Regex.Replace(model.Website, @"\s+", "");

                if (themeName.Count() == 0 || themeWordlist.Count() == 0)
                {
                    return(RedirectToAction("ItemManagement", "Admin"));
                }
            }

            itemManager     = new ItemManager();
            platformManager = new SubplatformManager();
            SubPlatform subplatform = platformManager.GetSubPlatform(subPlatformID);

            Organisation org = (Organisation)itemManager.AddItem(ItemType.Organisation, model.Name, site: "www.kdg.be");

            itemManager.ChangeItemPlatform(org.ItemId, subplatform.SubPlatformId);

            itemManager.GenerateDefaultItemWidgets(org.Name, org.ItemId);
            return(RedirectToAction("Details", "Organisation", new { id = org.ItemId }));
        }
示例#7
0
        public IHttpActionResult PutFAQ([FromBody] CustomizationViewModel custom)
        {
            platformManager = new SubplatformManager();

            object _customObject = null;
            int    suplatformId  = 1;

            if (Request.Properties.TryGetValue("SubPlatformID", out _customObject))
            {
                suplatformId = (int)_customObject;
            }

            if (custom == null)
            {
                return(BadRequest("No question given"));
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            platformManager.AddQuestion(suplatformId, QuestionType.General, custom.FAQQuestion, custom.FAQAnswer);

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public ActionResult CreatePerson(CreateItemModels.CreatePersonModel model)
        {
            int subPlatformID = (int)RouteData.Values["SubPlatformID"];

            itemManager     = new ItemManager();
            platformManager = new SubplatformManager();
            dataManager     = new DataManager();
            SubPlatform subplatform = platformManager.GetSubPlatform(subPlatformID);

            if (model.Name == null || model.Website == null || model.OrganisationId == 0)
            {
                return(RedirectToAction("ItemManagement", "Admin"));
            }
            else
            {
                string themeName     = Regex.Replace(model.Name, @"\s+", "");
                string themeWordlist = Regex.Replace(model.Website, @"\s+", "");

                if (themeName.Count() == 0 || themeWordlist.Count() == 0)
                {
                    return(RedirectToAction("ItemManagement", "Admin"));
                }
            }

            Person person = (Person)itemManager.AddItem(ItemType.Person, model.Name, site: model.Website, dateOfBirth: new System.DateTime(1900, 1, 1));

            itemManager.ChangeItemPlatform(person.ItemId, subplatform.SubPlatformId);
            itemManager.ChangePersonOrganisation(person.ItemId, model.OrganisationId);

            itemManager.ChangePersonSocialMedia(person.ItemId, model.Twitter, model.Facebook);

            itemManager.GenerateDefaultItemWidgets(person.Name, person.ItemId);

            return(RedirectToAction("Details", "Person", new { id = person.ItemId }));
        }
示例#9
0
        public IHttpActionResult PutAlias([FromBody] CustomizationViewModel model)
        {
            platformManager = new SubplatformManager();

            object _customObject = null;
            int    suplatformId  = 1;

            if (Request.Properties.TryGetValue("SubPlatformID", out _customObject))
            {
                suplatformId = (int)_customObject;
            }

            if (model == null)
            {
                return(BadRequest("No customization given"));
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            platformManager.ChangePageText
                (suplatformId, model.PersonAlias, model.PersonsAlias, model.OrganisationAlias, model.OrganisationsAlias, model.ThemeAlias, model.ThemesAlias);

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#10
0
        public IHttpActionResult PutColor([FromBody] CustomizationViewModel model)
        {
            platformManager = new SubplatformManager();

            object _customObject = null;
            int    suplatformId  = 1;

            if (Request.Properties.TryGetValue("SubPlatformID", out _customObject))
            {
                suplatformId = (int)_customObject;
            }

            if (model == null)
            {
                return(BadRequest("No customization given"));
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            platformManager.ChangePageColors
                (suplatformId, model.PrimaryColor, model.PrimaryDarkerColor, model.PrimaryDarkestColor, model.SecondaryColor,
                model.SecondaryLighterColor, model.SecondaryDarkerColor, model.SecondaryDarkestColor, model.TertiaryColor, model.BackgroundColor, model.TextColor);

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public ActionResult DarkLogoImage([Bind(Exclude = "DarkWebsiteLogo")] CustomizationViewModel model)
        {
            platformManager = new SubplatformManager();

            if (Request.Files.Count > 0)
            {
                HttpPostedFileBase logoImgFile = Request.Files["DarkWebsiteLogo"];
                int subPlatformID = (int)RouteData.Values["SubPlatformID"];
                platformManager.ChangeSubplatformDarkLogo(subPlatformID, logoImgFile);
            }
            return(RedirectToAction("PageManagement", "Admin"));
        }
        /// <summary>
        /// Returns image of byte array.
        /// </summary>
        public FileContentResult DarkLogoImage()
        {
            subplatformManager = new SubplatformManager();

            Customization customization = subplatformManager.GetCustomization((int)RouteData.Values["SubPlatformID"]);

            if (customization.HeaderImage == null)
            {
                return(null);
            }
            return(new FileContentResult(customization.DarkLogoImage, "image/jpeg"));
        }
        public ActionResult Index()
        {
            //Get hold of subplatformID we saved in the [SubplatformCheck] attribute
            int subPlatformId = (int)RouteData.Values["SubPlatformID"];

            userManager        = new UserManager();
            itemManager        = new ItemManager();
            subplatformManager = new SubplatformManager();

            // -------- Making WeeklyReviewModel --------
            // Getting trending items
            List <Item> weeklyTrendings = itemManager.GetMostTrendingItems(subPlatformId, 4, true).ToList();

            // Getting PersonViewModels
            List <PersonViewModel> weeklyPersonViewModels = new List <PersonViewModel>();

            itemManager.GetMostTrendingItemsForType(subPlatformId, ItemType.Person, 4, true).ForEach(item => weeklyPersonViewModels.Add(Mapper.Map(item, new PersonViewModel())));
            for (int i = 0; i < weeklyPersonViewModels.Count; i++)
            {
                weeklyPersonViewModels[i].Item             = Mapper.Map(weeklyTrendings[i], new ItemDTO());
                weeklyPersonViewModels[i].SocialMediaNames = itemManager.GetPersonWithDetails(weeklyTrendings[i].ItemId).SocialMediaNames;
            }

            // ------- Making TopTrending -------
            // Getting trending items
            List <Item> trendings = itemManager.GetMostTrendingItems(subPlatformId, 3).ToList();

            // Getting personViewmodels
            List <PersonViewModel> trendingPersonViewModels = new List <PersonViewModel>();

            itemManager.GetMostTrendingItemsForType(subPlatformId, ItemType.Person, 3).ForEach(item => trendingPersonViewModels.Add(Mapper.Map(item, new PersonViewModel())));
            for (int i = 0; i < trendingPersonViewModels.Count; i++)
            {
                trendingPersonViewModels[i].Item             = Mapper.Map(trendings[i], new ItemDTO());
                trendingPersonViewModels[i].SocialMediaNames = itemManager.GetPersonWithDetails(trendings[i].ItemId).SocialMediaNames;
            }

            //Assembling the view
            return(View(new ItemViewModel
            {
                PageTitle = INDEX_PAGE_TITLE,
                User = User.Identity.IsAuthenticated ? userManager.GetUser(User.Identity.GetUserId()) : null,
                Items = Mapper.Map <IList <Item>, IList <ItemDTO> >(itemManager.GetAllItems().Where(item => item.SubPlatform.SubPlatformId.Equals(subPlatformId)).ToList()),
                TopTrendingPersonViewModels = trendingPersonViewModels,
                TopTrendingitems = trendings,
                WeeklyReviewModel = new WeeklyReviewModel
                {
                    WeeklyPersonViewModels = weeklyPersonViewModels,
                    WeeklyItems = weeklyTrendings
                }
            }));
        }
        public ActionResult Faq()
        {
            userManager        = new UserManager();
            subplatformManager = new SubplatformManager();

            IEnumerable <Question> questions = subplatformManager.GetAllQuestions();           //Assembling the view

            return(View(new BaseViewModel()
            {
                PageTitle = Resources.QuestionAndAnswer,
                User = User.Identity.IsAuthenticated ? userManager.GetUser(User.Identity.GetUserId()) : null
            }));
        }
        public ActionResult CreateTheme(CreateItemModels.CreateThemeModel model)
        {
            int subPlatformID = (int)RouteData.Values["SubPlatformID"];

            itemManager     = new ItemManager();
            platformManager = new SubplatformManager();

            if (model.Name == null || model.Keywords == null)
            {
                return(RedirectToAction("ItemManagement", "Admin"));
            }
            else
            {
                string themeName     = Regex.Replace(model.Name, @"\s+", "");
                string themeWordlist = Regex.Replace(model.Keywords, @"\s+", "");

                if (themeName.Count() == 0 || themeWordlist.Count() == 0)
                {
                    return(RedirectToAction("ItemManagement", "Admin"));
                }
            }

            List <string> keywordStrings = model.Keywords.Split(',').ToList();

            foreach (string word in keywordStrings)
            {
                word.Replace(" ", string.Empty);
            }

            List <Keyword> keywords = new List <Keyword>();

            foreach (string keywordString in keywordStrings)
            {
                keywords.Add(new Keyword
                {
                    Name = keywordString
                });
            }

            Theme theme = (Theme)itemManager.AddItem(ItemType.Theme, model.Name, keywords: keywords);

            itemManager.ChangeItemPlatform(theme.ItemId, subPlatformID);

            itemManager.GenerateDefaultItemWidgets(theme.Name, theme.ItemId);

            return(RedirectToAction("Details", "Theme", new { id = theme.ItemId }));
        }
        /// <summary>
        /// Page management page of admin.
        /// </summary>
        public ActionResult PageManagement()
        {
            userManager     = new UserManager();
            platformManager = new SubplatformManager();

            //Map viewmodel
            int           subPlatformID = (int)RouteData.Values["SubPlatformID"];
            Customization custom        = platformManager.GetCustomization(subPlatformID);

            //Assembling the view
            CustomizationViewModel vm = Mapper.Map(custom, new CustomizationViewModel());

            vm.Questions = Mapper.Map(platformManager.GetQuestions(subPlatformID), new List <QuestionDTO>());
            vm.User      = userManager.GetUser(User.Identity.GetUserId());
            vm.PageTitle = Resources.PageManagement;
            return(View(vm));
        }
示例#17
0
        /// <summary>
        /// Gets user model with all his subscribed items.
        /// </summary>
        private PersonViewModels GetPersonViewModel(string id)
        {
            ItemManager itemManager = new ItemManager();

            subManager         = new SubscriptionManager();
            userManager        = new UserManager();
            subplatformManager = new SubplatformManager();

            int subPlatformID = (int)RouteData.Values["SubPlatformID"];

            PersonViewModels personViewModels = new PersonViewModels();

            personViewModels.Persons = Mapper.Map(itemManager.GetAllPersonsForSubplatform(subPlatformID), personViewModels.Persons);

            itemManager.GetAllOrganisationsForSubplatform(subPlatformID).ForEach(item => {
                personViewModels.Persons.Add(new PersonViewModel()
                {
                    Item = Mapper.Map(item, new ItemDTO())
                });
            });

            itemManager.GetAllThemesForSubplatform(subPlatformID).ForEach(item => {
                personViewModels.Persons.Add(new PersonViewModel()
                {
                    Item           = Mapper.Map(item, new ItemDTO()),
                    OrganisationId = -1
                });
            });

            personViewModels.PageTitle = subplatformManager.GetCustomization(subPlatformID).PersonsAlias;
            personViewModels.User      = User.Identity.IsAuthenticated ? userManager.GetUser(User.Identity.GetUserId()) : null;

            List <ItemDTO> items = Mapper.Map(itemManager.GetAllPersonsForSubplatform(subPlatformID), new List <ItemDTO>());

            for (int i = 0; i < items.Count; i++)
            {
                personViewModels.Persons[i].Item = items[i];
            }

            IEnumerable <Subscription> subs = subManager.GetSubscriptionsWithItemsForUser(User.Identity.GetUserId());

            personViewModels.Persons = personViewModels.Persons.Where(person => subs.Any(sub => sub.SubscribedItem.ItemId == person.Item.ItemId)).ToList();
            personViewModels.Persons.ForEach(person => person.Subscribed = true);

            return(personViewModels);
        }
示例#18
0
        public ActionResult Index()
        {
            userManager        = new UserManager();
            subplatformManager = new SubplatformManager();

            List <SubPlatformDTO> subplatforms = null;

            subplatforms = Mapper.Map(subplatformManager.GetSubplatforms(), new List <SubPlatformDTO>());

            //Assembling the view
            return(View(new SubPlatformManagement
            {
                PageTitle = Resources.SubPlatformManagement,
                User = userManager.GetUser(User.Identity.GetUserId()),
                SubPlatforms = subplatforms
            }));
        }
示例#19
0
        public IHttpActionResult PutQuestion(int questionId, [FromBody] Question question)
        {
            platformManager = new SubplatformManager();

            if (question == null)
            {
                return(BadRequest("No question given"));
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (questionId == question.QuestionId)
            {
                return(BadRequest("Id doesn't match"));
            }

            platformManager.ChangeQuestion(questionId, question.QuestionType, question.Title, question.Answer);

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#20
0
        public IHttpActionResult DeleteQuestion(int questionId)
        {
            platformManager = new SubplatformManager();

            if (!platformManager.Exists(questionId))
            {
                return(NotFound());
            }

            try
            {
                platformManager.RemoveQuestion(questionId);
#pragma warning disable CS0168 // Variable is declared but never used
            }
            catch (Exception e)
#pragma warning restore CS0168 // Variable is declared but never used
            {
                //Do Nothing
            }
            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#21
0
 public SubplatformController()
 {
     UowMgr         = new UnitOfWorkManager();
     SubplatformMgr = new SubplatformManager(UowMgr);
 }