public static bool UpdateReaderItem(ReaderItem item) { string query = string.Format("update {0} set STORE_NR = \"{1}\" where ORDER_NUMBER = \"{2}\" AND SKU = \"{3}\" AND VALID = 1", T_READER, item.StoreNr, item.OrderNr, item.SKU); try { ExecuteNonQuery(query); } catch (Exception) { return false; } return true; }
public static bool ExistsReaderItem(ReaderItem item) { string query = string.Format("select * from {0} where ORDER_NUMBER = {1} AND SKU = \"{2}\" AND VALID = 1", T_READER, item.OrderNr, item.SKU); try { var res = ExecuteQuery(query); if (res != null && res.Tables != null && res.Tables.Count > 0 && res.Tables[0].Rows.Count > 0) return true; // zaznam existuje } catch (Exception) { return false; } return false; }
public static bool InsertReaderItem(ReaderItem item) { if (ExistsReaderItem(item)) return UpdateReaderItem(item); string query = string.Format("insert into {0} values ( {1}, \"{2}\", \"{3}\", \"{4}\", {5} )", T_READER, "null", item.OrderNr, item.SKU, item.StoreNr, item.Valid); try { ExecuteNonQuery(query); } catch (Exception) { return false; } return true; }
private static void ReaderExport(BindingList<Invoice> invDS, string outDir) { var readerItems = new List<ReaderItem>(); int storeNr = 1; foreach (var inv in invDS) { bool nextStore = true; string strStore = storeNr.ToString(); var orderNr = Common.ModifyOrderNumber(inv.OrderNumber); if (inv.Cancelled) { strStore = "Cancelled"; nextStore = false; } foreach (var invItem in inv.InvoiceItems) { if (invItem.PairCode == "shipping") continue; // ulozenie zaznamu pre citacku ReaderItem readerItem = new ReaderItem(); readerItem.OrderNr = orderNr; if (!string.IsNullOrEmpty(invItem.PairCode)) readerItem.SKU = invItem.PairCode.Replace("/", ""); else readerItem.SKU = invItem.invSKU; if (!inv.Cancelled && invItem.PairProduct != null && invItem.PairProduct.State == StockItemState.Waiting) { strStore = "Waiting"; nextStore = false; if (!string.IsNullOrEmpty(invItem.PairProduct.WaitingOrderNum)) readerItem.OrderNr = invItem.PairProduct.WaitingOrderNum; } else if (!inv.Cancelled && !inv.Equipped && invItem.PairProduct == null) { strStore = "Non paired"; nextStore = false; } readerItem.StoreNr = strStore; readerItem.Name = invItem.Parent.CustomerName; if (invItem.MSG_SKU != null) readerItem.ProdName = invItem.MSG_SKU.Trim(); /*Fix popisWEB*/ //if (invItem.Parent.fromFile != null && invItem.Parent.fromFile.PopisWEB) if ((invItem.Parent.fromFile != null || invItem.Parent.fromFile.ToString() != "CHYBA_FAKTURA!!!") && invItem.Parent.fromFile.PopisWEB) if (invItem.Parent.fromFile.PopisWEB) { //readerItem.ProdName = string.Empty;// TOTO neviem načo je? vymazať a potom iba možna vyplniť? radšej nechám staré ak by sa nedoplnilo nič if (invItem.ItemName != null) readerItem.ProdName = invItem.ItemName.Trim(); } if (invItem.itemOptions != null) readerItem.Size = invItem.ItemOptions.Replace(";", ",").Trim(); readerItem.Valid = 1; readerItem.Note = inv.Note; DBProvider.InsertReaderItem(readerItem); readerItems.Add(readerItem); } if (nextStore) storeNr++; // dalsia faktura pojde do dalsieho policka } StringBuilder readerStrings = new StringBuilder(); readerStrings.AppendFormat("Store number;Order number;SKU;Customer name;Product name;Size;Note{0}", Environment.NewLine); foreach (var item in readerItems) { readerStrings.AppendFormat("{0};{1};{2};{3};{4};{5};{6}{7}", item.StoreNr, item.OrderNr, item.SKU, item.Name, item.ProdName, item.Size, item.Note, Environment.NewLine); } File.WriteAllText(outDir + "reader_" + DateTime.Now.ToString("yyyyMMdd_hhmmss") + ".csv", readerStrings.ToString()); }