private string AsCsvLine(Run run) { var e = new CsvLine { Distance = run.Distance.ToString(), Labels = LabelsToString(run.Labels), LastChanged = ConvertDateTime(run.LastChanged), RegisteredAt = ConvertDateTime(run.Start), Shoe = ShoeAsString(run.Shoe), Time = run.Time.ToString() }; return e.AsCsvLine(Separator); }
public void ShouldSaveRun() { MemoryDataContext.Clear(); var e = new RunDataAccess (); var athlete = new AthleteBuilder().Build(); MemoryDataContext.Add(athlete); var run = new Run { ID = 0, Athlete = athlete}; e.SaveRun(run); Assert.IsTrue(MemoryDataContext.IsCommited(run)); }
public void AssertReturnsRunsForPlan() { var plan = new TrainingPlanBuilder().WithAthlete(); for (var i = 0; i < 10; i++) { var run = new Run {Distance = 1000, TrainingPlanID = plan.ID, Athlete = plan.Athlete}; MemoryDataContext.InsertOnSubmit(run); } MemoryDataContext.Commit(); var runDataAcces = new RunDataAccess(); var runs = runDataAcces.GetPlannedRuns(plan); Assert.AreEqual(10, runs.Count); }
public Run Build() { var date = new DateTime(2010, 1, 30, 12, 25, 7); var shoe = new Shoe { Brand = "Nike" }; var run = new Run { ID=1, Distance = 10000, Labels = (int)LabelEnumeration.None, LastChanged = date, Start = date, Shoe = shoe, Time = 10000 }; return run; }
public void AssertCanConvertRunToCsv() { var date = new DateTime(2010, 1, 30, 12, 25, 7); var shoe = new Shoe {Brand = "Nike"}; var run = new Run { Distance = 10000, Labels = (int) LabelEnumeration.None, LastChanged = date, Start = date, Shoe = shoe, Time = 10000 }; var e = new CsvData(); var content = e.AsFileContent(new[] {run}); var expected = "Time\tDistance\tShoe\tRegisteredAt\tLastChanged\tLabels\r\n10000\t10000\tNike\t30-1-2010 12:25:07\t30-1-2010 12:25:07\t\r\n"; Assert.AreEqual(expected,content); }
void InsertRuns(Athlete athlete) { for (int i = 0; i < 10; i++) { var run = new Run { Athlete = athlete, Distance = i, Start = _testRunStart, Time = 1 }; _testRunStart = _testRunStart.AddDays(7); MemoryDataContext.InsertOnSubmit(run); } MemoryDataContext.Commit(); }
public Run UndoDeleteRun(Run run) { var deletedRun = _dataContext.Queryable<Run>().Single(x => x.ID == run.ID); var labels = (LabelEnumeration)deletedRun.Labels; labels ^= LabelEnumeration.Trash; deletedRun.Labels = (int)labels; deletedRun.LastChanged = run.LastChanged; _dataContext.Commit(); return deletedRun; }
private static void InsertAthleteRuns(Athlete athlete, int numberOfRunsToInsert) { var r = new RandomProvider(); using (var db = new DbDataContext()) { var timeMin = 1000; var timeMax = 10000; var distanceMin = 5000; var distanceMax = 12000; var dateMin = new DateTime(1920, 1, 1); var dateMax = new DateTime(2020, 1, 1); var runCountBefore = db.Runs.Count(); const bool athleteModified = false; db.Athletes.Attach(athlete, athleteModified); var runs = new List<Run>(); for (var i = 0; i < numberOfRunsToInsert; i++) { var run = new Run { Athlete = athlete, Time = r.Next(timeMin, timeMax), Distance = r.Next(distanceMin, distanceMax), Start = r.Next(dateMin, dateMax) }; runs.Add(run); if (runs.Count > 5000) { db.Runs.InsertAllOnSubmit(runs); db.SubmitChanges(); runs.Clear(); } } if (runs.Count > 0) { db.Runs.InsertAllOnSubmit(runs); db.SubmitChanges(); runs.Clear(); } var afterRunsInsertedCount = db.Runs.Count(); Assert.AreEqual(runCountBefore, afterRunsInsertedCount - numberOfRunsToInsert); } }
partial void DeleteRun(Run instance);
public Run SaveRun(Run run) { try { _dataContext.RollbackAndAttach(run.Athlete); if (run.Shoe == null) { run.ShoeID = new int?(); } else { _dataContext.RollbackAndAttach(run.Shoe); } if (run.ID > 0) { _dataContext.UpdateAndAttach(run); } else { _dataContext.InsertOnSubmit(run); } _dataContext.Commit(); } catch (ChangeConflictException changeConflictException) { var message = string.Format( "Error, SaveRun, run ID = {0}, AthleteID = {1}, version [{2}], Fluorineversion [{3}]", run.ID, run.AthleteID, run.Version, run.RtVersion); throw new ChangeConflictException(message, changeConflictException); } return run; }
partial void UpdateRun(Run instance);
partial void InsertRun(Run instance);
private void InsertPersistentRun(DateTime dateTime) { var e = new RunDataAccess(); var run = new Run { ID = 0, Athlete = _athlete, Start = dateTime}; e.SaveRun(run); }
partial void DeleteRun(Run instance) { this.ExecuteDynamicDelete(instance); }
private Run CreateRun(double distance, DateTime date) { var run = new Run { TrainingPlan = TrainingPlan, Athlete = Athlete, Distance = Convert.ToInt32(distance), Start = date }; return run; }