/// <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); } }
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>()); } } }
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"; } }
/// <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); }
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)"; } }
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 }
public AccountController() { uow = new UnitOfWorkManager(); SubplatformMgr = new SubplatformManager(uow); }