public TimeTrackDetailsViewModel(DayTimeTrack dayTimeTrack, ShortEmployee shortEmployee) { dayTimeTrack.Calculate(); Title = "Время сотрудника " + shortEmployee.FIO + " в течение дня " + dayTimeTrack.Date.Date.ToString("yyyy-MM-dd"); AddCommand = new RelayCommand(OnAdd, CanAdd); EditCommand = new RelayCommand(OnEdit, CanEdit); RemoveCommand = new RelayCommand(OnRemove, CanRemove); AddFileCommand = new RelayCommand(OnAddFile, CanAddFile); OpenFileCommand = new RelayCommand(OnOpenFile, CanOpenFile); RemoveFileCommand = new RelayCommand(OnRemoveFile, CanRemoveFile); AddCustomPartCommand = new RelayCommand(OnAddCustomPart, CanAddPart); RemovePartCommand = new RelayCommand(OnRemovePart, CanEditRemovePart); EditPartCommand = new RelayCommand(OnEditPart, CanEditRemovePart); DayTimeTrack = dayTimeTrack; ShortEmployee = shortEmployee; DayTimeTrackParts = new ObservableCollection<DayTimeTrackPartViewModel>(); foreach (var timeTrackPart in DayTimeTrack.RealTimeTrackParts) { var employeeTimeTrackPartViewModel = new DayTimeTrackPartViewModel(timeTrackPart); DayTimeTrackParts.Add(employeeTimeTrackPartViewModel); } Documents = new ObservableCollection<DocumentViewModel>(); foreach (var document in dayTimeTrack.Documents) { if (document.EndDateTime > dayTimeTrack.Date.Date) { var documentViewModel = new DocumentViewModel(document); Documents.Add(documentViewModel); } } }
void OnAdd() { var documentDetailsViewModel = new DocumentDetailsViewModel(true, OrganisationUID); if (DialogService.ShowModalWindow(documentDetailsViewModel)) { var document = documentDetailsViewModel.TimeTrackDocument; document.EmployeeUID = EmployeeUID; var operationResult = ClientManager.RubezhService.AddTimeTrackDocument(document); if (operationResult.HasError) { MessageBoxService.ShowWarning(operationResult.Error); } else { var documentViewModel = new DocumentViewModel(document); Documents.Add(documentViewModel); SelectedDocument = documentViewModel; IsChanged = true; } } }
public DocumentsViewModel(TimeTrackEmployeeResult timeTrackEmployeeResult, DateTime startDate, DateTime endDate) { EmployeeUID = timeTrackEmployeeResult.ShortEmployee.UID; OrganisationUID = timeTrackEmployeeResult.ShortEmployee.OrganisationUID; AddCommand = new RelayCommand(OnAdd, CanAdd); EditCommand = new RelayCommand(OnEdit, CanEdit); RemoveCommand = new RelayCommand(OnRemove, CanRemove); AddFileCommand = new RelayCommand(OnAddFile, CanAddFile); OpenFileCommand = new RelayCommand(OnOpenFile, CanOpenFile); RemoveFileCommand = new RelayCommand(OnRemoveFile, CanRemoveFile); Documents = new ObservableCollection<DocumentViewModel>(); if (timeTrackEmployeeResult.Documents != null) { foreach (var document in timeTrackEmployeeResult.Documents.OrderBy(x => x.StartDateTime)) { var documentViewModel = new DocumentViewModel(document); Documents.Add(documentViewModel); } } SelectedDocument = Documents.FirstOrDefault(); IsChanged = false; }
void OnAdd() { var timeTrackDocument = new TimeTrackDocument(); timeTrackDocument.StartDateTime = DayTimeTrack.Date.Date; timeTrackDocument.EndDateTime = DayTimeTrack.Date.Date; var documentDetailsViewModel = new DocumentDetailsViewModel(false, ShortEmployee.OrganisationUID, timeTrackDocument); if (DialogService.ShowModalWindow(documentDetailsViewModel)) { var document = documentDetailsViewModel.TimeTrackDocument; document.EmployeeUID = ShortEmployee.UID; var operationResult = ClientManager.RubezhService.AddTimeTrackDocument(document); if (operationResult.HasError) { MessageBoxService.ShowWarning(operationResult.Error); } else { var documentViewModel = new DocumentViewModel(document); Documents.Add(documentViewModel); SelectedDocument = documentViewModel; IsChanged = true; ServiceFactory.Events.GetEvent<EditDocumentEvent>().Publish(document); } } }