private async void RunPlanungCheckCommandExecute() { if (!CanRunPlanungCheckCommandExecute()) { return; } IsBusyCheck = true; try { var result = await Task.Run(() => { var woche = SelectedArbeitswoche.MapViewmodelToArbeitswoche(); return(woche.ValidateArbeitswoche()); }); SelectedArbeitswoche.Auswertung = result; } catch (Exception ex) { MessageBox.Show($"Fehler beim Ausführen der Planung.{Environment.NewLine}{ex.GetAllErrorMessages()}"); } finally { IsBusyCheck = false; CommandManager.InvalidateRequerySuggested(); } }
private async void RunPlanungCommandExecute() { if (!CanRunPlanungCommandExecute()) { return; } if (SelectedArbeitswoche.PlanungProMitarbeiterListe.Any(x => x.HasPlanzeitenEntries)) { var dlg = _msg.ShowYesNo("Wollen Sie eine neue Planung durchführen?", CustomDialogIcons.Question); if (dlg == CustomDialogResults.No) { return; } } IsBusy = true; try { var woche = SelectedArbeitswoche.MapViewmodelToArbeitswoche(); await Task.Run(() => PlanService.ErstelleWochenplan(woche, woche.Mitarbeiter)); var neu = woche.MapArbeitswocheToViewmodel(); ArbeitswochenCollection.Remove(SelectedArbeitswoche); ArbeitswochenCollection.Add(neu); SelectedArbeitswoche = neu; ArbeitswocheVorschau.Refresh(); SelectedPlanungswocheMitarbeiterItem = SelectedArbeitswoche.PlanungProMitarbeiterListe.First(); FocusToBindingPath = nameof(ArbeitswocheVorschau); } catch (Exception ex) { MessageBox.Show($"Fehler beim Ausführen der Planung.{Environment.NewLine}{ex.GetAllErrorMessages()}"); } finally { IsBusy = false; CommandManager.InvalidateRequerySuggested(); } }
private async void ExportPlanungCommandExecute() { if (!CanExportPlanungCommandExecute()) { return; } IsBusy = true; try { var woche = SelectedArbeitswoche.MapViewmodelToArbeitswoche(); var ms = await Task.Run(() => { var service = new ExcelExportService(); return(service.SchreibeIstZeiten(woche, woche.Mitarbeiter, SelectedArbeitswoche.ShowThemen)); }); var pfad = ExcelExportService.PfadExcel; var filename = $"Planung_{woche.Jahr}_{woche.KalenderWoche.ToString("00")}.xlsx"; if (string.IsNullOrWhiteSpace(pfad)) { ms.CreateXlsxFileOnTempPath(true); } else { ms.CreateFile(true, pfad + filename); } } catch (Exception ex) { MessageBox.Show($"Fehler beim Export der Planung.{Environment.NewLine}{ex.GetAllErrorMessages()}"); } finally { IsBusy = false; CommandManager.InvalidateRequerySuggested(); } }