tags:

views:

38

answers:

0

We have implemented a website with the ability for the user to post his actioncode. This then will be checked by the code and when the user has a price the website will Server.Transfer him to another page. The strange thing here is that the user information will be submitted to the database and the actioncode can't be used again. Here we go... I have one user in this database that is inserted twice very fast after the first time he was added. This are the timestamps:

  • 2010-04-23 07:54:41.133
  • 2010-04-23 07:54:41.417

The insert statement is only called once from the code and the user gets Server.Transfered to the Price.aspx page where he sees what price he won. How can it be that this happened? I'm guessing the user hitted F5 but then he had to be very very fast...

Server.Transfer code:

 if ((myPrize.ToLower() == "korting") || (myPrize.ToLower() == "vakantie"))
    {
        SendPrizeMail(myInschrijving);

        Server.Transfer("/Prijs.aspx");
    }

Insert db code:

Data.TBL_Module_Inschrijvingen tblInschrijving = new Data.TBL_Module_Inschrijvingen();

        tblInschrijving.Inschrijfdatum = PopupInschrijving.InschrijfDatum;
        tblInschrijving.VoorNaam = PopupInschrijving.VoorNaam;
        tblInschrijving.AchterNaam = PopupInschrijving.AchterNaam;
        tblInschrijving.Email = PopupInschrijving.Email;
        tblInschrijving.Code = newCode.myCode;
        tblInschrijving.PrijsOpgehaald = false;
        tblInschrijving.HoofdprijsWinnaar = newCode.HoofdPrijs;

        db.TBL_Module_Inschrijvingens.InsertOnSubmit(tblInschrijving);
        db.SubmitChanges();

Code that calls my insert:

Inschrijving myInschrijving = new Inschrijving();

        Inschrijving PopupInschrijving = new Inschrijving();
        PopupInschrijving.InschrijfDatum = DateTime.Now;
        PopupInschrijving.VoorNaam = PopupVoornaam.Text;
        PopupInschrijving.AchterNaam = PopupAchterNaam.Text;
        PopupInschrijving.Email = PopupEmail.Text;

        myInschrijving = InschrijvingDP.InsertInschrijving(PopupInschrijving);

        SendSubscriptionMail(myInschrijving);