예제 #1
0
		private void SetMerge()
		{
			IsEnabled = false;

			CParserGenericAdapter proccesor = new CParserGenericAdapter();
			string path = CFileHelper.GetPathFromDialog();

			if (string.IsNullOrWhiteSpace(path))
			{
				IsEnabled = true;
				return;
			}

			IsLoading = true;
			SelectedTable.State = enFormState.EditTable;

			ThreadPool.QueueUserWorkItem(new WaitCallback((par) =>
			{
				try
				{
					DataTable data = proccesor.GetDataTabletFromCSVFile(path);
					bool res = CTable.FillColumns(data, SelectedTable.Current, true);
					res &= CTable.FillRows(data, SelectedTable.Current);

					BeginInvoke(DispatcherPriority.Normal, () =>
					{
						SelectedTable.IsAppenedSuccessfully = res;
						RaiseRefresh();
						this.RaisePropertyChanged(() => this.SelectedTableView);
					});
				}
				catch (Exception ex)
				{ }

				ChangeState(false);
			}));

		}
예제 #2
0
		private void OnAdd()
		{
			IsEnabled = false;

			CParserGenericAdapter proccesor = new CParserGenericAdapter();
			string path = CFileHelper.GetPathFromDialog();

			if (string.IsNullOrWhiteSpace(path))
			{
				IsEnabled = true;
				return;
			}

			IsLoading = true;

			ThreadPool.QueueUserWorkItem(new WaitCallback((par) =>
			{
				try
				{
					DataTable data = proccesor.GetDataTabletFromCSVFile(path);
					CTable table = CTable.Create(data);

					BeginInvoke(DispatcherPriority.Normal, () =>
					{
						SelectedTable = new TableViewModel(table);
						SelectedTable.State = enFormState.Create;
						SelectedTable.Current.Status = Status.Added;
						
						this.Tables.Add(SelectedTable);
						RaiseRefresh();
						this.RaisePropertyChanged(() => this.SelectedTableView);
					});
				}
				catch (Exception ex)
				{ }

				ChangeState(false);
			}));

		}