public void DataTableTest() { var nonSerializableClasseDataTable = GeneralHelper.CopyToDataTable(NonSerializableClass.GenerateList()); TestSerialize(nonSerializableClasseDataTable); TestSerialize(nonSerializableClasseDataTable.DefaultView); var serializableClassDataTable = GeneralHelper.CopyToDataTable(SerializableClass.GenerateList()); TestSerialize(serializableClassDataTable); TestSerialize(serializableClassDataTable.DefaultView); var dt = new DataSet(); var addressTypeEntityCollection = MetaSingletons.MetaData.AddressType.ToEntityCollection(); addressTypeEntityCollection.CreateHierarchicalProjection(dt); TestSerialize(dt.Tables[0]); TestSerialize(dt.Tables[0].DefaultView); var addressTypeDataTable = GeneralHelper.CopyToDataTable(MetaSingletons.MetaData.AddressType); TestSerialize(addressTypeDataTable); TestSerialize(addressTypeDataTable.DefaultView); var enumerableRowCollection = addressTypeDataTable.AsEnumerable(); TestSerialize(enumerableRowCollection); TestSerialize(DataTableExtensions.CopyToDataTable(enumerableRowCollection)); }
public DataTable getLiqsHalls() { try { DataTable dt = (DataTable)this.Session[this._nameSessionData]; if (dt == null || dt.Rows.Count == 0) { return(new DataTable()); } return(DataTableExtensions.CopyToDataTable <DataRow>((IEnumerable <DataRow>)EnumerableRowCollectionExtensions.Where <DataRow>(DataTableExtensions.AsEnumerable(dt), (Func <DataRow, bool>)(x => !DataRowExtensions.Field <string>(x, "lhv_status").Equals("PM"))))); } catch { return(new DataTable()); } }
public DataTable getLigsPick() { DataTable dt1; try { DataTable dt = (DataTable)this.Session[this._nameSessionData]; if (dt == null || dt.Rows.Count == 0) { return(new DataTable()); } dt1 = DataTableExtensions.CopyToDataTable <DataRow>((IEnumerable <DataRow>)EnumerableRowCollectionExtensions.Where <DataRow>(DataTableExtensions.AsEnumerable(dt), (Func <DataRow, bool>)(x => DataRowExtensions.Field <string>(x, "liq_estid").Equals("PM") || DataRowExtensions.Field <string>(x, "liq_estid").Equals("PF")))); return(dt1); //return DataTableExtensions.CopyToDataTable<DataRow>((IEnumerable<DataRow>)EnumerableRowCollectionExtensions.Where<DataRow>(DataTableExtensions.AsEnumerable(dt), (Func<DataRow, bool>)(x => DataRowExtensions.Field<string>(x, "liq_estid").Equals("PF")))); } catch { return(new DataTable()); } }
public void CopyToDataTable_NullTable_ThrowsArgumentNullException() { AssertExtensions.Throws <ArgumentNullException>("table", () => DataTableExtensions.CopyToDataTable(new DataRow[0], null, LoadOption.OverwriteChanges)); AssertExtensions.Throws <ArgumentNullException>("table", () => DataTableExtensions.CopyToDataTable(new DataRow[0], null, LoadOption.OverwriteChanges, null)); }
public void CopyToDataTable_NullSource_ThrowsArgumentNullException() { AssertExtensions.Throws <ArgumentNullException>("source", () => DataTableExtensions.CopyToDataTable <DataRow>(null)); AssertExtensions.Throws <ArgumentNullException>("source", () => DataTableExtensions.CopyToDataTable <DataRow>(null, new DataTable(), LoadOption.OverwriteChanges)); AssertExtensions.Throws <ArgumentNullException>("source", () => DataTableExtensions.CopyToDataTable <DataRow>(null, new DataTable(), LoadOption.OverwriteChanges, null)); }
/// <summary> /// Загрузка данных из DBF /// </summary> /// <param name="dtDbfData">Таблица с данными dbf</param> /// <returns>Результат загрузки</returns> private bool GetCheckDbfData(ref DataTable dtDbfData) { bool isExcep = false; string pathToFiles = Parameters.hConnect.GetPathToDbf(1); if (pathToFiles != string.Empty && pathToFiles.Trim().Length > 0) { string fileName = dtpDate.Value.Year.ToString() + dtpDate.Value.Month.ToString().PadLeft(2, '0') + dtpDate.Value.Day.ToString().PadLeft(2, '0') + ".dbf"; pathToFiles = pathToFiles + "\\" + fileName; FileInfo fiDbf = new FileInfo(pathToFiles); if (!fiDbf.Exists) { MessageBox.Show("Файл " + pathToFiles + "\n не найден.", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Stop); return(false); } //Копируем файл в рабочую директорию try { fiDbf.CopyTo(Application.StartupPath + "\\" + fileName, true); } catch (System.Security.SecurityException) { isExcep = true; } catch (UnauthorizedAccessException) { isExcep = true; } if (isExcep) { MessageBox.Show("Не удалось скопировать файл " + fileName, "Предупреждение.", MessageBoxButtons.OK, MessageBoxIcon.Stop); return(false); } //Заполняем таблицу данными из dbf DBFWorker dbfWorker = new DBFWorker(Application.StartupPath + "\\" + fileName); dbfWorker.ExecuteCommand("PACK " + fileName); dtDbfData = dbfWorker.ExecuteCommand("SELECT tbl.*, " + "(SELECT COUNT(*) FROM " + fileName + " WHERE Num_ecr = tbl.Num_ecr AND Num_ch = tbl.Num_ch AND F3 = tbl.F3 AND Num_op = tbl.Num_op AND F5 = tbl.F5 AND F4 = tbl.F4) AS cnt " + //"IIF(INT(VAL(ALLTRIM(Num_op))) = 2 OR INT(VAL(ALLTRIM(Num_op))) = 21,0, F4) AS cval " + "From " + fileName + " AS tbl WHERE INT(VAL(ALLTRIM(Num_op))) IN (1, 4, 32, 330, 132, 9, 21, 2, 0)"); dtDbfData.Columns.Add("opType", typeof(int)); int numOp; //обновляем коды операций foreach (DataRow drDbf in dtDbfData.Rows) { if (int.TryParse(drDbf["Num_op"].ToString(), out numOp)) { drDbf["opType"] = 0; switch (numOp) { case 1: drDbf["Num_op"] = 504; break; case 4: drDbf["Num_op"] = 505; break; case 32: drDbf["Num_op"] = 508; break; case 330: drDbf["Num_op"] = 501; break; case 132: drDbf["Num_op"] = 507; break; case 9: drDbf["Num_op"] = 524; break; case 21: drDbf["Num_op"] = 509; drDbf["opType"] = 21; break; case 2: drDbf["Num_op"] = 509; drDbf["opType"] = 2; break; case 0: drDbf["Num_op"] = 512; break; } } } dtDbfData.AcceptChanges(); //Добавляем анулированные чеки для записей valid = 0 и op_code != 0 var nullCheck = (from dbf in dtDbfData.AsEnumerable() where !dbf.Field <bool>("F7") && (int.Parse(dbf.Field <string>("Num_op")) != 512) select dbf).Distinct(); if (nullCheck.Count() != 0) { DataTable dtNullCheck = DataTableExtensions.CopyToDataTable <DataRow>(nullCheck); foreach (DataRow row in dtNullCheck.Rows) { row["cnt"] = 1; row["Num_op"] = "512"; } dtDbfData.Merge(dtNullCheck); } return(true); } else { MessageBox.Show("Не указан путь\nк файлу с чеками.", "Предупреждение", MessageBoxButtons.OK, MessageBoxIcon.Stop); } return(false); }