Pokaż
Ignoruj:
Data:
2009-03-25 17:31:18 (17 years ago)
Autor:
marek
Opis:

fixes #139

Pliki:
1 zmodyfikowane

Legenda:

Bez zmian
Dodane
Usunięte
  • trunk/eCard/Expo/login.aspx.cs

    r477 r486  
    22using System.Data; 
    33using System.Configuration; 
    4 using System.Collections; 
    5 using System.Web; 
    64using System.Web.Security; 
    7 using System.Web.UI; 
    8 using System.Web.UI.WebControls; 
    9 using System.Web.UI.WebControls.WebParts; 
    10 using System.Web.UI.HtmlControls; 
    115using System.Data.SqlClient; 
    126using System.Threading; 
    137using System.Globalization; 
    14 using System.Resources; 
    158 
    169public partial class login : System.Web.UI.Page 
     
    3730 
    3831        FakturaImageButton.ImageUrl = Resources.Common.Faktura; 
    39         if (!IsPostBack) { SetFocus(NIPTextBox); }         
     32        if (!IsPostBack) { SetFocus(NIPTextBox); } 
    4033    } 
    4134 
    4235    protected void ZalogujButton_Click(object sender, EventArgs e) 
    4336    { 
    44         string nip = NIPTextBox.Text; 
    45         string nrZlec = NrZlecTextBox.Text; 
     37        string nip = NIPTextBox.Text.Replace(" ", string.Empty).Replace("-", string.Empty); 
     38        string nrZlec = NrZlecTextBox.Text.Replace(" ", string.Empty); 
    4639        bool czyZalogowany = Zaloguj(nip, nrZlec); 
    4740        if (czyZalogowany) 
    4841        { 
    49             FormsAuthentication.RedirectFromLoginPage(nip, false);             
     42            FormsAuthentication.RedirectFromLoginPage(nip, false); 
    5043        } 
    5144        else 
     
    5750    bool Zaloguj(string nip, string nrFaktury) 
    5851    { 
     52        string fakturaNr = nrFaktury.Split('/')[0]; 
     53        string fakturaRoz = nrFaktury.Split('/')[1]; 
     54        string fakturaRok = nrFaktury.Split('/')[2]; 
     55 
    5956        string connString = ConfigurationManager.ConnectionStrings["BazaReklamConn"].ConnectionString; 
    60         string cmdText = "SELECT COUNT(*) FROM dbo.vDanePlatnosciEcard WHERE nip=@nip AND [Faktura Numer]=@nrFaktury"; 
    61         nip = nip.Replace(" ", ""); 
    62         nip = nip.Replace("-", ""); 
    63         int znalezione = 0; 
    64         using(SqlConnection conn = new SqlConnection(connString)) 
     57        const string cmdText = "SELECT ID_Faktury FROM dbo.vDanePlatnosciEcard WHERE nip=@nip AND [Numer]=@numer AND [Numer_Roz]=@numerRoz AND [Numer_Rok]=@numerRok"; 
     58        bool znalezione = false; 
     59        using (SqlConnection conn = new SqlConnection(connString)) 
    6560        { 
    6661            SqlCommand cmd = new SqlCommand(cmdText, conn); 
    6762            cmd.Parameters.Add("@nip", SqlDbType.NVarChar, 50).Value = nip; 
    68             cmd.Parameters.Add("@nrFaktury", SqlDbType.NVarChar, 20).Value = nrFaktury; 
     63            cmd.Parameters.Add("@numer", SqlDbType.NVarChar, 10).Value = fakturaNr; 
     64            cmd.Parameters.Add("@numerRoz", SqlDbType.NVarChar, 10).Value = fakturaRoz; 
     65            cmd.Parameters.Add("@numerRok", SqlDbType.NVarChar, 10).Value = fakturaRok; 
    6966            conn.Open(); 
    70             znalezione = (int)cmd.ExecuteScalar(); 
    71             if (znalezione > 0) 
     67 
     68            SqlDataReader reader = cmd.ExecuteReader(); 
     69            if (reader == null) 
    7270            { 
    73                 Session["nip"] = nip; 
    74                 Session["nrFaktury"] = nrFaktury; 
     71                conn.Close(); 
     72                return false; 
    7573            } 
     74 
     75            if (reader.Read()) 
     76            { 
     77                Session["Nip"] = nip; 
     78                Session["NrFaktury"] = nrFaktury; 
     79                Session["IdFaktury"] = reader.GetInt32(0); 
     80                znalezione = true; 
     81            } 
     82            reader.Close(); 
     83            reader.Dispose(); 
    7684            conn.Close(); 
    7785        } 
    78         return (znalezione > 0); 
     86        return znalezione; 
    7987    } 
    80      
    8188}