/// <summary> /// Przygotowanie rokordów do eksportu /// </summary> /// <param name="table">nazwa tabeli w bazie danych, z której pochodzą rekordy</param> /// <param name="aRecords">lista rekordów do eksportu</param> /// <param name="cPathTmp">ścieżka do pliku tmp</param> private void _createExport(TableCut table, List <RowObject> aRecords, string cPathTmp) { string export = ""; List <string> aValues = new List <string>(); foreach (RowObject row in aRecords) { aValues.Clear(); foreach (object value in row.aCols.Values) { if (System.DBNull.Value.Equals(value)) { aValues.Add("null"); } else { aValues.Add("'" + value.ToString().Replace(',', '.') + "'"); } } export += "INSERT INTO " + table.name + " (" + String.Join(", ", row.aCols.Keys) + ") VALUES (" + String.Join(", ", aValues) + ");\n"; } this._tmpexport(cPathTmp, export); return; }
/// <summary> /// Pobranie listy rekordów do usunięcia /// </summary> /// <param name="table">nazwa tabeli w bazie danych, z której pochodzą rekordy</param> /// <param name="nLimit">limit rekordów</param> /// <param name="nOffset">od którego numeru rekordu zacząć</param> /// <returns>Lista rekordów do usunięcia</returns> private List <RowObject> _getRecordsCut(TableCut table, int nLimit) { List <RowObject> aRecords; switch (table.type) { case TableCut.Types.Pozycja: aRecords = this._pgSql.GetRecordsCutPositions(table.name, this._oUstawienia, nLimit); break; case TableCut.Types.Zlecenie: aRecords = this._pgSql.GetRecordsCutOrders(table.name, this._oUstawienia, nLimit); break; case TableCut.Types.Pracownik: aRecords = this._pgSql.GetRecordsCutEmployees(table.name, this._oUstawienia, nLimit); break; case TableCut.Types.Kartoteka: aRecords = this._pgSql.GetRecordsCutQuantity(table.name, this._oUstawienia, nLimit); break; case TableCut.Types.Towar: aRecords = this._pgSql.GetRecordsCutProducts(table.name, this._oUstawienia, nLimit); break; default: aRecords = new List <RowObject>(); break; } return(aRecords); }
/// <summary> /// Usunięcie wybranych rekordów /// </summary> /// <param name="table">nazwa tabeli w bazie danych, z której pochodzą rekordy</param> /// <param name="aRecords">referencja do listy rekordów</param> /// <returns>Czy udąło się usunąć wszystkie rekordy</returns> private bool _deleteRecords(TableCut table, ref List <RowObject> aRecords) { List <RowObject> aDeleted = this._pgSql.DeleteRecords(table.name, table.colUniRow, aRecords); bool lContains, lRet = true; int item1, item2; foreach (RowObject row in aRecords.ToList()) { item1 = Convert.ToInt32(row.aCols[table.colUniRow]); this._log("- " + table.colUniRow + " == " + item1.ToString() + " : ", false); lContains = false; foreach (RowObject rowdel in aDeleted) { item2 = Convert.ToInt32(rowdel.aCols[table.colUniRow]); if (item2 == item1) { lContains = true; break; } } if (lContains) { this._log(" USUNIĘTO"); this._countDeletedRec++; this._sumDeletedRec++; } else { this._log(" NIE MOŻNA USUNĄĆ REKORDU ( " + this._pgSql.Error + ")"); aRecords.Remove(row); this._countProblemRec++; this._sumProblemRec++; lRet = false; } } return(lRet); }