Нужна помощь в GUI Layer при вставке значения - PullRequest
0 голосов
/ 31 января 2010

Я ввожу данные клиента на своей веб-странице, в таких полях как Customerid, Имя клиента, ProductName, Количество, Ставка, Итого, Скидка, NetTotal. Если я введу количество и ставку в соответствующем поле в приложении. Все поля должны быть введены автоматически, и расчет был выполнен в классе слоя BAL. Но всякий раз, когда я ввожу какое-либо значение в поле количества и ставки, другое соответствующее поле всегда показывает только 0 значений, что не ожидается. Вот мой весь код:

Страница ввода данных:

<table cellspacing="0", cellpadding="0">     
    </tr>    
    <tr >
        <td align="center">
         <h1>Sales Entry Details&nbsp;</h1>
        </td>   
    </tr>
    <tr>
        <td>
            <asp:Label ID="lblMsg" runat="server" Text=""></asp:Label>       
        </td>    
    </tr>
    <tr>
        <td>
            CustomerId:        
        </td>  
        <td align="center">        
            <asp:TextBox ID="TxtCustomerId" runat="server"></asp:TextBox>
        </td>  
    <tr>
        <td>
            CustomerName:        
        </td>  
        <td align="center">        
            <asp:TextBox ID="TxtCustName" runat="server"></asp:TextBox>
        </td>  
    </tr>   
     <tr>
        <td>
            ProductName:        
        </td>  
        <td align="center">        
            <asp:TextBox ID="TxtProductName" runat="server"></asp:TextBox>
        </td>  
     </tr> 
      <tr>
        <td>
            Quantity:        
        </td>  
        <td align="center">        
            <asp:TextBox ID="TxtQuantity" runat="server"></asp:TextBox>
        </td>  
    </tr>    
     <tr>
        <td>
            Rate:        
        </td>  
        <td align="center">        
            <asp:TextBox ID="TxtRate" runat="server" ontextchanged="TxtRate_TextChanged" AutoPostBack="true"></asp:TextBox>
        </td>  
    </tr>   
     <tr>
        <td>
            Total:        
        </td>  
        <td align="center">        
            <asp:TextBox ID="TxtTotal" runat="server"></asp:TextBox>
        </td>  
    </tr>    
     <tr>
        <td>
            Discount:        
        </td>  
        <td align="center">        
            <asp:TextBox ID="TxtDiscount" runat="server"></asp:TextBox>
        </td>  
    </tr> 
     <tr>
        <td>
            NetTotal:        
        </td>  
        <td align="center">        
            <asp:TextBox ID="TxtNetTotal" runat="server"></asp:TextBox>
        </td>  
    </tr>
    </tr>
    <tr>
        <td align="center">
        <asp:Button ID="BtnSubmit" runat="server" Text="ADD" onclick="BtnSubmit_Click" />        
        </td>    
    </tr>     
    </table> 

БАЛ Класс:

public class SalesBAL
{

    private string custid;
    private string custname;
    private string productname;
    private int quantity;
    private float rate;
    private float total;
    private float discount;
    private float NetTotal;

    public string CUSTOMERID
    {
        get
        {
            return custid;
        }
        set
        {
            custid = value;
        }

    }
    public string CUSTOMERNAME
    {
        get
        {
            return custname;
        }
        set
        {
            custname = value;
        }

    }
    public string PRODUCTNAME
    {
        get
        {
            return productname;
        }
        set
        {
            productname = value;
        }
    }
    public int QUANTITY
    {
        get
        {
            return quantity;
        }
        set
        {
            quantity = value;
        }

    }
    public float RATE
    {
        get
        {
            return rate;
        }
        set
        {
            rate = value;
        }
    }
    public float TOTAL
    {
        get
        {
            return total;
        }
        set
        {
            total = quantity*rate;

        }
    }
    public float DISCOUNT
    {
        get
        {
            return discount;
        }
        set
        {
            discount = ((15/100)*total);
        }       
    }
    public float NETTOTAL
    {
        get
        {
            return NetTotal; 
        }
        set
        {
            NetTotal =(total-discount);
        }

    }
    public int AddCustomer(SalesBAL obj)
    {

        SalesDAL SDAL = new SalesDAL();
        try
        {
            return SDAL.InsertCustomer(obj);
        }
        catch
        {
            throw;
        }
        finally
        {
            SDAL = null;
        }
    }
}
DAL Class:
public class SalesDAL
{
    string connstr = ConfigurationManager.ConnectionStrings["SalesConnectionString"].ConnectionString;
    public int InsertCustomer(SalesBAL obj)
    {
        using (var con = new SqlConnection(connstr))
        {
            con.Open();
            using (var com = new SqlCommand("AddCustDetail", con))
            {
                com.CommandType = CommandType.StoredProcedure;
                try
                {
                    com.Parameters.AddWithValue("@CustomerId",obj.CUSTOMERID);
                    com.Parameters.AddWithValue("@CustomerName", obj.CUSTOMERNAME);
                    com.Parameters.AddWithValue("@ProductName", obj.PRODUCTNAME);
                    com.Parameters.AddWithValue("@Quantity", obj.QUANTITY);
                    com.Parameters.AddWithValue("@Rate", obj.RATE);
                    com.Parameters.AddWithValue("@Total", obj.TOTAL);
                    com.Parameters.AddWithValue("@Discount", obj.DISCOUNT);
                    com.Parameters.AddWithValue("@NetTotal",obj.NETTOTAL);
                    com.Parameters.AddWithValue("@SalesDate", DateTime.Now);
                    return com.ExecuteNonQuery();                
                 }
                catch
                {
                    throw;

                }
                finally
                {
                    con.Close();
                }
            }
        }
    }
}

1 Ответ

0 голосов
/ 31 января 2010

Поскольку ваши поля на самом деле не связаны с вашим объектом класса BAL, вам нужно выполнять присваивание во время каждого PostBack, если только вы не используете свойство ViewState или Session для хранения существующего, которое уже имеет все значения установлены.

...