Пример #1
0
        public static string GetSortName(this FeaturedEvent e)
        {
            if (!e.StartTime.HasValue || !e.EndTime.HasValue)
            {
                return("TBA");
            }

            var start = e.StartTime.Value.ToLocalTime();

            if (DateTime.Today.Year == start.Year)
            {
                if (DateTime.Today.DayOfYear == start.DayOfYear)
                {
                    return($"Today");
                }

                if (DateTime.Today.DayOfYear + 1 == start.DayOfYear)
                {
                    return($"Tomorrow");
                }
            }
            var monthDay = start.ToString("M");

            return($"{monthDay}");
        }
        public static FeaturedEvent CreateModel()
        {
            // get the rendering item, which should be the one defined by the datasource if set, otherwise falls back to the current item
            var item = RenderingContext.Current.Rendering.Item;

            //create and populate the featured event from the item
            var featuredEvent = new FeaturedEvent()
            {
                EventHeading = new HtmlString(FieldRenderer.Render(item, "ContentHeading")),
                EventImage   = new HtmlString(FieldRenderer.Render(item, "Event-Image", "mw=400")),
                EventIntro   = new HtmlString(FieldRenderer.Render(item, "ContentIntro"))
            };

            //get the link for the item
            featuredEvent.UrlLink = LinkManager.GetItemUrl(item);

            //get the css class from the dropdown list selected if any
            var cssClass = RenderingContext.Current.Rendering.Parameters["CssClass"];

            if (!string.IsNullOrWhiteSpace(cssClass))
            {
                var refItem = Sitecore.Context.Database.GetItem(cssClass);
                if (refItem != null)
                {
                    featuredEvent.CssClass = refItem["class"];
                }
                else
                {
                    featuredEvent.CssClass = cssClass;
                }
            }

            //return the featured event
            return(featuredEvent);
        }
        private static FeaturedEvent CreateModel()
        {
            var item = RenderingContext.Current.Rendering.Item;

            var featuredEvent = new FeaturedEvent()
            {
                Heading    = new HtmlString(FieldRenderer.Render(item, "ContentHeading")),
                EventImage = new HtmlString(FieldRenderer.Render(item, "Event Image", "mw=400")),
                Intro      = new HtmlString(FieldRenderer.Render(item, "ContentIntro")),
                URL        = LinkManager.GetItemUrl(item),
            };

            var cssClass = RenderingContext.Current.Rendering.Parameters["CssClass"];

            if (!string.IsNullOrEmpty(cssClass))
            {
                var refItem = Sitecore.Context.Database.GetItem(cssClass);
                if (refItem != null)
                {
                    featuredEvent.CssClass = refItem["class"];
                }
                else
                {
                    featuredEvent.CssClass = cssClass;
                }
            }

            return(featuredEvent);
        }
Пример #4
0
        public EventDetailsPage(FeaturedEvent featuredEvent)
        {
            InitializeComponent();
            BindingContext = _viewModel;

            _viewModel.Initlize(featuredEvent);
        }
Пример #5
0
 public AddEditEventPage(FeaturedEvent featuredEvent)
 {
     InitializeComponent();
     BindingContext        = _viewModel;
     _viewModel.Event      = featuredEvent;
     _viewModel.PageTitle  = featuredEvent.Title;
     _viewModel.ButtonName = "Update";
 }
        public bool Insert(FeaturedEvent item)
        {
            item.CreatedAt = item.UpdatedAt = DateTime.Now;
            Context.FeaturedEvent.Add(item);
            int result = Context.SaveChanges();

            return(result < 0 ? false : true);
        }
Пример #7
0
 public void Initlize(FeaturedEvent featuredEvent)
 {
     Event        = featuredEvent;
     Description  = Event.Description;
     Title        = Event.Title;
     LocationName = Event.LocationName;
     StartTime    = Event.StartTime;
 }
Пример #8
0
        public SessionsPage(FeaturedEvent meetup = null)
        {
            InitializeComponent();
            showPast           = Settings.Current.ShowPastSessions;
            showAllCategories  = Settings.Current.ShowAllCategories;
            filteredCategories = Settings.Current.FilteredCategories;

            BindingContext = vm = new SessionsViewModel(Navigation, meetup);

            if (Device.OS == TargetPlatform.Windows || Device.OS == TargetPlatform.WinPhone)
            {
                ToolbarItems.Add(
                    new ToolbarItem
                {
                    Text    = "Refresh",
                    Icon    = "toolbar_refresh.png",
                    Command = vm.ForceRefreshCommand
                });
            }

            filterItem = new ToolbarItem {
                Text = "Filter"
            };

            if (Device.OS != TargetPlatform.iOS)
            {
                filterItem.Icon = "toolbar_filter.png";
            }

            filterItem.Command = new Command(
                async() =>
            {
                if (vm.IsBusy)
                {
                    return;
                }
                await NavigationService.PushModalAsync(
                    Navigation,
                    new EvolveNavigationPage(new FilterSessionsPage()));
            });

            ToolbarItems.Add(filterItem);

            ListViewSessions.ItemSelected += async(sender, e) =>
            {
                var session = ListViewSessions.SelectedItem as Session;
                if (session == null)
                {
                    return;
                }

                var sessionDetails = new SessionDetailsPage(session);

                await NavigationService.PushAsync(Navigation, sessionDetails);

                ListViewSessions.SelectedItem = null;
            };
        }
Пример #9
0
 public EventDetailsViewModel(INavigation navigation, FeaturedEvent e) : base(navigation)
 {
     Event    = e;
     Sponsors = new ObservableRangeCollection <Sponsor>();
     if (e.Sponsor != null)
     {
         Sponsors.Add(e.Sponsor);
     }
 }
Пример #10
0
 private void EventSelected(FeaturedEvent selectedEvent)
 {
     SelectedEvent = selectedEvent;
     Sponsors.Add(SelectedEvent.Sponsor);
     if (Sponsors != null)
     {
         ListViewHeightAdjustment = Sponsors.Count;
     }
 }
Пример #11
0
        public bool Delete(string id)
        {
            FeaturedEvent original = Context.FeaturedEvent.Find(id);

            if (original != null)
            {
                Context.Entry(original).CurrentValues.SetValues(original.Deleted = true);
                int result = Context.SaveChanges();
                return(result < 0 ? false : true);
            }
            return(false);
        }
Пример #12
0
        private void GoToEvent(FeaturedEvent featuredEvent)
        {
            if (featuredEvent == null)
            {
                return;
            }

            GoToCommand.Execute(new List <string> {
                nameof(EventDetailsPage)
            });
            EventAggregator.GetEvent <EventSelectedEvent>().Publish(featuredEvent);
        }
Пример #13
0
        public async Task <bool> UpdateFeaturedEvent(FeaturedEvent events)
        {
            var form = new Dictionary <string, string>
            {
                { "Id", events.Id }, { "Title", events.Title }, { "Description", events.Description }, { "LocationName", events.LocationName },
                { "StartTime", Convert.ToString(events.StartTime) }, { "EndTime", Convert.ToString(events.EndTime) },
                { "IsAllDay", Convert.ToString(events.IsAllDay) }
            };
            var result = await ClientBase.HttpPostRequest <bool>(UpdateEventsUri, form);

            return(result);
        }
Пример #14
0
        public bool Update(FeaturedEvent item)
        {
            item.UpdatedAt = DateTime.Now;
            FeaturedEvent original = Context.FeaturedEvent.Find(item.Id);

            if (original != null)
            {
                Context.Entry(original).CurrentValues.SetValues(item);
                int result = Context.SaveChanges();
                return(result < 0 ? false : true);
            }
            return(false);
        }
Пример #15
0
        public FeedbackPage(FeaturedEvent featuredEvent)
        {
            InitializeComponent();

            BindingContext = ViewModel;
            if (Device.OS != TargetPlatform.iOS)
            {
                ToolbarDone.Icon = "toolbar_close.png";
            }

            ToolbarDone.Command = new Command(async() =>
            {
                //if (vm.IsBusy)
                //    return;

                await Navigation.PopModalAsync();
            });
        }
Пример #16
0
        public static string GetDisplayTime(this FeaturedEvent e)
        {
            if (!e.StartTime.HasValue || !e.EndTime.HasValue || e.StartTime.Value.IsTBA())
            {
                return("To be announced");
            }

            var start = e.StartTime.Value.ToLocalTime();


            if (e.IsAllDay)
            {
                return("All Day");
            }

            var startString = start.ToString("t");
            var end         = e.EndTime.Value.ToLocalTime();
            var endString   = end.ToString("t");

            return($"{startString}–{endString}");
        }
Пример #17
0
        public EventDetailsViewModel(INavigation navigation, FeaturedEvent e) : base(navigation)
        {
            Event    = e;
            Sponsors = new ObservableRangeCollection <Sponsor>();
            if (e.Sponsor != null)
            {
                Sponsors.Add(e.Sponsor);
            }

            switch (Event.Type)
            {
            case "sessions":
            case "lunch":
            case "keynote":
                HasExtraInfo = true;
                break;

            default:
                HasExtraInfo = false;
                break;
            }
        }
Пример #18
0
        public static string GetDisplayName(this FeaturedEvent e)
        {
            if (!e.StartTime.HasValue || !e.EndTime.HasValue || e.StartTime.Value.IsTBA())
            {
                return("To be announced");
            }

            var start = e.StartTime.Value.ToLocalTime();

            if (e.IsAllDay)
            {
                return("All Day");
            }

            var startString = start.ToString("t");
            var end         = e.EndTime.Value.ToLocalTime();
            var endString   = end.ToString("t");

            if (DateTime.Today.Year == start.Year)
            {
                if (DateTime.Today.DayOfYear == start.DayOfYear)
                {
                    return($"Today {startString}–{endString}");
                }

                if (DateTime.Today.DayOfYear + 1 == start.DayOfYear)
                {
                    return($"Tomorrow {startString}–{endString}");
                }
            }

            var day      = start.DayOfWeek.ToString();
            var monthDay = start.ToString("M");

            return($"{day}, {monthDay}, {startString}–{endString}");
        }
Пример #19
0
 public FeaturedEvent Save([FromBody] FeaturedEvent featuredEvent)
 {
     return(_featuredEventRepository.Save(featuredEvent));
 }
Пример #20
0
 public SessionsViewModel(INavigation navigation, FeaturedEvent featuredEvent = null)
     : base(navigation)
 {
     Event            = featuredEvent;
     NextForceRefresh = DateTime.UtcNow.AddMinutes(45);
 }
Пример #21
0
 public void Delete([FromBody] FeaturedEvent featuredEvent)
 {
     _featuredEventRepository.Delete(featuredEvent);
 }