Example #1
0
 public void Add(long xDocInvoice_ID,object xusrc_Item,Item_Data xItemData,decimal xFactoryQuantity, decimal xStockQuantity,  ref Atom_DocInvoice_ShopC_Item_Price_Stock_Data appisd, bool b_from_factory)
 {
     foreach (Atom_DocInvoice_ShopC_Item_Price_Stock_Data appisdx in m_DocInvoice_ShopC_Item_Data_LIST)
     {
         if (appisdx.Item_ID.v == xItemData.Item_ID.v)
         {
             appisdx.m_ShopShelf_Source.Add_Stock_Data(xItemData, xFactoryQuantity, xStockQuantity, b_from_factory);
             appisd = appisdx;
             return;
         }
     }
     appisd = new Atom_DocInvoice_ShopC_Item_Price_Stock_Data();
     appisd.Set(xusrc_Item, xItemData, xDocInvoice_ID, xFactoryQuantity, xStockQuantity, b_from_factory);
     m_DocInvoice_ShopC_Item_Data_LIST.Add(appisd);
 }
Example #2
0
 public bool Insert_DocInvoice_Atom_Price_Items_Stock(string DocInvoice,ref Atom_DocInvoice_ShopC_Item_Price_Stock_Data appisd, bool b_from_stock
                                                             )
 {
     return Get_DocInvoice_ShopC_Item(DocInvoice,ref appisd, b_from_stock);
 }
Example #3
0
        private bool Get_Atom_Item(ref Atom_DocInvoice_ShopC_Item_Price_Stock_Data appisd)
        {
            string Err = null;
            string sAtom_Item_Name_ID = null;
            long Atom_Item_Name_ID = -1;
            if (Get_Atom_Item_Name(appisd.Atom_Item_Name_Name, ref Atom_Item_Name_ID))
            {
                if (Atom_Item_Name_ID >= 0)
                {

                    sAtom_Item_Name_ID = Atom_Item_Name_ID.ToString();

                    string sAtom_Unit_ID = null;
                    long Atom_Unit_ID = -1;

                    if (Get_Atom_Unit_ID(appisd, ref Atom_Unit_ID))
                    {

                        if (Atom_Unit_ID >= 0)
                        {
                            string scond_UniqueName = null;
                            string sv_UniqueName = null;

                            List<DBConnectionControl40.SQL_Parameter> lpar = new List<DBConnectionControl40.SQL_Parameter>();
                            string spar_UniqueName = "@par_UniqueName";
                            DBConnectionControl40.SQL_Parameter par_UniqueName = new DBConnectionControl40.SQL_Parameter(spar_UniqueName, DBConnectionControl40.SQL_Parameter.eSQL_Parameter.Nvarchar, false, appisd.Atom_Item_UniqueName.v);
                            lpar.Add(par_UniqueName);
                            scond_UniqueName = "(UniqueName = @par_UniqueName)";
                            sv_UniqueName = spar_UniqueName;

                            sAtom_Unit_ID = Atom_Unit_ID.ToString();
                            long Atom_Item_barcode_ID = -1;
                            string scond_Atom_Item_barcode_ID = null;
                            string sv_Atom_Item_barcode_ID = null;
                            if (Get_Atom_Item_barcode(appisd.Atom_Item_barcode_barcode, ref Atom_Item_barcode_ID, ref Err))
                            {
                                if (Atom_Item_barcode_ID >= 0)
                                {
                                    scond_Atom_Item_barcode_ID = "(Atom_Item_barcode_ID = " + Atom_Item_barcode_ID.ToString() + ")";
                                    sv_Atom_Item_barcode_ID = Atom_Item_barcode_ID.ToString();
                                }
                                else
                                {
                                    scond_Atom_Item_barcode_ID = "(Atom_Item_barcode_ID is null)";
                                    sv_Atom_Item_barcode_ID = "null";
                                }
                            }
                            long Atom_Item_Description_ID = -1;
                            string scond_Atom_Item_Description_ID = null;
                            string sv_Atom_Item_Description_ID = null;
                            if (Get_Atom_Item_Description(appisd.Atom_Item_Description_Description, ref Atom_Item_Description_ID, ref Err))
                            {
                                if (Atom_Item_Description_ID >= 0)
                                {
                                    scond_Atom_Item_Description_ID = "(Atom_Item_Description_ID = " + Atom_Item_Description_ID.ToString() + ")";
                                    sv_Atom_Item_Description_ID = Atom_Item_Description_ID.ToString();
                                }
                                else
                                {
                                    scond_Atom_Item_Description_ID = "(Atom_Item_Description_ID is null)";
                                    sv_Atom_Item_Description_ID = "null";
                                }
                            }

                            long Atom_Expiry_ID = -1;
                            string scond_Atom_Expiry_ID = null;
                            string sv_Atom_Expiry_ID = null;
                            if (appisd.Atom_Expiry_ExpectedShelfLifeInDays != null)
                            {
                                if (Get_Atom_Expiry(appisd.Atom_Expiry_ExpectedShelfLifeInDays,
                                                    appisd.Atom_Expiry_SaleBeforeExpiryDateInDays,
                                                    appisd.Atom_Expiry_DiscardBeforeExpiryDateInDays,
                                                    appisd.Atom_Expiry_ExpiryDescription,
                                                   ref Atom_Expiry_ID, ref Err))
                                {
                                    scond_Atom_Expiry_ID = "(Atom_Expiry_ID = " + Atom_Expiry_ID.ToString() + ")";
                                    sv_Atom_Expiry_ID = Atom_Expiry_ID.ToString();
                                }
                                else
                                {
                                    return false;
                                }
                            }
                            else
                            {
                                scond_Atom_Expiry_ID = "(Atom_Expiry_ID is null)";
                                sv_Atom_Expiry_ID = "null";
                            }

                            long Atom_Item_Atom_Warranty_ID = -1;
                            string scond_Atom_Warranty_ID = null;
                            string sv_Atom_Warranty_ID = null;
                            if (appisd.Atom_Warranty_ID != null)
                            {
                                if (Get_Atom_Warranty(appisd.Atom_Warranty_WarrantyDurationType, appisd.Atom_Warranty_WarrantyDuration, appisd.Atom_Warranty_WarrantyConditions, ref Atom_Item_Atom_Warranty_ID, ref Err))
                                {
                                    scond_Atom_Warranty_ID = "(Atom_Warranty_ID = " + Atom_Item_Atom_Warranty_ID.ToString() + ")";
                                    sv_Atom_Warranty_ID = Atom_Item_Atom_Warranty_ID.ToString();

                                }
                                else
                                {
                                    return false;
                                }
                            }
                            else
                            {
                                scond_Atom_Warranty_ID = "(Atom_Warranty_ID is null)";
                                sv_Atom_Warranty_ID = "null";

                            }

                            string sql = @"select ID as Atom_Item_ID from Atom_Item
                                                            where
                                                           " + scond_UniqueName + @" and
                                                           Atom_Item_Name_ID = " + Atom_Item_Name_ID.ToString() + @" and
                                                           Atom_Unit_ID = " + sAtom_Unit_ID + @" and
                                                           " + scond_Atom_Item_barcode_ID + @" and
                                                           " + scond_Atom_Item_Description_ID + @" and
                                                           " + scond_Atom_Warranty_ID + @" and
                                                           " + scond_Atom_Expiry_ID;

                            DataTable dt = new DataTable();

                            if (DBSync.DBSync.ReadDataTable(ref dt, sql, lpar, ref Err))
                            {
                                if (dt.Rows.Count > 0)
                                {
                                    if (appisd.Atom_Item_ID == null)
                                    {
                                        appisd.Atom_Item_ID = new long_v();
                                    }
                                    appisd.Atom_Item_ID.v = (long)dt.Rows[0]["Atom_Item_ID"];
                                    return true;
                                }
                                else
                                {
                                    sql = @"insert into Atom_Item
                                            (
                                                UniqueName,
                                                Atom_Item_Name_ID,
                                                Atom_Unit_ID,
                                                Atom_Item_barcode_ID,
                                                Atom_Item_Description_ID,
                                                Atom_Warranty_ID,
                                                Atom_Expiry_ID
                                            )   values("
                                            + sv_UniqueName + ",\r\n"
                                            + Atom_Item_Name_ID.ToString() + ",\r\n"
                                            + sAtom_Unit_ID + ",\r\n"
                                            + sv_Atom_Item_barcode_ID + ",\r\n"
                                            + sv_Atom_Item_Description_ID + ",\r\n"
                                            + sv_Atom_Warranty_ID + ",\r\n"
                                            + sv_Atom_Expiry_ID
                                            + ")";

                                    object objret = null;
                                    long Atom_Item_ID = -1;
                                    if (DBSync.DBSync.ExecuteNonQuerySQLReturnID(sql, lpar, ref Atom_Item_ID, ref objret, ref Err, DBtcn.stbl_Atom_Item_TableName))
                                    {
                                        if (appisd.Atom_Item_ID == null)
                                        {
                                            appisd.Atom_Item_ID = new long_v();
                                        }
                                        appisd.Atom_Item_ID.v = Atom_Item_ID;
                                        return true;
                                    }
                                    else
                                    {
                                        LogFile.Error.Show("ERROR:Get_Atom_Item:insert into Atom_Item failed!\r\nErr=" + Err);
                                        return false;
                                    }
                                }
                            }
                            else
                            {

                                LogFile.Error.Show("ERROR:Get_Atom_Item:select ID as Atom_Item_ID from Atom_Item failed!\r\nErr=" + Err);
                                return false;
                            }
                        }
                        else
                        {
                            LogFile.Error.Show("ERROR:Get_Atom_Item:Atom_Unit_ID not found!");
                            return false;
                        }
                    }
                    else
                    {
                        return false;
                    }
                }
                else
                {
                    LogFile.Error.Show("ERROR:No Atom_Item_Name_ID !");
                    return false;
                }
            }
            else
            {
                return false;
            }
        }
Example #4
0
        private bool Get_DocInvoice_ShopC_Item(string DocInvoice,ref Atom_DocInvoice_ShopC_Item_Price_Stock_Data appisd, bool b_from_stock)
        {
            long Atom_Price_Item_ID = -1;
            if (Get_Atom_Price_Item(ref appisd))
            {
                List<SQL_Parameter> lpar = new List<SQL_Parameter>();
                int decimal_places = GlobalData.Get_BaseCurrency_DecimalPlaces();
                Atom_Price_Item_ID = appisd.Atom_Price_Item_ID.v;

                string spar_ExtraDiscount = "@par_ExtraDiscount";
                SQL_Parameter par_ExtraDiscount = new SQL_Parameter(spar_ExtraDiscount, SQL_Parameter.eSQL_Parameter.Decimal, false, appisd.ExtraDiscount.v);

                decimal dQuantity_from_factory = appisd.m_ShopShelf_Source.dQuantity_from_factory;
                decimal dQuantity_from_stock = appisd.m_ShopShelf_Source.dQuantity_from_stock;

                string spar_RetailPriceWithDiscount = "@par_RetailPriceWithDiscount";
                string spar_TaxPrice = "@par_TaxPrice";
                string spar_dQuantity = "@par_dQuantity";

                foreach (Stock_Data stock_data in appisd.m_ShopShelf_Source.Stock_Data_List)
                {
                    if (b_from_stock)
                    {
                        if (stock_data.Stock_ID == null)
                        {
                            continue;
                        }
                    }
                    else
                    {
                        if (stock_data.Stock_ID != null)
                        {
                            continue;
                        }
                    }
                    decimal RetailPriceWithDiscount = 0;

                    decimal TaxPrice = 0;

                    decimal RetailPriceWithDiscount_WithoutTax = 0;

                    lpar.Clear();
                    lpar.Add(par_ExtraDiscount);
                    long_v Stock_ID = stock_data.Stock_ID;

                    string scond_Stock_ID = null;
                    string sValue_Stock_ID = null;
                    if (Stock_ID != null)
                    {
                        decimal dquantity = stock_data.dQuantity.v;
                        StaticLib.Func.CalculatePrice(appisd.RetailPricePerUnit.v, dquantity, appisd.Discount.v, appisd.ExtraDiscount.v, appisd.Atom_Taxation_Rate.v, ref RetailPriceWithDiscount, ref TaxPrice, ref RetailPriceWithDiscount_WithoutTax, decimal_places);
                        SQL_Parameter par_dQuantity = null;
                        par_dQuantity = new SQL_Parameter(spar_dQuantity, SQL_Parameter.eSQL_Parameter.Decimal, false, dquantity);
                        lpar.Add(par_dQuantity);
                        scond_Stock_ID = "(Stock_ID = " + Stock_ID.v.ToString() + ")";
                        sValue_Stock_ID = Stock_ID.v.ToString();
                        SQL_Parameter par_RetailPriceWithDiscount = new SQL_Parameter(spar_RetailPriceWithDiscount, SQL_Parameter.eSQL_Parameter.Decimal, false, RetailPriceWithDiscount);
                        lpar.Add(par_RetailPriceWithDiscount);
                        SQL_Parameter par_TaxPrice = new SQL_Parameter(spar_TaxPrice, SQL_Parameter.eSQL_Parameter.Decimal, false, TaxPrice);
                        lpar.Add(par_TaxPrice);
                    }
                    else
                    {
                        StaticLib.Func.CalculatePrice(appisd.RetailPricePerUnit.v, dQuantity_from_factory, appisd.Discount.v, appisd.ExtraDiscount.v, appisd.Atom_Taxation_Rate.v, ref RetailPriceWithDiscount, ref TaxPrice, ref RetailPriceWithDiscount_WithoutTax, decimal_places);
                        SQL_Parameter par_dQuantity = null;
                        par_dQuantity = new SQL_Parameter(spar_dQuantity, SQL_Parameter.eSQL_Parameter.Decimal, false, dQuantity_from_factory);
                        lpar.Add(par_dQuantity);
                        SQL_Parameter par_RetailPriceWithDiscount = new SQL_Parameter(spar_RetailPriceWithDiscount, SQL_Parameter.eSQL_Parameter.Decimal, false, RetailPriceWithDiscount);
                        lpar.Add(par_RetailPriceWithDiscount);
                        SQL_Parameter par_TaxPrice = new SQL_Parameter(spar_TaxPrice, SQL_Parameter.eSQL_Parameter.Decimal, false, TaxPrice);
                        lpar.Add(par_TaxPrice);
                        scond_Stock_ID = "(Stock_ID is null)";
                        sValue_Stock_ID = "null";
                    }

                    string spar_ExpiryDate = "@par_ExpiryDate";

                    string scond_ExpiryDate = null;

                    string sValue_ExpiryDate = null;
                    if (stock_data.Stock_ExpiryDate != null)
                    {
                        SQL_Parameter par_ExpiryDate = new SQL_Parameter(spar_ExpiryDate, SQL_Parameter.eSQL_Parameter.Datetime, false, stock_data.Stock_ExpiryDate.v);
                        lpar.Add(par_ExpiryDate);
                        scond_ExpiryDate = "(ExpiryDate = " + spar_ExpiryDate + ")";
                        sValue_ExpiryDate = spar_ExpiryDate;
                    }
                    else
                    {
                        scond_ExpiryDate = "(ExpiryDate is null)";
                        sValue_ExpiryDate = "null";
                    }

                    if (DocInvoice==null)
                    {
                        LogFile.Error.Show("ERROR:TangentaDB:CurrentInvoice.cs:Get_DocInvoice_ShopC_Item:DocInvoice==null.");
                        return false;
                    }

                    string sql_select_DocInvoice_ShopC_Item_ID = @"select ID as "+DocInvoice+@"_ShopC_Item_ID,
                                                                    dQuantity,
                                                                    ExtraDiscount,
                                                                    RetailPriceWithDiscount,
                                                                    TaxPrice
                                                                    from "+DocInvoice+@"_ShopC_Item
                                                                    where "+DocInvoice+@"_ID = " + Doc_ID.ToString() + @" and
                                                                            Atom_Price_Item_ID = " + Atom_Price_Item_ID.ToString() + @" and "
                                                                                    + scond_ExpiryDate + @" and "
                                                                                    + scond_Stock_ID;
                    DataTable dt = new DataTable();
                    string Err = null;
                    if (DBSync.DBSync.ReadDataTable(ref dt, sql_select_DocInvoice_ShopC_Item_ID, lpar, ref Err))
                    {
                        if (dt.Rows.Count > 0)
                        {
                            appisd.DocInvoice_ShopC_Item_ID = tf.set_long(dt.Rows[0][DocInvoice+"_ShopC_Item_ID"]);
                            // appisd.dQuantity_all.v = appisd.m_Warehouse.dQuantity_all;
                            appisd.RetailPriceWithDiscount = tf.set_decimal(dt.Rows[0]["RetailPriceWithDiscount"]);
                            appisd.ExtraDiscount = tf.set_decimal(dt.Rows[0]["ExtraDiscount"]);
                            appisd.TaxPrice = tf.set_decimal(dt.Rows[0]["TaxPrice"]);
                            //$$TODO  pias.Stock_ID = long_v.Copy(pis.Stock_ID);
                            return true;
                        }
                        else
                        {

                            string sql_insert_DocInvoice_ShopC_Item_ID = @"insert into "+DocInvoice+@"_ShopC_Item
                                                                            (
                                                                            dQuantity,
                                                                            ExtraDiscount,
                                                                            RetailPriceWithDiscount,
                                                                            TaxPrice,
                                                                            "+DocInvoice+@"_ID,
                                                                            Atom_Price_Item_ID,
                                                                            ExpiryDate,
                                                                            Stock_ID
                                                                            )
                                                                            values
                                                                            (
                                                                            " + spar_dQuantity + @",
                                                                            " + spar_ExtraDiscount + @",
                                                                            " + spar_RetailPriceWithDiscount + @",
                                                                            " + spar_TaxPrice + @",
                                                                            " + Doc_ID.ToString() + @",
                                                                            " + Atom_Price_Item_ID.ToString() + @",
                                                                            " + sValue_ExpiryDate + @",
                                                                            " + sValue_Stock_ID
                                                                                    + ")";
                            object objret = null;
                            long DocInvoice_ShopC_Item_ID = -1;
                            if (DBSync.DBSync.ExecuteNonQuerySQLReturnID(sql_insert_DocInvoice_ShopC_Item_ID, lpar, ref DocInvoice_ShopC_Item_ID, ref objret, ref Err, DocInvoice))
                            {
                                appisd.DocInvoice_ShopC_Item_ID = tf.set_long(DocInvoice_ShopC_Item_ID);

                                if (Stock_ID != null)
                                {
                                    stock_data.Remove_from_StockShelf();
                                }
                            }
                            else
                            {
                                LogFile.Error.Show("ERROR:Get_DocInvoice_ShopC_Item:sql="+ sql_insert_DocInvoice_ShopC_Item_ID + " failed!\r\nErr=" + Err);
                                return false;
                            }
                        }
                    }
                    else
                    {
                        LogFile.Error.Show("ERROR:Get_DocInvoice_ShopC_Item:sql="+ sql_select_DocInvoice_ShopC_Item_ID+" failed!\r\nErr=" + Err);
                        return false;
                    }

                } // foreach
                return true;
            }
            else
            {
                return false;
            }
        }
Example #5
0
        bool Get_Atom_Warranty(short_v Warranty_WarrantyDurationType,
                              int_v Warranty_WarrantyDuration,
                              string_v Warranty_WarrantyConditions,
                              ref Atom_DocInvoice_ShopC_Item_Price_Stock_Data pias,
                              ref long Atom_Warranty_ID, ref string Err)
        {
            string scond_WarrantyDurationType = null;
            string sv_WarrantyDurationType = null;
            List<DBConnectionControl40.SQL_Parameter> lpar = new List<DBConnectionControl40.SQL_Parameter>();
            if (Warranty_WarrantyDurationType != null)
            {
                string spar_WarrantyDurationType = "@par_WarrantyDurationType";
                DBConnectionControl40.SQL_Parameter par_WarrantyDurationType = new DBConnectionControl40.SQL_Parameter(spar_WarrantyDurationType, DBConnectionControl40.SQL_Parameter.eSQL_Parameter.Smallint, false, Warranty_WarrantyDurationType.v);
                lpar.Add(par_WarrantyDurationType);
                scond_WarrantyDurationType = "(WarrantyDurationType = " + spar_WarrantyDurationType + ")";
                sv_WarrantyDurationType = spar_WarrantyDurationType;
            }
            else
            {
                scond_WarrantyDurationType = "(WarrantyDurationType is null)";
                sv_WarrantyDurationType = "null";
            }

            string scond_WarrantyDuration = null;
            string sv_WarrantyDuration = null;
            if (Warranty_WarrantyDuration != null)
            {
                string spar_WarrantyDuration = "@par_WarrantyDuration";
                DBConnectionControl40.SQL_Parameter par_WarrantyDuration = new DBConnectionControl40.SQL_Parameter(spar_WarrantyDuration, DBConnectionControl40.SQL_Parameter.eSQL_Parameter.Int, false, Warranty_WarrantyDuration.v);
                lpar.Add(par_WarrantyDuration);
                scond_WarrantyDuration = "(WarrantyDuration = " + spar_WarrantyDuration + ")";
                sv_WarrantyDuration = spar_WarrantyDuration;
            }
            else
            {
                scond_WarrantyDuration = "(WarrantyDuration is null)";
                sv_WarrantyDuration = "null";
            }

            string scond_WarrantyConditions = null;
            string sv_WarrantyConditions = null;
            if (Warranty_WarrantyConditions != null)
            {
                string spar_WarrantyConditions = "@par_WarrantyConditions";
                DBConnectionControl40.SQL_Parameter par_WarrantyConditions = new DBConnectionControl40.SQL_Parameter(spar_WarrantyConditions, DBConnectionControl40.SQL_Parameter.eSQL_Parameter.Varchar, false, Warranty_WarrantyConditions.v);
                lpar.Add(par_WarrantyConditions);
                scond_WarrantyConditions = "(WarrantyConditions = " + spar_WarrantyConditions + ")";
                sv_WarrantyConditions = spar_WarrantyConditions;
            }
            else
            {
                scond_WarrantyConditions = "(WarrantyConditions is null)";
                sv_WarrantyConditions = "null";
            }

            string sql_select_Atom_Warranty_ID = @"select ID as Atom_Warranty_ID from Atom_Warranty where " + scond_WarrantyDurationType + " and " + scond_WarrantyDuration + " and " + scond_WarrantyConditions;

            DataTable dt = new DataTable();
            if (DBSync.DBSync.ReadDataTable(ref dt, sql_select_Atom_Warranty_ID, lpar, ref Err))
            {
                if (dt.Rows.Count > 0)
                {
                    Atom_Warranty_ID = (long)dt.Rows[0]["Atom_Warranty_ID"];
                    return true;
                }
                else
                {
                    string sql_Insert_Atom_Warranty = @"insert into Atom_Warranty (WarrantyDurationType, WarrantyDuration, WarrantyConditions)values(" + sv_WarrantyDurationType + "," + sv_WarrantyDuration + "," + sv_WarrantyConditions + ")";
                    object objret = null;
                    if (DBSync.DBSync.ExecuteNonQuerySQLReturnID(sql_Insert_Atom_Warranty, lpar, ref Atom_Warranty_ID, ref objret, ref Err, DBtcn.stbl_Atom_Warranty_TableName))
                    {
                        return true;
                    }
                    else
                    {
                        LogFile.Error.Show("ERROR:Get_Atom_Warranty:insert into Atom_Warranty failed!\r\nErr=" + Err);
                        return false;
                    }
                }
            }
            else
            {
                LogFile.Error.Show("ERROR:Get_Atom_Warranty:select ID as Atom_Warranty_ID from Atom_Warranty failed!\r\nErr=" + Err);
                return false;
            }
        }
Example #6
0
        private bool Get_Atom_Unit_ID(Atom_DocInvoice_ShopC_Item_Price_Stock_Data appisd, ref long Atom_Unit_ID)
        {
            string Err = null;
            string scond_Unit_Name = null;
            string sv_Unit_Name = null;
            List<DBConnectionControl40.SQL_Parameter> lpar = new List<DBConnectionControl40.SQL_Parameter>();
            if (appisd.Atom_Unit_Name != null)
            {
                string spar_Unit_Name = "@par_Unit_Name";
                DBConnectionControl40.SQL_Parameter par_Unit_Name = new DBConnectionControl40.SQL_Parameter(spar_Unit_Name, DBConnectionControl40.SQL_Parameter.eSQL_Parameter.Nvarchar, false, appisd.Atom_Unit_Name.v);
                lpar.Add(par_Unit_Name);
                scond_Unit_Name = "(Name = " + spar_Unit_Name + ")";
                sv_Unit_Name = spar_Unit_Name;
            }
            else
            {
                scond_Unit_Name = "(Name is null)";
                sv_Unit_Name = "null";
            }

            string scond_Unit_Symbol = null;
            string sv_Unit_Symbol = null;
            if (appisd.Atom_Unit_Symbol != null)
            {
                string spar_Unit_Symbol = "@par_Unit_Symbol";
                DBConnectionControl40.SQL_Parameter par_Unit_Symbol = new DBConnectionControl40.SQL_Parameter(spar_Unit_Symbol, DBConnectionControl40.SQL_Parameter.eSQL_Parameter.Nvarchar, false, appisd.Atom_Unit_Symbol.v);
                lpar.Add(par_Unit_Symbol);
                scond_Unit_Symbol = "(Symbol = " + spar_Unit_Symbol + ")";
                sv_Unit_Symbol = spar_Unit_Symbol;
            }
            else
            {
                scond_Unit_Symbol = "(Symbol is null)";
                sv_Unit_Symbol = "null";
            }

            string scond_Unit_DecimalPlaces = null;
            string sv_Unit_DecimalPlaces = null;
            if (appisd.Atom_Unit_DecimalPlaces != null)
            {
                string spar_Unit_DecimalPlaces = "@par_Unit_DecimalPlaces";
                DBConnectionControl40.SQL_Parameter par_DiscardBeforeExpiryDateInDays = new DBConnectionControl40.SQL_Parameter(spar_Unit_DecimalPlaces, DBConnectionControl40.SQL_Parameter.eSQL_Parameter.Smallint, false, appisd.Atom_Unit_DecimalPlaces.v);
                lpar.Add(par_DiscardBeforeExpiryDateInDays);
                scond_Unit_DecimalPlaces = "(DecimalPlaces = " + spar_Unit_DecimalPlaces + ")";
                sv_Unit_DecimalPlaces = spar_Unit_DecimalPlaces;
            }
            else
            {
                scond_Unit_DecimalPlaces = "(DecimalPlaces is null)";
                sv_Unit_DecimalPlaces = "null";
            }

            string scond_Unit_StorageOption = null;
            string sv_Unit_StorageOption = null;
            if (appisd.Atom_Unit_StorageOption != null)
            {
                string spar_ExpiryDescription = "@par_StorageOption";
                DBConnectionControl40.SQL_Parameter par_ExpiryDescription = new DBConnectionControl40.SQL_Parameter(spar_ExpiryDescription, DBConnectionControl40.SQL_Parameter.eSQL_Parameter.Bit, false, appisd.Atom_Unit_StorageOption.v);
                lpar.Add(par_ExpiryDescription);
                scond_Unit_StorageOption = "(StorageOption = " + spar_ExpiryDescription + ")";
                sv_Unit_StorageOption = spar_ExpiryDescription;
            }
            else
            {
                scond_Unit_StorageOption = "(StorageOption is null)";
                sv_Unit_StorageOption = "null";
            }

            string scond_Unit_Description = null;
            string sv_Unit_Description = null;
            if (appisd.Atom_Unit_Description != null)
            {
                string spar_Unit_Description = "@par_Unit_Description";
                DBConnectionControl40.SQL_Parameter par_Unit_Description = new DBConnectionControl40.SQL_Parameter(spar_Unit_Description, DBConnectionControl40.SQL_Parameter.eSQL_Parameter.Nvarchar, false, appisd.Atom_Unit_Description.v);
                lpar.Add(par_Unit_Description);
                scond_Unit_Description = "(Description = " + spar_Unit_Description + ")";
                sv_Unit_Description = spar_Unit_Description;
            }
            else
            {
                scond_Unit_Description = "(Description is null)";
                sv_Unit_Description = "null";
            }
            string sql_select_Atom_Unit_ID = @"select ID as Atom_Unit_ID from Atom_Unit where " + scond_Unit_Name + " and "
                                                                                                   + scond_Unit_Symbol + " and "
                                                                                                   + scond_Unit_DecimalPlaces + " and "
                                                                                                   + scond_Unit_StorageOption + " and "
                                                                                                   + scond_Unit_Description;

            DataTable dt = new DataTable();
            if (DBSync.DBSync.ReadDataTable(ref dt, sql_select_Atom_Unit_ID, lpar, ref Err))
            {
                if (dt.Rows.Count > 0)
                {
                    Atom_Unit_ID = (long)dt.Rows[0]["Atom_Unit_ID"];
                    return true;
                }
                else
                {
                    string sql_Insert_Atom_Unit = @"insert into Atom_Unit (Name,
                                                                                             Symbol,
                                                                                             DecimalPlaces,
                                                                                             StorageOption,
                                                                                             Description
                                                                                            )
                                                                                            values
                                                                                            ("
                                                                                             + sv_Unit_Name + ","
                                                                                             + sv_Unit_Symbol + ","
                                                                                             + sv_Unit_DecimalPlaces + ","
                                                                                             + sv_Unit_StorageOption + ","
                                                                                             + sv_Unit_Description
                                                                                            + ")";
                    object objret = null;
                    if (DBSync.DBSync.ExecuteNonQuerySQLReturnID(sql_Insert_Atom_Unit, lpar, ref Atom_Unit_ID, ref objret, ref Err, "Atom_Unit"))
                    {
                        return true;
                    }
                    else
                    {
                        LogFile.Error.Show("ERROR:Get_Atom_Unit_ID:insert into Atom_Unit failed!\r\nErr=" + Err);
                        return false;
                    }
                }
            }
            else
            {
                LogFile.Error.Show("ERROR:Get_Atom_Unit_ID:select ID as Atom_Unit_ID from Atom_Unit failed!\r\nErr=" + Err);
                return false;
            }
        }
Example #7
0
        private bool Get_Atom_Price_Item(ref Atom_DocInvoice_ShopC_Item_Price_Stock_Data appisd)
        {
            long Atom_Taxation_ID = -1;
            if (Get_Atom_Taxation_ID(appisd.Atom_Taxation_Name, appisd.Atom_Taxation_Rate, ref Atom_Taxation_ID))
            {
                if (Atom_Taxation_ID >= 0)
                {
                    string scond_Atom_Taxation_ID = " Atom_Taxation_ID = " + Atom_Taxation_ID.ToString();
                    if (Get_Atom_Item(ref appisd))
                    {
                        string scond_Atom_Item_ID = " Atom_Item_ID = " + appisd.Atom_Item_ID.v.ToString();
                        long Atom_PriceList_ID = -1;
                        if (f_Atom_PriceList.Get(ref appisd, ref Atom_PriceList_ID))
                        {
                            if (Atom_PriceList_ID >= 0)
                            {
                                long Atom_Item_Image_ID = -1;
                                Get_Atom_Item_Image(appisd.Atom_Item_ID.v, appisd.Atom_Item_Image_Hash, appisd.Atom_Item_Image_Data, ref Atom_Item_Image_ID);

                                string scond_Atom_PriceList_ID = " Atom_PriceList_ID = " + Atom_PriceList_ID.ToString();

                                List<DBConnectionControl40.SQL_Parameter> lpar = new List<DBConnectionControl40.SQL_Parameter>();

                                string spar_RetailPricePerUnit = "@par_RetailPricePerUnit";
                                DBConnectionControl40.SQL_Parameter par_RetailPricePerUnit = new DBConnectionControl40.SQL_Parameter(spar_RetailPricePerUnit, DBConnectionControl40.SQL_Parameter.eSQL_Parameter.Decimal, false, appisd.RetailPricePerUnit.v);
                                lpar.Add(par_RetailPricePerUnit);

                                string spar_Discount = "@par_Discount";
                                DBConnectionControl40.SQL_Parameter par_Discount = new DBConnectionControl40.SQL_Parameter(spar_Discount, DBConnectionControl40.SQL_Parameter.eSQL_Parameter.Decimal, false, appisd.Discount.v);
                                lpar.Add(par_Discount);

                                string sql = @"select ID as Atom_Price_Item_ID
                                                      from Atom_Price_Item
                                                            where
                                                           RetailPricePerUnit = " + spar_RetailPricePerUnit + @" and
                                                           Discount = " + spar_Discount + @" and
                                                           " + scond_Atom_Taxation_ID + @" and
                                                           " + scond_Atom_Item_ID + @" and
                                                           " + scond_Atom_PriceList_ID;

                                DataTable dt = new DataTable();
                                string Err = null;
                                if (DBSync.DBSync.ReadDataTable(ref dt, sql, lpar, ref Err))
                                {
                                    if (dt.Rows.Count > 0)
                                    {
                                        appisd.Atom_Price_Item_ID = tf.set_long(dt.Rows[0]["Atom_Price_Item_ID"]);
                                        //if (appisd.Discount == null)
                                        //{
                                        //    appisd.Discount = new decimal_v();
                                        //}
                                        return true;
                                    }
                                    else
                                    {

                                        sql = @"insert into Atom_Price_Item
                                                                (RetailPricePerUnit,
                                                                 Discount,
                                                                 Atom_Taxation_ID,
                                                                 Atom_Item_ID,
                                                                 Atom_PriceList_ID
                                                                )   values("
                                                                              + spar_RetailPricePerUnit + ",\r\n"
                                                                              + spar_Discount + ",\r\n"
                                                                              + Atom_Taxation_ID.ToString() + ",\r\n"
                                                                              + appisd.Atom_Item_ID.v.ToString() + ",\r\n"
                                                                              + Atom_PriceList_ID.ToString()
                                                                              + ")";

                                        object objret = null;
                                        long Atom_Price_Item_ID = -1;
                                        if (DBSync.DBSync.ExecuteNonQuerySQLReturnID(sql, lpar, ref Atom_Price_Item_ID, ref objret, ref Err, "Atom_Price_Item"))
                                        {
                                            appisd.Atom_Price_Item_ID = tf.set_long(Atom_Price_Item_ID);
                                            //if (appisd.Discount == null)
                                            //{
                                            //    appisd.Discount = new decimal_v();
                                            //}
                                            //appisd.Discount.v = pis.PriceList_Item_Discount.v;
                                            return true;
                                        }
                                        else
                                        {
                                            LogFile.Error.Show("ERROR:CurrentInvoice:Get_Atom_Price_Item:sql=" + sql + "\r\nErr=" + Err);
                                            return false;
                                        }
                                    }
                                }
                                else
                                {
                                    LogFile.Error.Show("ERROR:CurrentInvoice:Get_Atom_Price_Item:sql=" + sql + "\r\nErr=" + Err);
                                    return false;
                                }

                            }
                            else
                            {
                                LogFile.Error.Show("ERROR:CurrentInvoice:Get_Atom_Price_Item:No Atom_PriceList_ID is not defined !");
                                return false;
                            }
                        }
                        else
                        {
                            return false;
                        }
                    }
                    else
                    {
                        return false;
                    }
                }
                else
                {
                    LogFile.Error.Show("ERROR:CurrentInvoice:Get_Atom_Price_Item:No Atom_Item_Taxation_ID is not defined !");
                    return false;
                }
            }
            else
            {
                return false;
            }
        }
Example #8
0
 public int GetIndex(Atom_DocInvoice_ShopC_Item_Price_Stock_Data appisd)
 {
     foreach (object o in items)
     {
         if (((Item_Data)o).Item_UniqueName.v.Equals(appisd.Atom_Item_UniqueName.v))
         {
             int index = items.IndexOf(o);
             return index;
         }
     }
     return -1;
 }
Example #9
0
        public bool Init(TangentaDB.ShopABC x_InvoiceDB, long x_Atom_Item_ID)
        {
            m_InvoiceDB = x_InvoiceDB;
            m_Atom_Item_ID = x_Atom_Item_ID;
            String Err = null;
            string scond = " and "+ m_InvoiceDB.DocInvoice+ "_ShopC_Item.dQuantity > 0";
            if (m_InvoiceDB.Read_DocInvoice_Atom_Item_Stock_Table(m_InvoiceDB.m_CurrentInvoice.Doc_ID, m_Atom_Item_ID, ref dt_DocInvoice_Atom_Item_Stock_view, scond,ref Err))
            {
                if (dt_DocInvoice_Atom_Item_Stock_view.Rows.Count > 0)
                {
                    dgv_DocInvoice_Atom_Item_Stock.DataSource = dt_DocInvoice_Atom_Item_Stock_view;
                    DBSync.DBSync.DB_for_Tangenta.t_DocInvoice_ShopC_Item.SetView_DataGridViewImageColumns_Headers((DataGridView)dgv_DocInvoice_Atom_Item_Stock);
                    foreach (DataGridViewColumn c in dgv_DocInvoice_Atom_Item_Stock.Columns)
                    {
                        c.Visible = false;
                    }
                    dgv_DocInvoice_Atom_Item_Stock.Columns["Stock_ID"].Visible = true;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["Stock_ID"].DisplayIndex = 0;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["Stock_ID"].HeaderText = lngRPM.s_Stock_ID.s;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["dQuantity"].Visible = true;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["dQuantity"].DisplayIndex = 1;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["dQuantity"].HeaderText = lngRPM.s_Quantity.s;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["ExpiryDate"].Visible = true;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["ExpiryDate"].DisplayIndex = 2;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["ExpiryDate"].HeaderText = lngRPM.s_ExpiryDate.s;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["Stock_dQuantity"].Visible = true;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["Stock_dQuantity"].DisplayIndex = 3;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["Stock_dQuantity"].HeaderText = lngRPM.s_Stock_dQuantity.s;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["PurchasePricePerUnit"].Visible = true;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["PurchasePricePerUnit"].DisplayIndex = 4;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["PurchasePricePerUnit"].HeaderText = lngRPM.s_PurchasePricePerUnit.s;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["RetailPricePerUnit"].Visible = true;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["RetailPricePerUnit"].DisplayIndex = 5;
                    dgv_DocInvoice_Atom_Item_Stock.Columns["RetailPricePerUnit"].HeaderText = lngRPM.s_RetailPricePerUnit.s;

                    int iCol_Stock_ExpiryDate =dt_DocInvoice_Atom_Item_Stock_view.Columns.IndexOf("Stock_ExpiryDate");
                    int iCol_ExpiryDate = dt_DocInvoice_Atom_Item_Stock_view.Columns.IndexOf("ExpiryDate");
                    int iCount = dt_DocInvoice_Atom_Item_Stock_view.Rows.Count;
                    for (int i =0;i<iCount;i++)
                    {
                        DataRow dria = dt_DocInvoice_Atom_Item_Stock_view.Rows[i];

                        Atom_DocInvoice_ShopC_Item_Price_Stock_Data appisd = new Atom_DocInvoice_ShopC_Item_Price_Stock_Data();
                        appisd.Set(m_InvoiceDB.DocInvoice, dria,ref appisd_List);

                        if (dria[iCol_Stock_ExpiryDate] is DateTime)
                        {
                            dria[iCol_ExpiryDate] = dria[iCol_Stock_ExpiryDate];
                        }
                    }
                    Atom_DocInvoice_ShopC_Item_Price_Stock_Data xappisd= (Atom_DocInvoice_ShopC_Item_Price_Stock_Data)appisd_List[0];
                    this.txt_Atom_Item_Name.Text = xappisd.Atom_Item_Name_Name.v;
                    if (xappisd.Atom_Item_Description_Description != null)
                    {
                        this.txt_V_Atom_Item_Description.Text = xappisd.Atom_Item_Description_Description.v;
                    }
                    else
                    {
                        this.txt_V_Atom_Item_Description.Text = "";
                        txt_V_Atom_Item_Description.BackColor = Color_null;

                    }
                    decimal FromFactory_Count_sum = 0;
                    decimal FromStock_Count_sum = 0;
                    decimal CountAll = 0;

                    FromFactory_Count_sum = xappisd.m_ShopShelf_Source.dQuantity_from_factory;
                    FromStock_Count_sum = xappisd.m_ShopShelf_Source.dQuantity_from_stock;
                    CountAll = FromFactory_Count_sum + FromStock_Count_sum;

                    this.txt_V_FromFactory.Text = FromFactory_Count_sum.ToString();
                    this.txt_V_FromStock.Text = FromStock_Count_sum.ToString();
                    this.lbl_V_Quantity.Text = CountAll.ToString();

                    if (xappisd.Atom_Expiry_ExpiryDescription != null)
                    {
                        this.txt_V_ExpiryDescription.Text = xappisd.Atom_Expiry_ExpiryDescription.v;
                    }
                    else
                    {
                        this.txt_V_ExpiryDescription.Text = "";
                        txt_V_ExpiryDescription.BackColor = Color_null;
                    }

                    if (xappisd.Atom_Warranty_WarrantyConditions != null)
                    {
                        this.txt_V_WarrantyConditions.Text = xappisd.Atom_Warranty_WarrantyConditions.v;
                    }
                    else
                    {
                        this.txt_V_WarrantyConditions.Text = "";
                        txt_V_WarrantyConditions.BackColor = Color_null;
                    }

                    if (xappisd.Atom_Expiry_ID != null)
                    {
                        chk_V_NeverExpires.Checked = true;
                        chk_V_NeverExpires.Enabled = true;
                    }
                    else
                    {
                        chk_V_NeverExpires.BackColor = Color_null;
                        chk_V_NeverExpires.Checked = false;
                        chk_V_NeverExpires.Enabled = false;
                    }

                    if (xappisd.Atom_Warranty_ID != null)
                    {
                        chk_V_Warranty.Enabled = true;
                        chk_V_Warranty.Checked = true;
                    }
                    else
                    {
                        chk_V_Warranty.BackColor = Color_null;
                        chk_V_Warranty.Enabled = false;
                        chk_V_Warranty.Checked = false;
                    }

                    if ((xappisd.Atom_Warranty_WarrantyDurationType != null) && (xappisd.Atom_Warranty_WarrantyDuration != null))
                    {
                        this.lbl_V_WarantyDuration.Text = m_InvoiceDB.SetWarrantyDurationText(xappisd.Atom_Warranty_WarrantyDurationType.v, xappisd.Atom_Warranty_WarrantyDuration.v);
                    }
                    else
                    {
                        this.lbl_V_WarantyDuration.Text = "";
                        lbl_V_WarantyDuration.BackColor = Color_null;
                    }

                    if (xappisd.Atom_Expiry_ExpectedShelfLifeInDays != null)
                    {
                        this.lbl_V_ExpectedShelfLifeInDays.Text = xappisd.Atom_Expiry_ExpectedShelfLifeInDays.v.ToString();
                    }
                    else
                    {
                        this.lbl_V_ExpectedShelfLifeInDays.Text = "";
                        lbl_V_ExpectedShelfLifeInDays.BackColor = Color_null;
                    }

                    if (xappisd.Atom_Expiry_SaleBeforeExpiryDateInDays != null)
                    {
                        this.lbl_V_SaleBeforeExpiryDateInDays.Text = xappisd.Atom_Expiry_SaleBeforeExpiryDateInDays.v.ToString();
                    }
                    else
                    {
                        this.lbl_V_SaleBeforeExpiryDateInDays.Text = "";
                        lbl_V_SaleBeforeExpiryDateInDays.BackColor = Color_null;
                    }

                    if (xappisd.Atom_Expiry_DiscardBeforeExpiryDateInDays != null)
                    {
                        this.lbl_V_DiscardBeforeExpiryDateInDays.Text = xappisd.Atom_Expiry_DiscardBeforeExpiryDateInDays.v.ToString();
                    }
                    else
                    {
                        this.lbl_V_DiscardBeforeExpiryDateInDays.Text = "";
                        lbl_V_DiscardBeforeExpiryDateInDays.BackColor = Color_null;
                    }

                    if (xappisd.Atom_Taxation_Name != null)
                    {
                        this.lbl_V_Taxation_Name.Text = xappisd.Atom_Taxation_Name.v;
                    }
                    else
                    {
                        this.lbl_V_Taxation_Name.Text = "";
                        lbl_V_Taxation_Name.BackColor = Color_null;
                    }

                    if (xappisd.Atom_Taxation_Rate != null)
                    {
                        this.lbl_V_Taxation_Rate.Text = (xappisd.Atom_Taxation_Rate.v * 100).ToString() + "%";
                    }
                    else
                    {
                        this.lbl_V_Taxation_Rate.Text = "";
                        lbl_V_Taxation_Rate.BackColor = Color_null;
                    }

                    if (xappisd.Atom_Item_barcode_barcode != null)
                    {
                        this.txt_barcode_value.Text = xappisd.Atom_Item_barcode_barcode.v;
                    }
                    else
                    {
                        this.txt_barcode_value.Text = "";
                        this.txt_barcode_value.BackColor = Color_null;
                    }

                    //Price
                    decimal RetailPricePerUnit = -1;
                    if (xappisd.RetailPricePerUnit != null)
                    {
                        lbl_V_RetailPricePerUnit.Text = xappisd.RetailPricePerUnit.v.ToString();
                        RetailPricePerUnit = xappisd.RetailPricePerUnit.v;
                    }
                    else
                    {
                        lbl_V_RetailPricePerUnit.Text = "";
                        lbl_V_RetailPricePerUnit.BackColor = Color_null;

                    }
                    decimal RetailPrice = -1;
                    if (RetailPricePerUnit>=0)
                    {
                        RetailPrice = RetailPricePerUnit*CountAll;
                    }

                    decimal discount = 0;
                    if (xappisd.Discount != null)
                    {
                        discount = xappisd.Discount.v;
                        lbl_V_Discount.Text = (discount * 100).ToString() + "%";
                    }
                    else
                    {
                        lbl_V_Discount.Text = "";
                        lbl_V_Discount.BackColor = Color_null;
                    }

                    decimal RetailPriceWithDiscount = -1;
                    if (RetailPrice >= 0)
                    {
                        RetailPriceWithDiscount = RetailPrice * (1- discount);
                        lbl_V_RetailPriceWithDiscount.Text = RetailPriceWithDiscount.ToString();
                    }
                    else
                    {
                        lbl_V_RetailPriceWithDiscount.Text = "";
                        lbl_V_RetailPriceWithDiscount.BackColor = Color_null;
                    }

                    decimal TaxPrice = -1;
                    decimal TaxPricePerUnit = -1;
                    if (xappisd.TaxPrice != null)
                    {
                        TaxPricePerUnit = xappisd.TaxPrice.v;
                    }

                    if (TaxPricePerUnit >= 0)
                    {
                        TaxPrice = TaxPricePerUnit * CountAll;
                        lbl_V_TaxPrice.Text = TaxPrice.ToString();
                    }
                    else
                    {
                        lbl_V_TaxPrice.Text = "";
                        lbl_V_TaxPrice.BackColor = Color_null;
                    }

                    decimal NetPrice = -1;
                    if ((RetailPriceWithDiscount >= 0) && (TaxPrice >= 0))
                    {
                        NetPrice = RetailPriceWithDiscount - TaxPrice;
                        lbl_V_NetPrice.Text = NetPrice.ToString();
                    }
                    else
                    {
                        lbl_V_NetPrice.Text = "";
                        lbl_V_NetPrice.BackColor = Color_null;
                    }

                    string sql_get_image = "select Atom_Item_ImageLib.Image_Data from Atom_Item_ImageLib inner join Atom_Item_Image on Atom_Item_Image.Atom_Item_ImageLib_ID = Atom_Item_ImageLib.ID where Atom_Item_Image.Atom_Item_ID = " + xappisd.Atom_Item_ID.v.ToString();
                    DataTable dt = new DataTable();
                    if (DBSync.DBSync.ReadDataTable(ref dt, sql_get_image, null, ref Err))
                    {
                        if (dt.Rows.Count > 0)
                        {
                            ImageConverter ic = new ImageConverter();
                            byte[] image_bytes = (byte[])dt.Rows[0]["Image_Data"];
                            this.pic_Atom_Item.Image = (Image)ic.ConvertFrom(image_bytes);
                        }
                    }
                    return true;
                }
                else
                {
                    LogFile.Error.Show("ERROR:usrc_Atom_Item_View:Init:No Atom_Item data for Atom_Item_ID = " + m_Atom_Item_ID.ToString());
                    return false;
                }
            }
            else
            {
                LogFile.Error.Show("ERROR:Atom_Item_ViewForm_Load:Err=" + Err);
                return false;

            }
        }
Example #10
0
        private void RemoveStock_from_list(Atom_DocInvoice_ShopC_Item_Price_Stock_Data appisd)
        {
            List<Stock_Data> Stock_Data_to_remove_List = new List<Stock_Data>();
            foreach (Stock_Data sd in appisd.m_ShopShelf_Source.Stock_Data_List)
            {
                if (sd.Stock_ID != null)
                {
                    Stock_Data_to_remove_List.Add(sd);
                }
            }

            foreach (Stock_Data sd in Stock_Data_to_remove_List)
            {
                appisd.m_ShopShelf_Source.Stock_Data_List.Remove(sd);
            }

            if (appisd.m_ShopShelf_Source.Stock_Data_List.Count == 0)
            {
                this.m_DocInvoice_ShopC_Item_Data_LIST.Remove(appisd);
            }
        }
Example #11
0
        public bool Remove_and_put_back_to_ShopShelf(string DocInvoice,Atom_DocInvoice_ShopC_Item_Price_Stock_Data appisd, ShopShelf shopShelf)
        {
            if (DocInvoice==null)
            {
                LogFile.Error.Show("ERROR:TangentaDB:Basket.cs:Basket:Remove_and_put_back_to_ShopShelf: DocInvoice==null.");
                return false;
            }
            string sql = @"select appis.ID,
                                  s.ID as Stock_ID,
                                  appis.dQuantity,
                                  s.dQuantity as Stock_dQuantity
                                  from "+DocInvoice+@"_ShopC_Item  appis
                                  inner join Stock s on appis.Stock_ID = s.ID
                                  inner join Atom_price_item api on api.ID = appis.Atom_price_item_ID
                                  inner join Atom_Item ai on ai.ID = api.Atom_Item_ID
                                  inner join Item i on i.UniqueName = ai.UniqueName
                                  where  ("+DocInvoice+@"_ID = " + appisd.DocInvoice_ID.v.ToString() + ") and (i.ID=" + appisd.Item_ID.v.ToString() + ")";
            DataTable dt1 = new DataTable();
            string Err = null;
            if (DBSync.DBSync.ReadDataTable(ref dt1, sql, ref Err))
            {
                string s_in_ID_list = null;
                if (dt1.Rows.Count > 0)
                {
                    List<SQL_Parameter> lpar = new List<SQL_Parameter>();
                    List<Return_to_shop_shelf_data> Return_to_basket_data_List = new List<Return_to_shop_shelf_data>();
                    int i = 0;
                    foreach (DataRow dr in dt1.Rows)
                    {
                        decimal dQuantity_stock = (decimal)dr["Stock_dQuantity"];
                        decimal dQuantity_New_InStock = (decimal)dr["dQuantity"] + dQuantity_stock;
                        decimal dQuantity_diff = dQuantity_New_InStock - dQuantity_stock;

                        string spar_dQuantity_New_InStock = "@par_dQuantity_New_InStock" + i.ToString();
                        long stock_id = (long)dr["Stock_ID"];
                        SQL_Parameter par_dQuantity_New_InStock = new SQL_Parameter(spar_dQuantity_New_InStock, SQL_Parameter.eSQL_Parameter.Decimal, false, dQuantity_New_InStock);
                        lpar.Add(par_dQuantity_New_InStock);
                        Return_to_shop_shelf_data rtb = new Return_to_shop_shelf_data("update stock set dQuantity = " + spar_dQuantity_New_InStock + " where ID = " + stock_id.ToString(), stock_id, dQuantity_diff);
                        Return_to_basket_data_List.Add(rtb);
                        long id = (long)dr["ID"];
                        if (s_in_ID_list == null)
                        {
                            s_in_ID_list += "(" + id.ToString();
                        }
                        else
                        {
                            s_in_ID_list += "," + id.ToString();
                        }
                        i++;
                        shopShelf.Set_dQuantity_New_InStock(stock_id, dQuantity_New_InStock);
                    }
                    s_in_ID_list += ")";
                    object objret = null;
                    if (UpdateStock(Return_to_basket_data_List, lpar))
                    {

                        string sql_Delete_DocInvoice_Atom_Item_Stock = "delete from "+DocInvoice+@"_ShopC_Item where Stock_ID is not null and ("+DocInvoice+@"_ID = " + appisd.DocInvoice_ID.v.ToString()
                                                                            + ") and "+DocInvoice+@"_ShopC_Item.ID in " + s_in_ID_list;
                        if (DBSync.DBSync.ExecuteNonQuerySQL(sql_Delete_DocInvoice_Atom_Item_Stock, null, ref objret, ref Err))
                        {
                            string sql_Delete_Atom_Price_Item = "delete from Atom_Price_Item where ID not in  (select Atom_Price_Item_ID from DocInvoice_ShopC_Item UNION select Atom_Price_Item_ID from DocProformaInvoice_ShopC_Item)";
                            if (DBSync.DBSync.ExecuteNonQuerySQL(sql_Delete_Atom_Price_Item, null, ref objret, ref Err))
                            {
                                string sql_Delete_Atom_Item_Image = "delete from Atom_Item_Image where Atom_Item_Image.Atom_Item_ID not in (select Atom_Item_ID from Atom_Price_Item)";
                                if (DBSync.DBSync.ExecuteNonQuerySQL(sql_Delete_Atom_Item_Image, null, ref objret, ref Err))
                                {
                                    string sql_Delete_Atom_Item_ImageLib = "delete from Atom_Item_ImageLib where ID not in (select Atom_Item_ImageLib_ID from Atom_Item_Image)";
                                    if (DBSync.DBSync.ExecuteNonQuerySQL(sql_Delete_Atom_Item_ImageLib, null, ref objret, ref Err))
                                    {
                                        RemoveStock_from_list(appisd);
                                        return true;
                                    }
                                    else
                                    {
                                        LogFile.Error.Show("ERROR:Basket:sql=" + sql_Delete_Atom_Item_ImageLib + "\r\nErr=" + Err);
                                        return false;
                                    }
                                }
                                else
                                {
                                    LogFile.Error.Show("ERROR:Basket:delete from Atom_Item:Err=" + Err);
                                    return false;
                                }
                            }
                            else
                            {
                                LogFile.Error.Show("ERROR:Basket:sql=" + sql_Delete_Atom_Price_Item + "\r\nErr=" + Err);
                                return false;
                            }

                        }
                        else
                        {
                            LogFile.Error.Show("ERROR:Basket:delete from "+DocInvoice+"_ShopC_Item:Err=" + Err);
                            return false;
                        }
                    }
                    else
                    {
                        return false;
                    }
                }
                else
                {
                    LogFile.Error.Show("ERROR:Basket:dt1.Rows.Count == 0 !");
                    return false;
                }
            }
            else
            {
                LogFile.Error.Show("ERROR:Basket:sql=" + sql + "\r\nErr=" + Err);
                return false;
            }
        }
Example #12
0
        public bool RemoveFactory(string DocInvoice,Atom_DocInvoice_ShopC_Item_Price_Stock_Data appisd)
        {
            string sql = null;

            if (DocInvoice==null)
            {
                LogFile.Error.Show("ERROR:Basket.cs:Basket:RemoveFactory:DocInvoice= null not implemented.");
                return false;
            }
            else if (DocInvoice.Equals("DocInvoice"))
            {
                sql = @"select appis.ID from DocInvoice_ShopC_Item  appis
                                  inner join Atom_price_item api on api.ID = appis.Atom_price_item_ID
                                  inner join Atom_Item ai on ai.ID = api.Atom_Item_ID
                                  inner join Item i on i.UniqueName = ai.UniqueName
                                  where  (DocInvoice_ID = " + appisd.DocInvoice_ID.v.ToString() + ") and (i.ID=" + appisd.Item_ID.v.ToString() + ") and Stock_ID is null";
            }
            else if (DocInvoice.Equals("DocProformaInvoice"))
            {
                sql = @"select appis.ID from DocProformaInvoice_ShopC_Item  appis
                                  inner join Atom_price_item api on api.ID = appis.Atom_price_item_ID
                                  inner join Atom_Item ai on ai.ID = api.Atom_Item_ID
                                  inner join Item i on i.UniqueName = ai.UniqueName
                                  where  (DocProformaInvoice_ID = " + appisd.DocInvoice_ID.v.ToString() + ") and (i.ID=" + appisd.Item_ID.v.ToString() + ") and Stock_ID is null";
            }
            else
            {
                LogFile.Error.Show("ERROR:Basket.cs:Basket:RemoveFactory:DocInvoice=" + DocInvoice + " not implemented.");
                return false;
            }

            DataTable dt1 = new DataTable();
            string Err = null;
            if (DBSync.DBSync.ReadDataTable(ref dt1, sql, ref Err))
            {
                string s_in_ID_list = null;
                if (dt1.Rows.Count > 0)
                {
                    foreach (DataRow dr in dt1.Rows)
                    {
                        long id = (long)dr["ID"];
                        if (s_in_ID_list == null)
                        {
                            s_in_ID_list += "(" + id.ToString();
                        }
                        else
                        {
                            s_in_ID_list += "," + id.ToString();
                        }
                        s_in_ID_list += ")";
                    }

                    string sql_Delete_DocInvoice_Atom_Item_Stock = null;
                    if (DocInvoice.Equals("DocInvoice"))
                    {
                        sql_Delete_DocInvoice_Atom_Item_Stock = "delete from DocInvoice_ShopC_Item where Stock_ID is null and (DocInvoice_ID = " + appisd.DocInvoice_ID.v.ToString()
                                                                        + ") and DocInvoice_ShopC_Item.ID in " + s_in_ID_list;
                    }
                    else if (DocInvoice.Equals("DocProformaInvoice"))
                    {
                        sql_Delete_DocInvoice_Atom_Item_Stock = "delete from DocProformaInvoice_ShopC_Item where Stock_ID is null and (DocProformaInvoice_ID = " + appisd.DocInvoice_ID.v.ToString()
                                                                        + ") and DocProformaInvoice_ShopC_Item.ID in " + s_in_ID_list;
                    }
                    else
                    {
                        LogFile.Error.Show("ERROR:Basket.cs:Basket:RemoveFactory:DocInvoice=" + DocInvoice + " not implemented.");
                        return false;
                    }

                    object objret = null;
                    if (DBSync.DBSync.ExecuteNonQuerySQL(sql_Delete_DocInvoice_Atom_Item_Stock, null, ref objret, ref Err))
                    {
                        string sql_Delete_Atom_Price_Item = "delete from Atom_Price_Item where ID not in  (select Atom_Price_Item_ID from DocInvoice_ShopC_Item UNION select Atom_Price_Item_ID from DocProformaInvoice_ShopC_Item)";
                        if (DBSync.DBSync.ExecuteNonQuerySQL(sql_Delete_Atom_Price_Item, null, ref objret, ref Err))
                        {
                            string sql_Delete_Atom_Item_Image = "delete from Atom_Item_Image where Atom_Item_Image.Atom_Item_ID not in (select Atom_Item_ID from Atom_Price_Item)";
                            if (DBSync.DBSync.ExecuteNonQuerySQL(sql_Delete_Atom_Item_Image, null, ref objret, ref Err))
                            {
                                string sql_Delete_Atom_Item_ImageLib = "delete from Atom_Item_ImageLib where ID not in (select Atom_Item_ImageLib_ID from Atom_Item_Image)";
                                if (DBSync.DBSync.ExecuteNonQuerySQL(sql_Delete_Atom_Item_ImageLib, null, ref objret, ref Err))
                                {
                                    RemoveFactory_from_list(appisd);
                                    return true;
                                }
                                else
                                {
                                    LogFile.Error.Show("ERROR:Basket:sql=" + sql_Delete_Atom_Item_ImageLib + "\r\nErr=" + Err);
                                    return false;
                                }
                            }
                            else
                            {
                                LogFile.Error.Show("ERROR:Basket:delete from Atom_Item:Err=" + Err);
                                return false;
                            }
                        }
                        else
                        {
                            LogFile.Error.Show("ERROR:Basket:sql=" + sql_Delete_Atom_Price_Item + "\r\nErr=" + Err);
                            return false;
                        }

                    }
                    else
                    {
                        LogFile.Error.Show("ERROR:Basket:delete from DocInvoice_ShopC_Item:Err=" + Err);
                        return false;
                    }
                }
                else
                {
                    LogFile.Error.Show("ERROR:Basket:dt1.Rows.Count == 0 !");
                    return false;
                }
            }
            else
            {
                LogFile.Error.Show("ERROR:Basket:sql=" + sql + "\r\nErr=" + Err);
                return false;
            }
        }
Example #13
0
 public void Parse_Atom_DocInvoice_Item_Stock(string DocInvoice,DataTable xdtDraft_DocInvoice_Atom_Item_Stock, ref List<object> xDocInvoice_ShopC_Item_Data_LIST)
 {
     int i = 0;
     int iCount = xdtDraft_DocInvoice_Atom_Item_Stock.Rows.Count;
     for (i = 0; i < iCount; i++)
     {
         Atom_DocInvoice_ShopC_Item_Price_Stock_Data appisd = new Atom_DocInvoice_ShopC_Item_Price_Stock_Data();
         appisd.Set(DocInvoice, xdtDraft_DocInvoice_Atom_Item_Stock.Rows[i],ref xDocInvoice_ShopC_Item_Data_LIST);
     }
 }
Example #14
0
        public static bool Get(ref Atom_DocInvoice_ShopC_Item_Price_Stock_Data appisd, ref long Atom_PriceList_ID)
        {
            string Err = null;
            if (appisd.Atom_PriceList_Name != null)
            {
                List<SQL_Parameter> lpar = new List<SQL_Parameter>();
                string spar_Atom_PriceList_Name = "@par_Atom_PriceList_Name";
                SQL_Parameter par_Atom_PriceList_Name = new SQL_Parameter(spar_Atom_PriceList_Name, SQL_Parameter.eSQL_Parameter.Nvarchar, false, appisd.Atom_PriceList_Name.v);
                lpar.Add(par_Atom_PriceList_Name);

                string spar_Atom_Currency_Abbreviation = "@par_Atom_Currency_Abbreviation";
                SQL_Parameter par_Atom_Currency_Abbreviation = new SQL_Parameter(spar_Atom_Currency_Abbreviation, SQL_Parameter.eSQL_Parameter.Nvarchar, false, appisd.Atom_Currency_Abbreviation.v);
                lpar.Add(par_Atom_Currency_Abbreviation);

                string spar_Atom_Currency_Name = "@par_Atom_Currency_Name";
                SQL_Parameter par_Atom_Currency_Name = new SQL_Parameter(spar_Atom_Currency_Name, SQL_Parameter.eSQL_Parameter.Nvarchar, false, appisd.Atom_Currency_Name.v);
                lpar.Add(par_Atom_Currency_Name);

                DataTable dt = new DataTable();
                string sql = @"select Atom_PriceList.ID
                            from Atom_PriceList
                            inner join Atom_Currency on Atom_PriceList.Atom_Currency_ID = Atom_Currency.ID
                            where Atom_PriceList.Name = " + spar_Atom_PriceList_Name + " and  Atom_Currency.Name = " + spar_Atom_Currency_Name + " and  Atom_Currency.Abbreviation = " + spar_Atom_Currency_Abbreviation;

                if (DBSync.DBSync.ReadDataTable(ref dt, sql, lpar, ref Err))
                {
                    if (dt.Rows.Count > 0)
                    {
                        Atom_PriceList_ID = (long)dt.Rows[0]["ID"];
                        return true;
                    }
                    else
                    {
                        sql = @"select PriceList.ID
                                      from PriceList
                                      inner join Currency on PriceList.Currency_ID = Currency.ID
                                      where PriceList.Name = " + spar_Atom_PriceList_Name + " and  Currency.Name = " + spar_Atom_Currency_Name + " and  Currency.Abbreviation = " + spar_Atom_Currency_Abbreviation;
                        dt.Clear();
                        dt.Rows.Clear();
                        dt.Columns.Clear();
                        if (DBSync.DBSync.ReadDataTable(ref dt, sql, lpar, ref Err))
                        {
                            if (dt.Rows.Count > 0)
                            {
                                long PriceList_ID = (long)dt.Rows[0]["ID"];
                                xPriceList m_xPriceList = new xPriceList();
                                sql = "select Currency_ID from PriceList where PriceList.ID = " + PriceList_ID.ToString();
                                dt.Clear();
                                if (DBSync.DBSync.ReadDataTable(ref dt, sql, null, ref Err))
                                {
                                    if (dt.Rows.Count > 0)
                                    {
                                        long Currency_ID = (long)dt.Rows[0]["Currency_ID"];
                                        long Atom_Currency_ID = -1;
                                        if (f_Atom_Currency.Get(Currency_ID, ref Atom_Currency_ID))
                                        {
                                            sql = "insert into Atom_PriceList (Name,Valid,ValidFrom,ValidTo,Description,Atom_Currency_ID) select Name,Valid,ValidFrom,ValidTo,Description," + Atom_Currency_ID.ToString() + " from PriceList where ID = " + PriceList_ID.ToString();

                                            object objretx = null;
                                            if (DBSync.DBSync.ExecuteNonQuerySQLReturnID(sql, null, ref Atom_PriceList_ID, ref objretx, ref Err, "Atom_PriceList"))
                                            {
                                                return true;
                                            }
                                            else
                                            {
                                                LogFile.Error.Show("ERROR:f_Atom_PriceList:Get:" + sql + "\r\nErr=" + Err);
                                                return false;
                                            }
                                        }
                                        else
                                        {
                                            return false;
                                        }
                                    }
                                    else
                                    {
                                        LogFile.Error.Show("ERROR:f_Atom_PriceList:PriceList has no Currency!\r\nsql=" + sql);
                                        return false;
                                    }
                                }
                                else
                                {
                                    LogFile.Error.Show("ERROR:f_Atom_PriceList:Get:" + sql + "\r\nErr=" + Err);
                                    return false;
                                }
                            }
                            else
                            {
                                LogFile.Error.Show("ERROR:f_Atom_PriceList:PriceList has no data!\r\nsql=" + sql);
                                return false;
                            }
                        }
                        else
                        {
                            LogFile.Error.Show("ERROR:f_Atom_PriceList:Get:" + sql + "\r\nErr=" + Err);
                            return false;
                        }
                    }
                }
                else
                {
                    LogFile.Error.Show("ERROR:f_Atom_PriceList:Get:" + sql + "\r\nErr=" + Err);
                    return false;
                }

            }
            else
            {
                LogFile.Error.Show("ERROR:f_Atom_PriceList:Get:appisd.Atom_PriceList_Name==null");
                return false;
            }
        }