public RelatorioViewModel(IContextProvider repositorio) { if (IsInDesignMode) { // Code runs in Blend --> create design time data. var batidas = new List<Batida>(); batidas.Add(new Batida { Horario = new DateTime(2012, 1, 1, 08, 0, 0), NaturezaBatida = NaturezaBatida.Entrada }); batidas.Add(new Batida { Horario = new DateTime(2012, 1, 1, 12, 0, 0), NaturezaBatida = NaturezaBatida.Saida }); batidas.Add(new Batida { Horario = new DateTime(2012, 1, 1, 13, 0, 0), NaturezaBatida = NaturezaBatida.Entrada }); batidas.Add(new Batida { Horario = new DateTime(2012, 1, 1, 18, 0, 0), NaturezaBatida = NaturezaBatida.Saida }); batidas.Add(new Batida { Horario = new DateTime(2012, 2, 1, 08, 0, 0), NaturezaBatida = NaturezaBatida.Entrada }); batidas.Add(new Batida { Horario = new DateTime(2012, 2, 1, 12, 0, 0), NaturezaBatida = NaturezaBatida.Saida }); batidas.Add(new Batida { Horario = new DateTime(2012, 2, 1, 13, 0, 0), NaturezaBatida = NaturezaBatida.Entrada }); batidas.Add(new Batida { Horario = new DateTime(2012, 2, 1, 17, 0, 0), NaturezaBatida = NaturezaBatida.Saida }); var groups = batidas.ToKeyGroup(item => item.Horario.Date.ToString("dd/MM/yyyy")); Batidas = new ObservableCollection<KeyGroup<Batida>>(groups); } else { _cacheContext = repositorio.CacheContext; // Code runs in Blend --> create design time data. Batidas = new ObservableCollection<KeyGroup<Batida>>(); PropertyChanged += (sender, args) => { if (args.PropertyName == "De" || args.PropertyName == "Ate") AtualizaBatidas(); }; } }
public LancamentoViewModel(IContextProvider repositorio) { _context = repositorio.CacheContext; Batidas = new ObservableCollection<Batida>(); if (IsInDesignMode) { // Code runs in Blend --> create design time data. Batidas.Add(new Batida { Horario = new DateTime(2012, 1, 1, 08, 0, 0), NaturezaBatida = NaturezaBatida.Entrada }); Batidas.Add(new Batida { Horario = new DateTime(2012, 1, 1, 12, 0, 0), NaturezaBatida = NaturezaBatida.Saida }); Batidas.Add(new Batida { Horario = new DateTime(2012, 1, 1, 13, 0, 0), NaturezaBatida = NaturezaBatida.Entrada }); Batidas.Add(new Batida { Horario = new DateTime(2012, 1, 1, 18, 0, 0), NaturezaBatida = NaturezaBatida.Saida }); } else { // Code runs "for real" _configuracao = _context.Configuracoes.FirstOrDefault(); AdicionarBatida = new RelayCommand(AddBatida); RemoverBatida = new RelayCommand<Batida>(RemoveBatida); Batidas.CollectionChanged += (sender, args) => { RaisePropertyChanged("HorarioTrabalhado"); RaisePropertyChanged("Resumo"); }; } }
/// <summary> /// Agent that runs a scheduled task /// </summary> /// <param name="task"> /// The invoked task /// </param> /// <remarks> /// This method is called when a periodic or resource intensive task is invoked /// </remarks> protected override void OnInvoke(ScheduledTask task) { //TODO: Add code to perform your task in background // Launch a toast to show that the agent is running. // The toast will not be shown if the foreground application is running. var cache = new CacheContext(); var batidasHoje = cache.Batidas.Where(b => b.Horario.Date == DateTime.Now.Date); var shellTileData = new StandardTileData { BackContent = string.Join("\n", batidasHoje.Select(x => x.Horario.ToShortTimeString())), BackTitle = "Batidas hoje" }; ShellTile appTile = ShellTile.ActiveTiles.First(); appTile.Update(shellTileData); // Call NotifyComplete to let the system know the agent is done working. NotifyComplete(); }
public MainViewModel(IContextProvider repositorio) { context = repositorio.CacheContext; Batidas = new ObservableCollection<Batida>(); if (IsInDesignMode) { // Code runs in Blend --> create design time data. Batidas.Add(new Batida { Horario = new DateTime(2012, 1, 1, 08, 0, 0), NaturezaBatida = NaturezaBatida.Entrada }); Batidas.Add(new Batida { Horario = new DateTime(2012, 1, 1, 12, 0, 0), NaturezaBatida = NaturezaBatida.Saida }); Batidas.Add(new Batida { Horario = new DateTime(2012, 1, 1, 13, 0, 0), NaturezaBatida = NaturezaBatida.Entrada }); Batidas.Add(new Batida { Horario = new DateTime(2012, 1, 1, 18, 0, 0), NaturezaBatida = NaturezaBatida.Saida }); } else { // Code runs "for real" context.Batidas .Where(x => x.Horario.Date == DateTime.Now.Date) .ToList() .ForEach(Batidas.Add); CarregaConfiguracao(); AdicionarBatida = new RelayCommand(AddBatida); RemoverBatida = new RelayCommand<Batida>(RemoveBatida); Batidas.CollectionChanged += (sender, args) => { RaiseChangedHorarioTrabalhado(); RegisterTasks(); }; if (AtualizaHorasTrabalhadas) RaiseChangedHorarioTrabalhado(); } }
public BatidasToResumoConverter() { _cacheContext = new CacheContext(); }