コード例 #1
0
 public async void DeleteDeparture()
 {
     if (await service.DeleteEntity(SelectedDeparture.Id))
     {
         Departures.Remove(Departures.FirstOrDefault(c => c.Id == SelectedDeparture.Id));
     }
 }
コード例 #2
0
        private TimeSpan GetTimeToFirstDeparture()
        {
            var firstDeparture = Departures.FirstOrDefault();

            if (firstDeparture == null)
                return TimeSpan.MaxValue;

            Debug.WriteLine(firstDeparture.Departs - DateTime.Now);

            return firstDeparture.Departs - DateTime.Now;
        }
コード例 #3
0
 public async void UpdateDeparture()
 {
     if (await service.UpdateEntity(SelectedDeparture.Id, SelectedDeparture))
     {
         var tempDeparture = Departures.FirstOrDefault(c => c.Id == SelectedDeparture.Id);
         tempDeparture.Crew   = SelectedDeparture.Crew;
         tempDeparture.Date   = SelectedDeparture.Date;
         tempDeparture.Flight = SelectedDeparture.Flight;
         tempDeparture.Plane  = SelectedDeparture.Plane;
     }
 }
コード例 #4
0
        private async Task UpdateDepartureData(DepartureData departureData)
        {
            var initTasks = new List<Task>();

            foreach (var departure in departureData.Departure.Where(d => d.GetDepartureTime() > DateTime.Now))
            {
                var existingDeparture = Departures.FirstOrDefault(d => d.OriginalDeparture == departure.GetOriginalDepartureTime());

                if (existingDeparture != null)
                {
                    //Update
                    existingDeparture.Update(departure);
                }
                else
                {
                    //New
                    var departureVM = new DepartureViewModel(departure);
                    Departures.Add(departureVM);
                    initTasks.Add(departureVM.Init());
                }
            }

            await Task.WhenAll(initTasks);
        }