// Prints all student attendances to pdf // parameter passed in is list of students and their attendance private void PrintAttendance() { var pdfPresents = new List <PdfPresence>(); Attendances.ToList().ForEach(a => { pdfPresents.Add(new PdfPresence { FirstName = a.FirstName, LastName = a.LastName, MatricelNumber = a.MatricelNumber, Date = a.Date, Note = a.Note, WasPresent = a.WasPresent }); }); var course = dataAccess.GetCourseById(CourseID); var lab = dataAccess.GetLabById(LabID); var lecturers = context.GetLecturerOfCourse(CourseID); string lecturerFullName = "Kein Lehrender"; if (lecturers.Count > 0) { var lecturer = lecturers.First(); lecturerFullName = $"{lecturer.firstName} {lecturer.lastName}"; } // format list for pdf by wanted property pdfPresents = pdfPresents.OrderBy(p => p.Date).ToList(); var pdfPath = exporter.CreatePresenceListForStuds(course.Name, lecturerFullName, lab.LabNumber.ToString(), pdfPresents); CheckIfPdfCreated(pdfPath); }
public Attendance CheckOut(Attendance attendance) { if (Attendances == null) { Attendances = new List <Attendance>().AsReadOnly(); } var list = Attendances.ToList(); list.Add(attendance); ReadModel.Attendances.Add(new AttendanceReadModel(attendance)); Attendances = list.AsReadOnly(); return(attendance); }
public Attendance DeleteAsync(Attendance attendance) { if (Attendances == null) { Attendances = new List <Attendance>().AsReadOnly(); } var list = Attendances.ToList(); list.Remove(attendance); ReadModel.Attendances.Remove(new AttendanceReadModel(attendance)); Attendances = list.AsReadOnly(); return(attendance); }
public Attendance CheckIn(DateTimeOffset checkInDate, LocationsCheckInEnum locationStatus, DateTimeOffset?checkOutDate, TimeSpan?duration) { //validation for the same CheckInDate if (Attendances.Count > 0) { if (Attendances.Select(o => o.CheckInDate.Date).Contains(checkInDate.Date)) { return(null); } } //validation for checkin more than current date var comparison2 = DateTimeOffset.Compare(checkInDate.Date, DateTimeOffset.Now.Date); if (comparison2 >= 1) { return(null); } var attendance = new Attendance(Guid.NewGuid(), this.Identity, checkInDate, locationStatus, checkOutDate, duration); if (Attendances == null) { Attendances = new List <Attendance>().AsReadOnly(); } var list = Attendances.ToList(); list.Add(attendance); ReadModel.Attendances.Add(new AttendanceReadModel(attendance)); Attendances = list.AsReadOnly(); return(attendance); }
private void InitCommands() { NewEntry = new Command(OnNewEntryExecute, OnNewEntryCanExecute); TransferEntry = new Command(OnTransferEntryExecute, OnTransferEntryCanExecute); DeleteEntry = new Command(OnDeleteEntryExecute, OnDeleteEntryCanExecute); LockDay = new Command(OnLockDayExecute, OnLockDayCanExecute); UnlockDay = new Command(OnUnlockDayExecute, OnUnlockDayCanExecute); RefreshTree = new Command(OnRefreshTreeExecute); EditWorkCommand = new Command((p) => { var n = Navigator.CreateChild(); n.Startup <CreateWorkView, UpdateWorkViewModel>(ViewMode.Dialog, null, new ParameterStorage { NWork = (Work)p, Date = Date, TopFaultWorks = topFaultWorks, TopCauseWorks = topCauseWorks }); }, (p) => { return(SelectedWork != null); }); Exit = new Command(() => { Application.Current.Shutdown(); }); HelpView = new Command(() => { System.Windows.Forms.Help.ShowHelp(null, @"Help.chm"); }); PreviewDialog = new Command(() => { try { var n = Navigator.CreateChild(); dataClient = ContainerProvider.GetInstance.Resolve <DataServiceClient>(); Works = dataClient.FindWorks(Date.ID); Attendances = dataClient.FindAttendances(Date.ID); Changeovers = dataClient.FindChangeovers(LoginInit.user.DetachmentID); n.ShowPreview(Date, Works.ToList(), Attendances.ToList(), Changeovers.ToList()); } catch (Exception e) { ErrorProvider.ShowError(e, Navigator); } }, () => { return(Date != null); }); PrintDialog = new Command(() => { try { var n = Navigator.CreateChild(); dataClient = ContainerProvider.GetInstance.Resolve <DataServiceClient>(); Works = dataClient.FindWorks(Date.ID); Attendances = dataClient.FindAttendances(Date.ID); Changeovers = dataClient.FindChangeovers(LoginInit.user.DetachmentID); n.ShowPrint(Date, Works.ToList(), Attendances.ToList(), Changeovers.ToList()); } catch (Exception e) { ErrorProvider.ShowError(e, Navigator); } }, () => { return(Date != null); }); AccountDialog = new Command(() => { var n = Navigator.CreateChild(); n.Startup <AccountView, AccountViewModel>(ViewMode.Dialog); }); WorkerStateDialog = new Command(() => { var n = Navigator.CreateChild(); n.Startup <WindowView, WorkerStateViewModel>(ViewMode.Dialog); }); DetachmentDialog = new Command(() => { var n = Navigator.CreateChild(); n.Startup <WindowView, DetachmentViewModel>(ViewMode.Dialog); }, () => { return(LoginInit.user.Roles.Any(c => c.Name == "Admin")); }); UserDialog = new Command(() => { var n = Navigator.CreateChild(); n.Startup <UserView, UserViewModel>(ViewMode.Dialog); }, () => { return(LoginInit.user.Roles.Any(c => c.Name == "Admin")); }); CreateDayDialog = new Command(() => { var n = Navigator.CreateChild(); n.Startup <CreateDayView, CreateDayViewModel>(ViewMode.Dialog, (s, e) => { OnCreateDayExecute(s, e); }); }, () => { return(LoginInit.user.Roles.Any(c => c.Name == "Write")); }); DeleteDay = new Command(() => { var n = Navigator.CreateChild(); if (n.ShowMessageBox("Jste si jistí že chcete smazat " + (Date.IsNight ? "noční" : " denní") + " směnu, dne " + Date.DateContent.ToString("D", CultureInfo.CreateSpecificCulture("cs-CZ")) + "?\nSmažou se i veškerá data obsažená v této směně!", "Varováni", MessageBoxButton.YesNo, MessageBoxResult.No, MessageBoxImage.Warning) == MessageBoxResult.Yes) { Busy = true; dataClient = ContainerProvider.GetInstance.Resolve <DataServiceClient>(); dataClient.DeleteDateCompleted += DeleteDateCompleted; dataClient.DeleteDateAsync(Date.ID); } }, OnDeleteDayCanExecute); VehicleDialog = new Command(() => { var n = Navigator.CreateChild(); n.Startup <WindowView, VehicleViewModel>(ViewMode.Dialog); }); TourDialog = new Command(() => { var n = Navigator.CreateChild(); n.Startup <TourView, TourViewModel>(ViewMode.Dialog); }); WorkerDialog = new Command(() => { var n = Navigator.CreateChild(); n.Startup <WorkerView, WorkerViewModel>(ViewMode.Dialog); }); FullTextDialog = new Command(() => { var n = Navigator.CreateChild(); n.Startup <FullTextView, FullTextViewModel>(ViewMode.Dialog); }); WorkTypeDialog = new Command(() => { var n = Navigator.CreateChild(); n.Startup <WindowView, WorkTypeViewModel>(ViewMode.Dialog); }); AttendanceDialog = new Command(() => { var n = Navigator.CreateChild(); n.Startup <AttendanceView, AttendanceViewModel>(ViewMode.Dialog, null, new ParameterStorage { Date = Date, Attendances = this.Attendances }); }, OnAttendanceDialogCanExecute); AboutDialog = new Command(() => { var n = Navigator.CreateChild(); n.Startup <AboutView>(); }); }