Пример #1
0
        public bool GetUpdatePriceCalculation(DataTable dtPrice, double USD, double Transport, double Others, DateTime dtDate, string CreatedBy,
                                              string ModifiedBy, int TypeOfOperation, decimal MandyTax, decimal BMar, decimal insurance, decimal localtax, decimal addUpPrice)
        {
            DataTable dtTemp = new DataTable();

            dtTemp = dtPrice.Copy();
            dtTemp.Columns.Add("POPriceMB");
            dtTemp.Columns.Add("FOBPrice");
            dtTemp.Columns.Add("USA_Sea");
            dtTemp.Columns.Add("USA_Air");
            dtTemp.Columns.Add("USA_Air_West");
            dtTemp.Columns.Add("Europe_Sea");
            dtTemp.Columns.Add("Europe_Air");
            dtTemp.Columns.Add("Europe_Air_West");
            dtTemp.Columns.Add("India_Price");
            dtTemp.Columns.Add("Non_organic_India");
            dtTemp.Columns.Add("Non_organic_USA");
            for (int i = 0; i < dtPrice.Rows.Count; i++)
            {
                double price = 0;
                if (!string.IsNullOrEmpty(dtTemp.Rows[i]["PriceMB"].ToString()))
                {
                    price = Convert.ToDouble(dtTemp.Rows[i]["PriceMB"].ToString().Trim());
                }
                else
                {
                    price = 0;
                }
                dtTemp.Rows[i]["POPriceMB"] = price + Others;
                double pric = price + Others;
                double FOB  = ((((pric * (1 + (Convert.ToDouble(MandyTax) / 100))) + Transport) / (1 - (Convert.ToDouble(BMar) / 100))) / USD);

                dtTemp.Rows[i]["FOBPrice"]        = Math.Round(FOB, 1);
                dtTemp.Rows[i]["USA_Sea"]         = Math.Round(FOB + 2, 1);
                dtTemp.Rows[i]["USA_Air"]         = Math.Round(FOB + 7, 1);
                dtTemp.Rows[i]["USA_Air_West"]    = Math.Round(FOB + 10, 1);
                dtTemp.Rows[i]["Europe_Sea"]      = Math.Round((FOB + 2) * (1 + (Convert.ToDouble(insurance) / 100)), 1);
                dtTemp.Rows[i]["Europe_Air"]      = Math.Round((FOB + 7) * (1 + (Convert.ToDouble(insurance) / 100)), 1);
                dtTemp.Rows[i]["Europe_Air_West"] = Math.Round((FOB + 10) * (1 + (Convert.ToDouble(insurance) / 100)), 1);
                double lt     = (1 - (Convert.ToDouble(localtax) / 100));
                double iPrice = (((pric * (1 + (Convert.ToDouble(MandyTax) / 100))) + Transport) / (1 - (Convert.ToDouble(BMar) / 100))) / lt;
                dtTemp.Rows[i]["India_Price"] = Math.Round(iPrice, 1);
                double NonOrgInd = ((((price + 25) * 1.025) + 35) + 50);
                dtTemp.Rows[i]["Non_organic_India"] = Math.Round(NonOrgInd, 1);
                dtTemp.Rows[i]["Non_organic_USA"]   = Math.Round(NonOrgInd / USD, 1);
            }
            return(Product_DL.tblProductPrice_INSandUPD(dtTemp, dtDate, USD, Transport, Others, CreatedBy, ModifiedBy, TypeOfOperation, MandyTax, BMar, insurance, localtax, addUpPrice));
        }