public void DeleteAll_ShouldRemoveAll_Winners_FromThe_Winner_Table()
 {
     //Arrange
     using (new TransactionScope()) {
         long attendeeID;
         long sponsorID;
         long swagID;
         string name = "Joe Smith";
         using (var dc = new DayOfDotNetDataContext()) {
             attendeeID = (from x in dc.Attendees where x.IsEligible && !x.HasWon select x.AttendeeID).First();
             sponsorID = (from x in dc.Sponsors where x.ProvidedSwag select x.SponsorID).First();
             swagID = (from x in dc.Swags where x.SponsorID == sponsorID select x.SwagID).First();
             dc.Winners.InsertOnSubmit(new Winner{AttendeeID = attendeeID, SponsorID = sponsorID, SwagID = swagID, Name = name});
             dc.SubmitChanges();
         }
         //Act
         IWinnerRepository rep = new WinnerRepository();
         bool success = rep.DeleteAll();
         //Assert
         success.ShouldBeTrue("Expected Success To Be True");
         using (var dc = new DayOfDotNetDataContext()) {
             (from x in dc.Winners select x).Count().ShouldEqual(0, "Expected 0 rows in Winner table");
         }
     }
 }
 public bool Insert(WinnerDTO winner)
 {
     Winner w = new Winner {AttendeeID = winner.AttendeeID, SponsorID = winner.SponsorID, SwagID = winner.SwagID, Name = winner.Name};
     using (DayOfDotNetDataContext dc = new DayOfDotNetDataContext()) {
         dc.Winners.InsertOnSubmit(w);
         dc.SubmitChanges();
     }
     return true;
 }
 public bool InsertAll(IList<AttendeeDTO> attendeeDtos)
 {
     IList<Attendee> attendees = (from x in attendeeDtos select new Attendee {
                                                                                 FirstName = x.FirstName,
                                                                                 LastName = x.LastName,
                                                                                 Company = x.Company,
                                                                                 Email = x.Email,
                                                                                 HasWon = x.HasWon,
                                                                                 IsEligible = x.IsEligible
                                                                             }).ToList();
     using (var dc = new DayOfDotNetDataContext()) {
         dc.Attendees.InsertAllOnSubmit(attendees);
         dc.SubmitChanges();
     }
     return true;
 }
 public bool SetHasWon(long attendeeID)
 {
     using (var dc = new DayOfDotNetDataContext()) {
         Attendee attendee = (from x in dc.Attendees where x.AttendeeID == attendeeID select x).FirstOrDefault();
         if (attendee == null) return false;
         attendee.HasWon = true;
         dc.SubmitChanges();
     }
     return true;
 }
 public void ResetAllHasWon_ShouldSetThe_HasWon_Flag_To_False_OnAll_Attendees()
 {
     //Arrange
     using (new TransactionScope()) {
         using (var dc = new DayOfDotNetDataContext()) {
             Attendee attendee = (from x in dc.Attendees where x.IsEligible && !x.HasWon select x).FirstOrDefault();
             attendee.HasWon = true;
             dc.SubmitChanges();
         }
         //Act
         IAttendeeRepository repo = new AttendeeRepository();
         bool successful = repo.ResetAllHasWon();
         //Assert
         successful.ShouldBeTrue("Expected True");
         using (var dc = new DayOfDotNetDataContext()) {
             (from x in dc.Attendees where x.HasWon select x).Count().ShouldEqual(0, "Expected 0 HasWon == True");
         }
     }
 }
 public void SetHasWon_ShouldSetThe_HasWon_Flag_To_True_OnThe_Attendee_WithTheSpecified_AttendeeID()
 {
     //Arrange
     long attendeeID;
     using (new TransactionScope()) {
         using (var dc = new DayOfDotNetDataContext()) {
             Attendee attendee = (from x in dc.Attendees where x.IsEligible && !x.HasWon select x).FirstOrDefault();
             attendee.HasWon = true;
             attendeeID = attendee.AttendeeID;
             dc.SubmitChanges();
         }
         //Act
         IAttendeeRepository repo = new AttendeeRepository();
         bool successful = repo.SetHasWon(attendeeID);
         //Assert
         successful.ShouldBeTrue("Expected True");
         using (var dc = new DayOfDotNetDataContext()) {
             (from x in dc.Attendees where x.AttendeeID == attendeeID select x.HasWon).FirstOrDefault().ShouldBeTrue("Expected True");
         }
     }
 }