Пример #1
0
        private void UpdateEvent(ApiWhitelabelEventModel model)
        {
            if (model.Id == Event.Id)
            {
                InvokeOnMainThread(async() =>
                {
                    var eventModel = await _eventService.GetAsync(ApiPriority.Background, model.Id);

                    var evnt = eventModel.ToModel(_eventClosedText, _unattendButtonText, _attendButtonText, _peopleAttendingText, _eventInfoText, _eventDateText, _eventTimeLabel, _eventLocationLabel, _aboutHeaderLabel);

                    Event.Id               = evnt.Id;
                    Event.Attendees        = evnt.Attendees;
                    Event.AttendeesIds     = evnt.AttendeesIds;
                    Event.CategoryId       = evnt.CategoryId;
                    Event.DateTime         = evnt.DateTime;
                    Event.CreationDateTime = evnt.CreationDateTime;
                    Event.Details          = evnt.Details;
                    Event.Header           = evnt.Header;
                    Event.Logo             = evnt.Logo;
                    Event.Images           = evnt.Images;
                    Event.Location         = evnt.Location;
                    Event.IsPublished      = evnt.IsPublished;
                    Event.SubTitle         = evnt.SubTitle;
                    Event.Summary          = evnt.Summary;
                    Event.Title            = evnt.Title;

                    IsAttending = Event.AttendeesIds.Contains(Settings.UserId);

                    var comments = eventModel.Comments?.Select(c => c.ToModel());

                    AddNewComments(comments);
                });
            }
        }
Пример #2
0
        private void OnUpdateEvent(ApiWhitelabelEventModel apiWhitelabelEventModel)
        {
            InvokeOnMainThread(async() =>
            {
                var firstFour = await _eventService.GetUpcomingAsync(ApiPriority.Background, 4);

                await BuildEventCategories(firstFour.Select(t => t.ToModel(_eventClosedText, _unattendButtonText, _attendButtonText, _peopleAttendingText, _eventInfoText, _eventDateText, _eventTimeLabel, _eventLocationLabel, _aboutHeaderLabel)));
            });
        }
Пример #3
0
        public static IEvent ToModel(this ApiWhitelabelEventModel eventModel, string eventClosedText, string unattendButtonText, string attendButtonText, string peopleAttendingText, string eventInfoText, string eventDateText, string eventTimeLabel, string eventLocationLabel, string aboutHeaderLabel)
        {
            if (eventModel == null)
            {
                return(null);
            }

            var evnt = new Event(eventClosedText, unattendButtonText, attendButtonText, peopleAttendingText, eventInfoText, eventDateText, eventTimeLabel, eventLocationLabel, aboutHeaderLabel)
            {
                Id               = eventModel.Id,
                DateTime         = eventModel.DateTime,
                CreationDateTime = eventModel.CreationDateTime,
                Summary          = eventModel.Summary,
                ParentId         = eventModel.ParentId,
                AttendeesIds     = eventModel.AttendeesIds,
                CategoryId       = eventModel.CategoryId,
                IsPublished      = eventModel.IsPublished,
                LinkedPostedId   = eventModel.LinkedPostedId,
                Location         = eventModel.Location,
                Title            = eventModel.Title,
                Details          = eventModel.Details,
                SubTitle         = eventModel.SubTitle,
                Header           = eventModel.Header?.ToModel(),
                Images           = eventModel.Images?.Select(i => i.ToModel()).ToList(),
            };

            if (eventModel.CreatedByUser != null)
            {
                evnt.UserId      = eventModel.CreatedByUser.Id;
                evnt.DisplayName = eventModel.CreatedByUser?.DisplayName;
                evnt.AvatarUrl   = eventModel.CreatedByUser.Avatar?.Small;
            }

            if (eventModel.Attendees != null)
            {
                evnt.Attendees    = eventModel.Attendees.Select(a => a.ToModel()).ToList();
                evnt.HasAttendees = eventModel.Attendees.Any();
            }

            return(evnt);
        }
Пример #4
0
 private void OnUpdateEvent(ApiWhitelabelEventModel eventModel)
 {
     Execute(UpdateEvent, action => action(eventModel));
 }