public override async void OnActivityCreated(Bundle savedInstanceState) { base.OnActivityCreated(savedInstanceState); _account = AccountStore .Create(Context) .FindAccountsForService(GetString(Resource.String.app_name)) .FirstOrDefault(); _noClubEvents = View.FindViewById <TextView>(Resource.Id.tv_clubEvent_noClubEvents); if (_account.Properties["roles"].Contains(Role.Coach.ToString())) { FloatingActionButton goToCreateClubEventButton = View.FindViewById <FloatingActionButton>(Resource.Id.btn_clubEvent_goToCreateClubEvent); goToCreateClubEventButton.BringToFront(); goToCreateClubEventButton.Click += GoToCreateClubEventButton_Click; goToCreateClubEventButton.Visibility = ViewStates.Visible; } HttpResponseMessage clubHttpResponse = await RestManager.GetMemberClub(_account.Username); string clubResponse = await clubHttpResponse.Content.ReadAsStringAsync(); if (clubResponse != "null") { _clubDetails = JsonConvert.DeserializeObject <ClubDetails>(clubResponse); _clubEventFilterRequest = new ClubEventFilterRequest { MemberId = int.Parse(_account.Properties["memberId"]), ClubId = _clubDetails.Id }; HttpResponseMessage httpResponse = await RestManager.GetClubEvents(_clubEventFilterRequest); string response = await httpResponse.Content.ReadAsStringAsync(); _clubEvents = JsonConvert.DeserializeObject <IEnumerable <ClubEventFilterResult> >(response); if (_clubEvents.Any()) { _timeSpans = View.FindViewById <Spinner>(Resource.Id.spn_clubEvent_timeSpan); var timeSpans = Enum.GetNames(typeof(EventTimeSpan)) .Select(r => Literals.ResourceManager.GetString(r)).ToArray(); _timeSpans.Adapter = new ArrayAdapter <string>(Context, Android.Resource.Layout.SimpleSpinnerDropDownItem, timeSpans); _timeSpans.ItemSelected += TimeSpans_ItemSelected; _eventsFilter = View.FindViewById <LinearLayout>(Resource.Id.ll_clubEvent_clubEventsFilter); _eventsFilter.Visibility = ViewStates.Visible; _adapter = new ClubEventAdapter(Activity, _clubEvents.ToArray(), _clubDetails, _account); _recyclerView = View.FindViewById <RecyclerView>(Resource.Id.rv_clubEvent_clubEvents); _recyclerView.SetAdapter(_adapter); _layoutManager = new LinearLayoutManager(Activity, LinearLayoutManager.Vertical, false); _recyclerView.SetLayoutManager(_layoutManager); } else { _noClubEvents.Visibility = ViewStates.Visible; } } }
public static async Task <HttpResponseMessage> GetClubEvents(ClubEventFilterRequest clubEventFilterRequest) { var builder = new UriBuilder(ApiConstants.GetClubEventsEndpoint) { Query = BuildQueryString(clubEventFilterRequest) }; return(await _httpClient.GetAsync(builder.ToString())); }
public IEnumerable <ClubEvent> GetClubEvents(ClubEventFilterRequest filterRequest) { var events = _dbContext.ClubEvents.Where(ce => !ce.IsDeleted && ce.StartTime > DateTime.Now && ce.InvitedMembers.Any(im => im.MemberId == filterRequest.MemberId && ce.Club.Id == filterRequest.ClubId)); if (!events.Any()) { return(events); } switch (filterRequest.EventTimeSpan) { case EventTimeSpan.ForToday: events = events.Where(e => e.StartTime.DayOfYear == DateTime.Now.DayOfYear); break; case EventTimeSpan.ForTheWeek: var weekNow = CultureInfo.InvariantCulture.Calendar.GetWeekOfYear( DateTime.Now, CalendarWeekRule.FirstDay, DayOfWeek.Monday); events = events.Where(e => CultureInfo.InvariantCulture.Calendar.GetWeekOfYear( e.StartTime, CalendarWeekRule.FirstDay, DayOfWeek.Monday) == weekNow); break; case EventTimeSpan.ForTheMonth: events = events.Where(e => e.StartTime.Month == DateTime.Now.Month); break; default: break; } return(events); }
public IEnumerable <ClubEventFilterResult> GetClubEvents(ClubEventFilterRequest clubEventFilterRequest) { IEnumerable <ClubEvent> clubEvents = _clubEventsRepository.GetClubEvents(clubEventFilterRequest); if (!clubEvents.Any()) { return(new List <ClubEventFilterResult>()); } return(clubEvents.Select(ce => new ClubEventFilterResult { Id = ce.Id, Title = ce.Title, Description = ce.Description, EventType = ce.EventType, StartTime = ce.StartTime, Coordinates = new ClubEventCoordinates { Latitude = ce.Latitude, Longtitute = ce.Longtitude } })); }
public IActionResult GetEvents([FromQuery] ClubEventFilterRequest clubEventFilterRequest) { return(Json(_clubEventsService.GetClubEvents(clubEventFilterRequest))); }