2016-09-20 3 views
0

Я новичок в программировании. Я делаю программу, которая показывает только одну неделю за раз. У меня есть несколько встреч, охватывающих несколько недель, и мой вопрос: есть ли способ показать только «встречи» недели, в которой вы сейчас находитесь?WPF Calender Week

+1

Пожалуйста, поделитесь, что вы пробовали уже и где вы застряли. StackOverflow помогает вам, а не делает работу за вас. Также прочитайте [ask] – uruloke

+0

Я уже искал в google и youtube после того, как все, что пришло мне в голову, могло иметь какое-либо отношение к моей проблеме. –

+1

Больше нравится делиться тем, что вы делали программным способом, а не поиском в Google или просмотром видеороликов youtube. (Vis hvad du har foretaget dig programmeringsmæssigt) –

ответ

0

Я понял это

 var googleCal = new GoogleClass(); 

     var ugedag = DateTime.Now.DayOfWeek; 

     var getMondays = googleCal.GoogleEvents.Where(e => e.StartDate < DateTime.Now.AddDays(6)); 

     var getTuesdays = googleCal.GoogleEvents.Where(e => e.StartDate < DateTime.Now.AddDays(5)); 

     var getWednesday = googleCal.GoogleEvents.Where(e => e.StartDate < DateTime.Now.AddDays(4)); 

     var getThursday = googleCal.GoogleEvents.Where(e => e.StartDate < DateTime.Now.AddDays(3)); 

     var getFriday = googleCal.GoogleEvents.Where(e => e.StartDate < DateTime.Now.AddDays(2)); 

     var getSaturday = googleCal.GoogleEvents.Where(e => e.StartDate < DateTime.Now.AddDays(1)); 

     var getSunday = googleCal.GoogleEvents.Where(e => e.StartDate < DateTime.Now.AddDays(0)); 



      foreach (var googleCalGoogleEvent in googleCal.GoogleEvents) 
      { 
       listBox.Items.Add(googleCalGoogleEvent.Title); 
      } 

     if (ugedag == DayOfWeek.Monday) 
     { 

      foreach (var events in getMondays) 
      { 
       NewMethod(events); 
      } 
     } 
     if (ugedag == DayOfWeek.Tuesday) 
     { 
      foreach (var events in getTuesdays) 
      { 
       NewMethod(events); 
      } 
     } 
     if (ugedag == DayOfWeek.Wednesday) 
     { 
      foreach (var events in getWednesday) 
      { 
       NewMethod(events); 
      } 
     } 
     if (ugedag == DayOfWeek.Thursday) 
     { 
      foreach (var events in getThursday) 
      { 
       NewMethod(events); 
      } 
     } 
     if (ugedag == DayOfWeek.Friday) 
     { 
      foreach (var events in getFriday) 
      { 
       NewMethod(events); 
      } 
     } 
     if (ugedag == DayOfWeek.Saturday) 
     { 
      foreach (var events in getSaturday) 
      { 
       NewMethod(events); 
      } 
     } 
     if (ugedag == DayOfWeek.Sunday) 
     { 
      foreach (var events in getSunday) 
      { 
       NewMethod(events); 
      } 
     } 

    } 

    private void NewMethod(GoogleEvents events) 
    { 
     if (events.StartDate.Value.DayOfWeek == DayOfWeek.Monday) 
     { 
      Monday.Items.Add($"{events.Title} \n{events.StartDate:dd-MM HH:MM}-{events.EndDate:HH:MM}"); 
     } 

     if (events.StartDate.Value.DayOfWeek == DayOfWeek.Tuesday) 
     { 
      Tuesday.Items.Add($"{events.Title} \n{events.StartDate:dd-MM HH:MM}-{events.EndDate:HH:MM}"); 
     } 

     if (events.StartDate.Value.DayOfWeek == DayOfWeek.Wednesday) 
     { 
      Wednsday.Items.Add($"{events.Title} \n{events.StartDate:dd-MM HH:MM}-{events.EndDate:HH:MM}"); 
     } 

     if (events.StartDate.Value.DayOfWeek == DayOfWeek.Thursday) 
     { 
      Thuesday.Items.Add($"{events.Title} \n{events.StartDate:dd-MM HH:MM}-{events.EndDate:HH:MM}"); 
     } 

     if (events.StartDate.Value.DayOfWeek == DayOfWeek.Friday) 
     { 
      Friday.Items.Add($"{events.Title} \n{events.StartDate:dd-MM HH:MM}-{events.EndDate:HH:MM}"); 
     } 

     if (events.StartDate.Value.DayOfWeek == DayOfWeek.Saturday) 
     { 
      Saturday.Items.Add($"{events.Title} \n{events.StartDate:dd-MM HH:MM}-{events.EndDate:HH:MM}"); 
     } 

     if (events.StartDate.Value.DayOfWeek == DayOfWeek.Sunday) 
     { 
      Sunday.Items.Add($"{events.Title} \n{events.StartDate:dd-MM HH:MM}-{events.EndDate:HH:MM}"); 
     } 
    } 
0

До сих пор у меня есть это:

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
     var googleCal = new GoogleClass(); 

     foreach (var googleEvent in googleCal.GoogleEvents) 
     { 
      if ((googleEvent.StartDate.Value.DayOfWeek - googleEvent.StartDate.Value.DayOfWeek) 
      { 
       listBox.Items.Add(googleEvent.Title + " " + googleEvent.StartDate); 
      } 


     } 
    } 
} 


public class GoogleEvents 
{ 
    public string Title { get; set; } 
    public DateTime? StartDate { get; set; } 
} 

class GoogleClass 
{ 
    public List<GoogleEvents> GoogleEvents = new List<GoogleEvents>(); 

    static string[] Scopes = { CalendarService.Scope.CalendarReadonly }; 
    static string ApplicationName = "Google Calendar API .NET Quickstart"; 



    public GoogleClass() 
    { 
     UserCredential credential; 

     using (var stream = new FileStream("client_secret.json", FileMode.Open, FileAccess.Read)) 
     { 
      string credPath = System.Environment.GetFolderPath(
       System.Environment.SpecialFolder.Personal); 
      credPath = Path.Combine(credPath, ".credentials/calendar-dotnet-quickstart.json"); 

      credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
       GoogleClientSecrets.Load(stream).Secrets, 
       Scopes, 
       "user", 
       CancellationToken.None, 
       new FileDataStore(credPath, true)).Result; 

     } 
     // Create Google Calendar API service. 
     var service = new CalendarService(new BaseClientService.Initializer() 
     { 
      HttpClientInitializer = credential, 
      ApplicationName = ApplicationName, 
     }); 

     // Define parameters of request. 
     EventsResource.ListRequest request = service.Events.List("primary"); 
     request.TimeMin = DateTime.Now; 
     request.ShowDeleted = false; 
     request.SingleEvents = true; 
     request.MaxResults = 10; 
     request.OrderBy = EventsResource.ListRequest.OrderByEnum.StartTime; 

     // List events. 
     Events events = request.Execute(); 
     if (events.Items != null && events.Items.Count > 0) 
     { 
      foreach (var eventItem in events.Items) 
      { 
       string when = eventItem.Start.DateTime.ToString(); 
       if (String.IsNullOrEmpty(when)) 
       { 
        when = eventItem.Start.Date; 
       } 

       GoogleEvents.Add(new GoogleEvents {Title = eventItem.Summary, StartDate = eventItem.Start.DateTime}); 


      } 
     } 
    } 
} 
+0

Я не знаю, почему это не позволит моему публичному классу вводить код –

+0

, но в тот день, когда неделя не работала, поскольку я хотел ее –