от
TB_COST.Данные моего объекта DataTable, я зацикливание через данных и расчета некоторых полей. Я хочу отдельной функции для каждого вычисления, но я неоднократно зацикливание данных. Я ищу способ, чтобы избежать повторения. Я пытался петли после того, как данные и вызывать функции внутри, но я думала, это будет сложнее сделать исправление ошибок позже.
    public void CalculateCost()//this function getting called at a button onclick
    {
        try
        {
            CalculateProductPrice();
            CalculateFreight();            
        }
        catch(Exception ex)
        {
            ShowMessageBox(ex.ToString());
        }
    }

    public void CalculateProductPrice()
    {
        decimal totalTonage = Convert.ToDecimal("0");
        decimal totalPrice = Convert.ToDecimal("0");
        decimal priceCarpiTonage = Convert.ToDecimal("0");
        for(int i = 0; i < TB_COST.Data.Rows.Count; i  )
        {
            decimal containerTonage = Convert.ToDecimal(TB_COST.Data.Rows[i]["CONTON"].ToString());
            totalTonage  = containerTonage;
            decimal price = Convert.ToDecimal(TB_COST.Data.Rows[i]["PROPRI"].ToString());
            totalPrice  = price;
            priceCarpiTonage  =  Convert.ToDecimal(containerTonage) * price; 
        }
        decimal productPrice = priceCarpiTonage/totalTonage;
        productPrice = (Math.Round(productPrice, 2, MidpointRounding.AwayFromZero));
        //ShowMessageBox(totalPrice   " "   priceCarpiTonage   " "   productPrice);
        T_PROP.Text = productPrice.ToString();
        T_TOTN.Text = totalTonage.ToString();                     
    }
    public void CalculateFreight()
    {
        decimal totalFreight = Convert.ToDecimal("0");
        for(int i = 0; i < TB_COST.Data.Rows.Count; i  )
        {
            decimal decimalFreightPrice = Convert.ToDecimal(TB_COST.Data.Rows[i]["CONPRI"].ToString());
            decimal containerTonnage = Convert.ToDecimal(TB_COST.Data.Rows[i]["CONTON"].ToString());
            decimal decimalFreightBoluContainerTonnage = decimalFreightPrice/containerTonnage;
            totalFreight  = decimalFreightBoluContainerTonnage;                
        }
        //ShowMessageBox(totalFreight.ToString());
        totalFreight = (Math.Round(totalFreight, 2, MidpointRounding.AwayFromZero));                                  
        T_FREG.Text = totalFreight.ToString();
    }

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
Добро пожаловать на сайт ByNets, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...