Ejemplo n.º 1
0
		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);
		}
Ejemplo n.º 2
0
		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");
		}
Ejemplo n.º 5
0
		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;
			}
		}
Ejemplo n.º 6
0
		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);
			}
		}
Ejemplo n.º 8
0
		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);
				}
			}
		}
Ejemplo n.º 9
0
		void OnRemoveDocument(TimeTrackDocument document)
		{
			var timeTrackViewModel = TimeTracks.FirstOrDefault(x => x.ShortEmployee.UID == document.EmployeeUID);
			if (timeTrackViewModel != null)
			{
				timeTrackViewModel.DocumentsViewModel.OnRemoveDocument(document);
			}
		}
Ejemplo n.º 10
0
		public void Update(TimeTrackDocument timeTrackDocument)
		{
			Document = timeTrackDocument;
			Update();
		}
Ejemplo n.º 11
0
		public DocumentViewModel(TimeTrackDocument timeTrackDocument)
		{
			Document = timeTrackDocument;
			Update();
		}