Example #1
0
        private void Set()
        {
            items.Clear();
            foreach (DataRow dr in dt_Price_Item_Stock.Rows)
            {
                Item_Data xItem_Data = new Item_Data();
                xItem_Data.Set_Price_Item_Stock(dr);
                if (dr[m_cpis.icol_Item_ID] is long)
                {
                    long item_id = (long)dr[m_cpis.icol_Item_ID];
                    if (ExistingItem(item_id, xItem_Data))
                    {
                        continue;
                    }
                    else
                    {
                        Stock_Data stock_data = new Stock_Data();
                        if (xItem_Data.Stock_ID != null)
                        {
                            stock_data.Stock_ID = new DBTypes.long_v();
                            stock_data.Stock_ID.v = xItem_Data.Stock_ID.v;
                        }
                        else
                        {
                            stock_data.Stock_ID = null;
                        }

                        if (xItem_Data.Stock_ImportTime != null)
                        {
                            stock_data.Stock_ImportTime = new DBTypes.DateTime_v();
                            stock_data.Stock_ImportTime.v = xItem_Data.Stock_ImportTime.v;
                        }
                        else
                        {
                            stock_data.Stock_ImportTime = null;
                        }

                        if (xItem_Data.Stock_ExpiryDate != null)
                        {
                            stock_data.Stock_ExpiryDate = new DBTypes.DateTime_v();
                            stock_data.Stock_ExpiryDate.v = xItem_Data.Stock_ExpiryDate.v;
                        }
                        else
                        {
                            stock_data.Stock_ExpiryDate = null;
                        }

                        if (xItem_Data.Stock_dQuantity != null)
                        {
                            stock_data.dQuantity = new DBTypes.decimal_v();
                            stock_data.dQuantity.v = xItem_Data.Stock_dQuantity.v;
                        }
                        else
                        {
                            stock_data.dQuantity = null;
                        }
                        xItem_Data.Stock_Data_List.Add(stock_data);
                        items.Add(xItem_Data);
                    }
                }
                else
                {
                    LogFile.Error.Show("ERROR:ShopShelf:Set:dr[m_cpis.icol_Item_ID] is not long !");
                }
            }
        }
Example #2
0
        private bool ExistingItem(long item_id, Item_Data xItem_Data)
        {
            foreach (object o in items)
            {
                Item_Data idata = (Item_Data)o;
                if (idata.Item_ID != null)
                {
                    if (idata.Item_ID.v == item_id)
                    {
                        Stock_Data stock_data = new Stock_Data();
                        if (xItem_Data.Stock_ID != null)
                        {
                            stock_data.Stock_ID = new DBTypes.long_v();
                            stock_data.Stock_ID.v = xItem_Data.Stock_ID.v;
                        }
                        else
                        {
                            stock_data.Stock_ID = null;
                        }

                        if (xItem_Data.Stock_ImportTime != null)
                        {
                            stock_data.Stock_ImportTime = new DBTypes.DateTime_v();
                            stock_data.Stock_ImportTime.v = xItem_Data.Stock_ImportTime.v;
                        }
                        else
                        {
                            stock_data.Stock_ImportTime = null;
                        }

                        if (xItem_Data.Stock_ExpiryDate != null)
                        {
                            stock_data.Stock_ExpiryDate = new DBTypes.DateTime_v();
                            stock_data.Stock_ExpiryDate.v = xItem_Data.Stock_ExpiryDate.v;
                        }
                        else
                        {
                            stock_data.Stock_ExpiryDate = null;
                        }

                        if (xItem_Data.Stock_dQuantity != null)
                        {
                            stock_data.dQuantity = new DBTypes.decimal_v();
                            stock_data.dQuantity.v = xItem_Data.Stock_dQuantity.v;
                        }
                        else
                        {
                            stock_data.dQuantity = null;
                        }
                        idata.Stock_Data_List.Add(stock_data);
                        return true;
                    }
                }
            }
            return false;
        }
        public void Set(string DocInvoice, DataRow dria,
                            ref List<object> DocInvoice_ShopC_Item_Data_list)
        {
            Stock_Data stock_data = null;
            int i = 0;
            int iCount = DocInvoice_ShopC_Item_Data_list.Count;
            Atom_Item_ID = tf.set_long(dria["Atom_Item_ID"]);

            if (Atom_Item_ID != null)
            {
                for (i = 0; i < iCount; i++)
                {
                    if (((Atom_DocInvoice_ShopC_Item_Price_Stock_Data)DocInvoice_ShopC_Item_Data_list[i]).Atom_Item_ID.v == Atom_Item_ID.v)
                    {
                        stock_data = new Stock_Data();
                        stock_data.Set(dria);
                        ((Atom_DocInvoice_ShopC_Item_Price_Stock_Data)DocInvoice_ShopC_Item_Data_list[i]).m_ShopShelf_Source.Stock_Data_List.Add(stock_data);
                        return;
                    }
                }

                m_ShopShelf_Source.Clear();
                DocInvoice_ShopC_Item_ID = tf.set_long(dria[DocInvoice+"_ShopC_Item_ID"]);
                DocInvoice_ID = tf.set_long(dria[DocInvoice+"_ID"]);
                Atom_Price_Item_ID = tf.set_long(dria["Atom_Price_Item_ID"]);
                dQuantity_all = tf.set_decimal(dria["dQuantity"]);
                RetailPricePerUnit = tf.set_decimal(dria["RetailPricePerUnit"]);
                Discount = tf.set_decimal(dria["Discount"]);
                RetailPriceWithDiscount = tf.set_decimal(dria["RetailPriceWithDiscount"]);
                TaxPrice = tf.set_decimal(dria["TaxPrice"]);
                ExtraDiscount = tf.set_decimal(dria["ExtraDiscount"]);
                //dQuantity = tf.set_decimal(dria["dQuantity"]);
                Atom_Item_UniqueName = tf.set_string(dria["Atom_Item_UniqueName"]);
                Atom_Item_Name_Name = tf.set_string(dria["Atom_Item_Name_Name"]);
                Atom_Item_barcode_barcode = tf.set_string(dria["Atom_Item_barcode_barcode"]);
                Atom_Taxation_Name = tf.set_string(dria["Atom_Taxation_Name"]);
                Atom_Taxation_Rate = tf.set_decimal(dria["Atom_Taxation_Rate"]);
                Atom_Item_Description_Description = tf.set_string(dria["Atom_Item_Description_Description"]);
                Atom_Warranty_ID = tf.set_long(dria["Atom_Warranty_ID"]);
                Atom_Warranty_WarrantyDurationType = tf.set_short(dria["Atom_Warranty_WarrantyDurationType"]);
                Atom_Warranty_WarrantyDuration = tf.set_int(dria["Atom_Warranty_WarrantyDuration"]);
                Atom_Warranty_WarrantyConditions = tf.set_string(dria["Atom_Warranty_WarrantyConditions"]);
                Atom_Expiry_ID = tf.set_long(dria["Atom_Expiry_ID"]);
                Atom_Expiry_ExpectedShelfLifeInDays = tf.set_int(dria["Atom_Expiry_ExpectedShelfLifeInDays"]);
                Atom_Expiry_SaleBeforeExpiryDateInDays = tf.set_int(dria["Atom_Expiry_SaleBeforeExpiryDateInDays"]);
                Atom_Expiry_DiscardBeforeExpiryDateInDays = tf.set_int(dria["Atom_Expiry_DiscardBeforeExpiryDateInDays"]);
                Atom_Expiry_ExpiryDescription = tf.set_string(dria["Atom_Expiry_ExpiryDescription"]);
                Item_ID = tf.set_long(dria["Item_ID"]);
                Atom_Unit_Name = tf.set_string(dria["Atom_Unit_Name"]);
                Atom_Unit_Symbol = tf.set_string(dria["Atom_Unit_Symbol"]);
                Atom_Unit_DecimalPlaces = tf.set_int(dria["Atom_Unit_DecimalPlaces"]);
                Atom_Unit_Description = tf.set_string(dria["Atom_Unit_Description"]);
                Atom_Unit_StorageOption = tf.set_bool(dria["Atom_Unit_StorageOption"]);
                Atom_PriceList_Name = tf.set_string(dria["Atom_PriceList_Name"]);
                Atom_Currency_Name = tf.set_string(dria["Atom_Currency_Name"]);
                Atom_Currency_Abbreviation = tf.set_string(dria["Atom_Currency_Abbreviation"]);
                Atom_Currency_Symbol = tf.set_string(dria["Atom_Currency_Symbol"]);
                Atom_Currency_DecimalPlaces = tf.set_int(dria["Atom_Currency_DecimalPlaces"]);
                Atom_Item_Image_Hash = tf.set_string(dria["Atom_Item_Image_Hash"]);
                Atom_Item_Image_Data = tf.set_byte_array(dria["Atom_Item_Image_Data"]);
                if (dria["s1_name"] is string)
                {
                    s1_name = (string)dria["s1_name"];
                }
                if (dria["s2_name"] is string)
                {
                    s2_name = (string)dria["s2_name"];
                }
                if (dria["s3_name"] is string)
                {
                    s3_name = (string)dria["s3_name"];
                }

                stock_data = new Stock_Data();
                stock_data.Set(dria);
                m_ShopShelf_Source.Stock_Data_List.Add(stock_data);

                DocInvoice_ShopC_Item_Data_list.Add(this);
            }
            else
            {
                LogFile.Error.Show("ERROR:DocInvoice_ShopC_Item_Data:Set(DataRow dria,..):Atom_Item_ID == null");
            }
        }
Example #4
0
 public void Add_Stock_Data(Item_Data xItem_Data, decimal xFactoryQuantity,decimal xStockQuantity,  bool b_from_factory)
 {
     if (b_from_factory)
     {
         Stock_Data stock_data = new Stock_Data();
         if (stock_data.dQuantity == null)
         {
             stock_data.dQuantity = new decimal_v();
         }
         stock_data.dQuantity.v = xFactoryQuantity;
         Stock_Data_List.Add(stock_data);
     }
     else
     {
         decimal dquantity = xStockQuantity;
         xItem_Data.Stock_Data_List.Sort((x, y) => Compare_Stock_ExpiryDate(x,y));
         foreach (Stock_Data sd in xItem_Data.Stock_Data_List)
         {
             if (dquantity > 0)
             {
                 if (sd.dQuantity_from_stock != null)
                 {
                     Stock_Data stock_data = new Stock_Data();
                     if (dquantity > sd.dQuantity_from_stock.v)
                     {
                         dquantity -= sd.dQuantity_from_stock.v;
                         if (stock_data.dQuantity == null)
                         {
                             stock_data.dQuantity = new decimal_v();
                         }
                         stock_data.dQuantity.v = sd.dQuantity_from_stock.v;
                         sd.dQuantity.v = 0;
                         if (stock_data.dQuantity_New_in_Stock == null)
                         {
                             stock_data.dQuantity_New_in_Stock = new decimal_v();
                         }
                         stock_data.dQuantity_New_in_Stock.v = 0;
                         stock_data.Stock_ID = new long_v();
                         stock_data.Stock_ID.v = sd.Stock_ID.v;
                         Stock_Data_List.Add(stock_data);
                     }
                     else
                     {
                         if (stock_data.dQuantity_from_stock == null)
                         {
                             stock_data.dQuantity = new decimal_v();
                         }
                         stock_data.dQuantity.v = dquantity;
                         sd.dQuantity.v -= dquantity;
                         if (stock_data.dQuantity_New_in_Stock == null)
                         {
                             stock_data.dQuantity_New_in_Stock = new decimal_v();
                         }
                         stock_data.dQuantity_New_in_Stock.v = sd.dQuantity.v;
                         stock_data.Stock_ID = new long_v();
                         stock_data.Stock_ID.v = sd.Stock_ID.v;
                         dquantity = 0;
                         Stock_Data_List.Add(stock_data);
                     }
                 }
             }
             else
             {
                 break;
             }
         }
     }
 }
Example #5
0
 private static bool IsNull_Stock_ExpiryDate(Stock_Data z)
 {
     if (z == null)
     {
         return true;
     }
     else
     {
         if (z.Stock_ExpiryDate == null)
         {
             return true;
         }
         else
         {
             return false;
         }
     }
 }
Example #6
0
 private static int Compare_Stock_ExpiryDate(Stock_Data x, Stock_Data y)
 {
     if (IsNull_Stock_ExpiryDate(x))
     {
         if (IsNull_Stock_ExpiryDate(y))
         {
             // If x is null and y is null, they're
             // equal.
             return 0;
         }
         else
         {
             // If x is null and y is not null, y
             // is greater.
             return -1;
         }
     }
     else
     {
         // If x is not null...
         //
         if (IsNull_Stock_ExpiryDate(y))
         // ...and y is null, x is greater.
         {
             return 1;
         }
         else
         {
             // ...and y is not null, compare the
             // lengths of the two strings.
             //
             int retval = x.Stock_ExpiryDate.v.CompareTo(y.Stock_ExpiryDate.v);
             return retval;
         }
     }
 }