public DocumentDetailsViewModel(bool canEditStartDateTime, Guid organisationUID, TimeTrackDocument timeTrackDocument = null) { CanEditStartDateTime = canEditStartDateTime; if (timeTrackDocument == null) { Title = "Добавление документа"; timeTrackDocument = new TimeTrackDocument(); } else { Title = "Редактирование документа"; } TimeTrackDocument = timeTrackDocument; AvailableDocuments = new ObservableCollection<TimeTrackDocumentType>(); foreach (var timeTrackDocumentType in TimeTrackDocumentTypesCollection.TimeTrackDocumentTypes) { AvailableDocuments.Add(timeTrackDocumentType); } var documentTypes = DocumentTypeHelper.GetByOrganisation(organisationUID); foreach (var documentType in documentTypes) { AvailableDocuments.Add(documentType); } StartDateTime = timeTrackDocument.StartDateTime.Date; StartTime = timeTrackDocument.StartDateTime.TimeOfDay; EndDateTime = timeTrackDocument.EndDateTime.Date; EndTime = timeTrackDocument.EndDateTime.TimeOfDay; Comment = timeTrackDocument.Comment; DocumentNumber = timeTrackDocument.DocumentNumber; DocumentDateTime = timeTrackDocument.DocumentDateTime; SelectedDocument = AvailableDocuments.FirstOrDefault(x => x.Code == timeTrackDocument.DocumentCode); }
public OperationResult<List<API.TimeTrackDocument>> Get(Guid employeeUID, DateTime startDateTime, DateTime endDateTime, IEnumerable<TimeTrackDocument> tableItems) { return DbServiceHelper.InTryCatch(() => { var tableTimeTrackDocuments = tableItems.Where(x => x.EmployeeUID == employeeUID && ((x.StartDateTime.Date >= startDateTime && x.StartDateTime.Date <= endDateTime) || (x.EndDateTime.Date >= startDateTime && x.EndDateTime.Date <= endDateTime) || (startDateTime >= x.StartDateTime.Date && startDateTime <= x.EndDateTime.Date) || (endDateTime >= x.StartDateTime.Date && endDateTime <= x.EndDateTime.Date))); if (tableTimeTrackDocuments != null) { var timeTrackDocuments = new List<API.TimeTrackDocument>(); foreach (var tableTimeTrackDocument in tableTimeTrackDocuments) { var timeTrackDocument = new API.TimeTrackDocument() { UID = tableTimeTrackDocument.UID, EmployeeUID = tableTimeTrackDocument.EmployeeUID.GetValueOrDefault(), StartDateTime = tableTimeTrackDocument.StartDateTime, EndDateTime = tableTimeTrackDocument.EndDateTime, DocumentCode = tableTimeTrackDocument.DocumentCode, Comment = tableTimeTrackDocument.Comment, DocumentDateTime = tableTimeTrackDocument.DocumentDateTime, DocumentNumber = tableTimeTrackDocument.DocumentNumber, FileName = tableTimeTrackDocument.FileName }; timeTrackDocuments.Add(timeTrackDocument); } return timeTrackDocuments; } return new List<API.TimeTrackDocument>(); }); }
public OperationResult<bool> EditTimeTrackDocument(TimeTrackDocument timeTrackDocument) { return SafeOperationCall(() => { var rubezhService = RubezhServiceFactory.Create(TimeSpan.FromMinutes(10)); using (rubezhService as IDisposable) return rubezhService.EditTimeTrackDocument(RubezhServiceFactory.UID, timeTrackDocument); }, "EditTimeTrackDocument"); }
public OperationResult<bool> EditTimeTrackDocument(Guid clientUID, TimeTrackDocument timeTrackDocument) { return SafeOperationCall(clientUID, () => RubezhService.EditTimeTrackDocument(clientUID, timeTrackDocument), "EditTimeTrackDocument"); }
public void OnEditDocument(TimeTrackDocument document) { if (document.EmployeeUID == EmployeeUID) { var viewModel = Documents.FirstOrDefault(x => x.Document.UID == document.UID); if (viewModel != null) { viewModel.Update(document); } else { Documents.Add(new DocumentViewModel(document)); } IsChanged = true; } }
public void OnRemoveDocument(TimeTrackDocument document) { var viewModel = Documents.FirstOrDefault(x => x.Document.UID == document.UID); if (viewModel != null) { Documents.Remove(viewModel); OnPropertyChanged(() => Documents); IsChanged = true; } }
public OperationResult<bool> EditTimeTrackDocument(Guid clientUID, TimeTrackDocument item) { AddJournalMessage(JournalEventNameType.Внесение_оправдательного_документа, item.DocumentNumber.ToString(), item.UID, clientUID); using (var databaseService = new RubezhDAL.DataClasses.DbService()) { return databaseService.TimeTrackDocumentTranslator.EditTimeTrackDocument(item); } }
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); } } }
void OnRemoveDocument(TimeTrackDocument document) { var timeTrackViewModel = TimeTracks.FirstOrDefault(x => x.ShortEmployee.UID == document.EmployeeUID); if (timeTrackViewModel != null) { timeTrackViewModel.DocumentsViewModel.OnRemoveDocument(document); } }
public void Update(TimeTrackDocument timeTrackDocument) { Document = timeTrackDocument; Update(); }
public DocumentViewModel(TimeTrackDocument timeTrackDocument) { Document = timeTrackDocument; Update(); }