Пример #1
0
        /// <summary>
        /// Determines if the itemId is in the correct subpltform
        /// </summary>
        private static bool IsItemInSubPlatform(int itemID, int subPlatformId)
        {
            //Get subplatform
            SubPlatform subplatform = new SubplatformManager().GetSubPlatform(subPlatformId);

            if (subplatform == null)
            {
                return(false);
            }

            //Get item
            Item item = new ItemManager().GetItemWithSubPlatform(itemID);

            if (item == null)
            {
                return(false);
            }

            //Do check
            if (item.SubPlatform.SubPlatformId == subPlatformId)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #2
0
        public IHttpActionResult AddSubplatform([FromBody] SubPlatformManagement model)
        {
            ISubplatformManager subplatformManager = new SubplatformManager();
            var subplatform = subplatformManager.AddSubplatform(model.Name);

            if (subplatform != null)
            {
                return(Ok(subplatform.SubPlatformId));
            }
            return(StatusCode(HttpStatusCode.NotAcceptable));
        }
        //Customization options: Aliases, colors, etc.
        protected override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            base.OnActionExecuted(filterContext);

            if (filterContext.Result is ViewResultBase result)
            {
                if (filterContext.Controller.ViewData.Model is BaseViewModel model)
                {
                    SubplatformManager platformManager = new SubplatformManager();
                    int           subPlatformID        = (int)RouteData.Values["SubPlatformID"];
                    Customization customization        = platformManager.GetCustomization(subPlatformID);
                    model.Customization           = Mapper.Map(customization, new CustomizationViewModel());
                    model.Customization.Questions = Mapper.Map(platformManager.GetQuestions(subPlatformID), new List <QuestionDTO>());
                }
            }
        }
Пример #4
0
        public IHttpActionResult GetCustomForPlatform(int platformId)
        {
            userManager = new UserManager();
            Customization custom = new SubplatformManager().GetCustomization(platformId);

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

            return(Ok(custom));
        }
        public HomeController()
        {
            itemMgr        = new ItemManager(uow);
            accountMgr     = new AccountManager(new IntegratieUserStore(uow.UnitOfWork), uow);
            SubplatformMgr = new SubplatformManager(uow);

            if (System.Web.HttpContext.Current.Request.Url.Segments.Count() > 1)
            {
                Subplatform subplatform = SubplatformMgr.GetSubplatform(System.Web.HttpContext.Current.Request.Url.Segments[1].Trim('/'));

                IEnumerable <Tag> menuTags = subplatform.Pages.SingleOrDefault(p => p.PageName.Equals("Menu"))?.Tags;
                if (menuTags is null || menuTags.Count() == 0)
                {
                    return;
                }

                ViewBag.Home          = menuTags.SingleOrDefault(t => t.Name.Equals("Home"))?.Text ?? "Home";
                ViewBag.Dashboard     = menuTags.SingleOrDefault(t => t.Name.Equals("Dashboard"))?.Text ?? "Dashboard";
                ViewBag.WeeklyReview  = menuTags.SingleOrDefault(t => t.Name.Equals("Weekly_Review"))?.Text ?? "Weekly Review";
                ViewBag.MyAccount     = menuTags.SingleOrDefault(t => t.Name.Equals("Account"))?.Text ?? "Account";
                ViewBag.More          = menuTags.SingleOrDefault(t => t.Name.Equals("More"))?.Text ?? "More";
                ViewBag.FAQ           = menuTags.SingleOrDefault(t => t.Name.Equals("FAQ"))?.Text ?? "FAQ";
                ViewBag.Contact       = menuTags.SingleOrDefault(t => t.Name.Equals("Contact"))?.Text ?? "Contact";
                ViewBag.Legal         = menuTags.SingleOrDefault(t => t.Name.Equals("Legal"))?.Text ?? "Legal";
                ViewBag.Items         = menuTags.SingleOrDefault(t => t.Name.Equals("Items"))?.Text ?? "Items";
                ViewBag.Persons       = menuTags.SingleOrDefault(t => t.Name.Equals("Persons"))?.Text ?? "Persons";
                ViewBag.Organisations = menuTags.SingleOrDefault(t => t.Name.Equals("Organisations"))?.Text ?? "Organisations";
                ViewBag.Themes        = menuTags.SingleOrDefault(t => t.Name.Equals("Themes"))?.Text ?? "Themes";

                string color1    = subplatform.Settings.Find(ss => ss.SettingName.Equals(Setting.Platform.PRIMARY_COLOR))?.Value;
                string color2    = subplatform.Settings.Find(ss => ss.SettingName.Equals(Setting.Platform.SECONDARY_COLOR))?.Value;
                Color  colorObj1 = ColorTranslator.FromHtml(color1);
                Color  colorObj2 = ColorTranslator.FromHtml(color2);
                ViewBag.Color1HEX  = color1;
                ViewBag.Color2HEX  = color2;
                ViewBag.Color1RGBA = "rgba(" + Math.Round(colorObj1.R * 0.425) + "," + Math.Round(colorObj1.G * 0.425) + "," + Math.Round(colorObj1.B * 0.425) + "," + "0.125)";
                ViewBag.Color2RGBA = "rgba(" + Math.Round(colorObj2.R * 0.525) + "," + Math.Round(colorObj2.G * 0.525) + "," + Math.Round(colorObj2.B * 0.525) + "," + "0.25)";

                IEnumerable <Tag> homeTags = SubplatformMgr.GetTags(subplatform.Pages.Single(p => p.PageName.Equals("Home")).PageId);
                ViewBag.HeaderText   = homeTags.SingleOrDefault(t => t.Name.Equals("BannerTitle"))?.Text ?? "Subplatform title";
                ViewBag.BannerSub1   = homeTags.SingleOrDefault(t => t.Name.Equals("BannerTextSub1"))?.Text ?? "BannerTextSub1";
                ViewBag.BannerSub2   = homeTags.SingleOrDefault(t => t.Name.Equals("BannerTextSub2"))?.Text ?? "BannerTextSub2";
                ViewBag.CallToAction = homeTags.SingleOrDefault(t => t.Name.Equals("call-to-action-text"))?.Text ?? "call-to-action-text";
            }
        }
Пример #6
0
        /// <summary>
        /// Gives back the id of the current subplatform
        /// </summary>
        private static int GetSubDomain(Uri url)
        {
            string host = url.Host;

            if (host.Split('.').Length > 1)
            {
                int    index     = host.IndexOf(".");
                string subdomain = host.Substring(0, index);
                if (subdomain != "www")
                {
                    SubPlatform subplatform = new SubplatformManager().GetSubPlatform(subdomain);
                    if (subplatform == null)
                    {
                        return(-1);
                    }
                    else
                    {
                        return(subplatform.SubPlatformId);
                    }
                }
            }
            return(1);
        }
Пример #7
0
        public AccountController()
        {
            SubplatformManager smgr = new SubplatformManager(uow);

            if (System.Web.HttpContext.Current.Request.Url.Segments.Count() > 1)
            {
                Subplatform subplatform = smgr.GetSubplatform(System.Web.HttpContext.Current.Request.Url.Segments[1].Trim('/'));

                IEnumerable <Tag> menuTags = subplatform.Pages.SingleOrDefault(p => p.PageName.Equals("Menu"))?.Tags;
                if (menuTags is null || menuTags.Count() == 0)
                {
                    return;
                }
                ViewBag.Home          = menuTags.SingleOrDefault(t => t.Name.Equals("Home"))?.Text ?? "Home";
                ViewBag.Dashboard     = menuTags.SingleOrDefault(t => t.Name.Equals("Dashboard"))?.Text ?? "Dashboard";
                ViewBag.WeeklyReview  = menuTags.SingleOrDefault(t => t.Name.Equals("Weekly_Review"))?.Text ?? "Weekly Review";
                ViewBag.MyAccount     = menuTags.SingleOrDefault(t => t.Name.Equals("Account"))?.Text ?? "Account";
                ViewBag.More          = menuTags.SingleOrDefault(t => t.Name.Equals("More"))?.Text ?? "More";
                ViewBag.FAQ           = menuTags.SingleOrDefault(t => t.Name.Equals("FAQ"))?.Text ?? "FAQ";
                ViewBag.Contact       = menuTags.SingleOrDefault(t => t.Name.Equals("Contact"))?.Text ?? "Contact";
                ViewBag.Legal         = menuTags.SingleOrDefault(t => t.Name.Equals("Legal"))?.Text ?? "Legal";
                ViewBag.Items         = menuTags.SingleOrDefault(t => t.Name.Equals("Items"))?.Text ?? "Items";
                ViewBag.Persons       = menuTags.SingleOrDefault(t => t.Name.Equals("Persons"))?.Text ?? "Persons";
                ViewBag.Organisations = menuTags.SingleOrDefault(t => t.Name.Equals("Organisations"))?.Text ?? "Organisations";
                ViewBag.Themes        = menuTags.SingleOrDefault(t => t.Name.Equals("Themes"))?.Text ?? "Themes";

                string color1    = subplatform.Settings.Find(ss => ss.SettingName.Equals(Setting.Platform.PRIMARY_COLOR))?.Value;
                string color2    = subplatform.Settings.Find(ss => ss.SettingName.Equals(Setting.Platform.SECONDARY_COLOR))?.Value;
                Color  colorObj1 = ColorTranslator.FromHtml(color1);
                Color  colorObj2 = ColorTranslator.FromHtml(color2);
                ViewBag.Color1HEX  = color1;
                ViewBag.Color2HEX  = color2;
                ViewBag.Color1RGBA = "rgba(" + Math.Round(colorObj1.R * 0.425) + "," + Math.Round(colorObj1.G * 0.425) + "," + Math.Round(colorObj1.B * 0.425) + "," + "0.125)";
                ViewBag.Color2RGBA = "rgba(" + Math.Round(colorObj2.R * 0.525) + "," + Math.Round(colorObj2.G * 0.525) + "," + Math.Round(colorObj2.B * 0.525) + "," + "0.25)";
            }
        }
Пример #8
0
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);

            #region Background task scheduling

            UnitOfWorkManager  uowMgr         = new UnitOfWorkManager();
            SubplatformManager subplatformMgr = new SubplatformManager(uowMgr);
            ItemManager        itemMgr        = new ItemManager(uowMgr);
            AccountManager     accountMgr     = new AccountManager(new IntegratieUserStore(uowMgr.UnitOfWork), uowMgr);

            List <Subplatform> Subplatforms = subplatformMgr.GetSubplatforms().ToList();

            Subplatforms.ForEach(s =>
            {
                string seedInterval            = s.Settings.FirstOrDefault(ss => ss.SettingName.Equals(Setting.Platform.SEED_INTERVAL_HOURS))?.Value;
                string alertGenerationInterval = s.Settings.FirstOrDefault(ss => ss.SettingName.Equals(Setting.Platform.ALERT_GENERATION_INTERVAL_HOURS))?.Value;
                string weeklyReviewsInterval   = s.Settings.FirstOrDefault(ss => ss.SettingName.Equals(Setting.Platform.SEND_WEEKLY_REVIEWS_INTERVAL_DAYS))?.Value;

                if (!(seedInterval is null))
                {
                    JobManager.AddJob(() =>
                    {
                        JobSemaphore.Wait();
                        try { itemMgr.CleanupOldRecords(s); }
                        finally
                        {
                            ItemManager.IsCleaning = false;
                            JobSemaphore.Release();
                        }

                        JobSemaphore.Wait();
                        try { itemMgr.SyncDatabase(s); }
                        finally
                        {
                            ItemManager.IsSyncing = false;
                            JobSemaphore.Release();
                        }
                    },
                                      (schedule) => schedule
                                      .WithName(s.URL + "-seed")
                                      .ToRunOnceAt(1, 0)
                                      .AndEvery(int.Parse(seedInterval)).Hours());
                }
                if (!(alertGenerationInterval is null))
                {
                    JobManager.AddJob(() =>
                    {
                        JobSemaphore.Wait();
                        try { accountMgr.GenerateAllAlerts(itemMgr.GetItems().Where(i => i.SubPlatforms.Contains(s))); }
                        finally
                        {
                            AccountManager.IsGeneratingAlerts = false;
                            JobSemaphore.Release();
                        }
                    },
                                      (schedule) => schedule
                                      .WithName(s.URL + "-alert")
                                      .ToRunOnceAt(4, 0)
                                      .AndEvery(int.Parse(alertGenerationInterval)).Hours());
                }
                DateTime dateToSendWeeklyReview = DateTime.Today.AddDays(7 - (int)DateTime.Today.DayOfWeek);
                if (!(weeklyReviewsInterval is null))
                {
                    JobManager.AddJob(() =>
                    {
                        JobSemaphore.Wait();
                        try { accountMgr.SendWeeklyReviews(s); }
                        finally
                        {
                            AccountManager.IsSendingWeeklyReviews = false;
                            JobSemaphore.Release();
                        }
                    },
                                      (schedule) => schedule
                                      .WithName(s.URL + "-weeklyreview")
                                      .ToRunOnceAt(dateToSendWeeklyReview.AddMinutes(30).AddHours(18))
                                      .AndEvery(int.Parse(weeklyReviewsInterval)).Days().At(18, 30));
                }
            });
            #endregion
        }
Пример #9
0
 public AccountController()
 {
     uow            = new UnitOfWorkManager();
     SubplatformMgr = new SubplatformManager(uow);
 }