Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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;
        }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
        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());
        }