public RaceViewModel GetRaceViewModel(int?mazeId, int userId) { var model = new RaceViewModel(); if (mazeId != null) // retrieve data from DB { var maze = DataAccessLayer.Mazes.FirstOrDefault(mz => mz.Id == mazeId.Value); if (maze == null) { return(model); } model.MazeHash = maze.Hash; model.MazeId = maze.Id; model.UserId = userId; model.RaceDate = new DateTime(); } else // tell view to build new maze client-side { model.UserId = userId; model.RaceDate = new DateTime(); } return(model); }
public async Task GetRaces() { IsRefreshing = true; Races.Clear(); string url = "http://itweb.fvtc.edu/wetzel/marathon/races/"; string json; using (System.Net.WebClient webClient = new System.Net.WebClient()) { json = await webClient.DownloadStringTaskAsync(url); } GetRacesApiResult result = Newtonsoft.Json.JsonConvert.DeserializeObject <GetRacesApiResult>(json); foreach (Race race in result.races) { RaceViewModel vm = new RaceViewModel(this.Navigation) { Race = race }; this.Races.Add(vm); } IsRefreshing = false; }
private void ExportRace(RaceViewModel raceViewModel) { Microsoft.Win32.SaveFileDialog saveFileDialog = new Microsoft.Win32.SaveFileDialog(); saveFileDialog.Filter = "XML Document|*.xml"; saveFileDialog.Title = "Save Race"; saveFileDialog.FileName = raceViewModel.Name; if (saveFileDialog.ShowDialog() == true) { try { string ext = System.IO.Path.GetExtension(saveFileDialog.FileName); if (ext == ".xml") { string xml = _xmlExporter.FormatXMLWithHeader(_xmlExporter.GetXML(raceViewModel.RaceModel)); System.IO.File.WriteAllText(saveFileDialog.FileName, xml, System.Text.Encoding.UTF8); } else { _dialogService.ShowConfirmationDialog("Unable To Export", "Invalid file extension.", "OK", null, null); } } catch (Exception) { _dialogService.ShowConfirmationDialog("Unable To Export", "An error occurred when attempting to export the race.", "OK", null, null); } } }
private async Task <SaveResult> ManageExistingRaceOrganisation(RaceViewModel model, ICollection <RaceOrganisation> currentEntityList, IQueryable <Organisation> roleAppPage) { SaveResult saveResult = new SaveResult { IsSuccess = true }; List <RaceOrganisation> assignedRaceOrganisations = new List <RaceOrganisation>(); foreach (var record in currentEntityList) { if (saveResult.IsSuccess) { if (!model.OrganisationIds.Any(a => a == record.OrganisationId)) { var deleteRaceOrganisation = await _context.RaceOrganisation.FindAsync(record.Id); if (saveResult.IsSuccess) { _context.Remove(deleteRaceOrganisation); await _context.SaveChangesAsync(); saveResult.IsSuccess = true; } } else { saveResult = await EditEntityAsync(model, record); } } } return(saveResult); }
private async Task <bool> AddRaceOrganisationWherePreviousExists(RaceViewModel model, ICollection <RaceOrganisation> RaceOrganisations, IQueryable <Organisation> regions) { bool isSaveSuccess = true; List <RaceOrganisation> assignedRaceOrganisations = new List <RaceOrganisation>(); foreach (var recordId in model.OrganisationIds) { var currentRolePermission = regions.Where(a => a.Id == recordId).FirstOrDefault(); if (currentRolePermission != null) { if (!RaceOrganisations.Any(a => a.OrganisationId == recordId)) { // var currentUserRoleID = currentMenuRoles.First(a => a.Organisation.RoleID == currentRolePermission.RoleID).RegionID; var RaceOrganisationRepo = new RaceOrganisation(); assignedRaceOrganisations.Add(RaceOrganisationRepo.ToEntity(recordId, model.Id, model.SessionUserId)); } } } if (assignedRaceOrganisations.Count > 0) { await _context.RaceOrganisation.AddRangeAsync(assignedRaceOrganisations); await _context.SaveChangesAsync(); isSaveSuccess = true; } return(isSaveSuccess); }
private void btnStart_Click(object sender, EventArgs e) { if (RunnerViewModel.Runners.Count > 0) { txtLapCount.Enabled = false; txtLapLenght.Enabled = false; txtReward.Enabled = false; txtRunnerNumber.Enabled = true; btnLapFinished.Enabled = true; btnStart.Enabled = false; } else { MessageBox.Show("you dont have runners"); return; } RaceViewModel = new RaceViewModel(RunnerViewModel); finishedLapBindingSource.DataSource = RaceViewModel.LapGridData; resultBindingSource.DataSource = RaceViewModel.RaceGridData; RaceViewModel.Race.RaceDate = DateTime.Now; RaceViewModel.Race.LapCount = GetIntInput(txtLapCount.Text); RaceViewModel.Race.LapLenght = GetIntInput(txtLapLenght.Text); lblTime.Text = RaceViewModel.Race.RaceDate.ToLongTimeString(); lblTime.Visible = true; RaceViewModel.RaceStart(RaceViewModel.Race.RaceDate); }
// PUT api/<controller>/5 public HttpResponseMessage Put(RaceViewModel viewModel) { try { if (ModelState.IsValid) { var race = _raceService.GetRace(viewModel.Id); var raceType = _raceTypeService.GetRaceType(viewModel.RaceTypeId); race.Name = viewModel.Name; race.RaceLength = viewModel.RaceLength; race.RaceType = raceType; _raceService.SaveRace(race); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Invalid Model")); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message)); } }
public void Test_That_OrderBy_Ascending_PrintFunction() { List <RaceViewModel> model = new List <RaceViewModel>(); var n1 = new RaceViewModel { Name = "sean", Price = "11" }; var n2 = new RaceViewModel { Name = "john", Price = "12" }; var n3 = new RaceViewModel { Name = "garry", Price = "13" }; model.Add(n1); model.Add(n2); model.Add(n3); PrintNames p = new PrintNames(); ArrayList actual = p.Print(model); ArrayList expected = new ArrayList { "sean", "john", "garry" }; Assert.Equal(actual, expected); }
public ActionResult Edit(RaceViewModel raceViewModel) { //ValdateState(stateViewModel); if (ModelState.IsValid) { using (var context = new Context()) { var race = context.Races.SingleOrDefault(p => p.Id == raceViewModel.Id); if (race != null) { race.Name = raceViewModel.Name; race.Date = raceViewModel.Date; race.RaceTypeId = raceViewModel.RaceTypeId; race.Address = raceViewModel.Address; race.City = raceViewModel.City; race.StateId = raceViewModel.StateId; race.ZipCode = raceViewModel.ZipCode; race.Profit = raceViewModel.Profit; TempData["Message"] = "This race was successfully updated!"; context.SaveChanges(); return(RedirectToAction("Index")); } ; } } return(View(raceViewModel)); }
//Detail public ActionResult Detail(int id) { //ViewBag.Title = "Detail"; using (var context = new Context()) { //var restaurant = lunchContext.Restaurants.SingleOrDefault(p => p.RestaurantId == id); var race = context.Races.Include("State").Include("RaceType").SingleOrDefault(p => p.Id == id); if (race != null) { var raceViewModel = new RaceViewModel { Id = race.Id, Name = race.Name, Profit = race.Profit, Address = race.Address, City = race.City, DateString = race.Date.ToShortDateString(), StateId = race.StateId, RaceTypeId = race.RaceTypeId, StateName = race.State.Name, RaceTypeName = race.RaceType.Name, ZipCode = race.ZipCode }; ViewBag.Title = "Detail: " + raceViewModel.Name; return(View(raceViewModel)); } } return(new HttpNotFoundResult()); }
public ActionResult Add(RaceViewModel raceViewModel) { if (ModelState.IsValid) { using (var context = new Context()) { var race = new Race { Name = raceViewModel.Name, Date = raceViewModel.Date, RaceTypeId = raceViewModel.RaceTypeId, Address = raceViewModel.Address, City = raceViewModel.City, StateId = raceViewModel.StateId, ZipCode = raceViewModel.ZipCode, Profit = raceViewModel.Profit }; context.Races.Add(race); context.SaveChanges(); } TempData["Message"] = "Your race was successfully added!"; return(RedirectToAction("Index")); } ViewBag.SelectRaceType = new SelectList( _context.RaceTypes, "Id", "Name"); ViewBag.SelectState = new SelectList( _context.States, "Id", "Name"); return(View("AddEdit", raceViewModel)); }
public ActionResult Edit(int id) { using (var context = new Context()) { var race = context.Races.SingleOrDefault(p => p.Id == id); if (race != null) { var raceViewModel = new RaceViewModel { Id = race.Id, Name = race.Name, Date = race.Date, RaceTypeId = race.RaceTypeId, Address = race.Address, City = race.City, StateId = race.StateId, ZipCode = race.ZipCode, Profit = race.Profit }; ViewBag.SelectRaceType = new SelectList( _context.RaceTypes, "Id", "Name"); ViewBag.SelectState = new SelectList( _context.States, "Id", "Name"); return(View("AddEdit", raceViewModel)); } } return(new HttpNotFoundResult()); }
private async Task <bool> AddEntity(RaceViewModel model, ICollection <RaceOrganisation> raceOrganisations, IQueryable <Organisation> regions) { bool isSaveSuccess = true; List <RaceOrganisation> RaceOrganisationList = new List <RaceOrganisation>(); foreach (var record in model.OrganisationIds) { var currentRolePermission = regions.Any(a => a.Id == record); if (currentRolePermission) { RaceOrganisation raceOrganisation = new RaceOrganisation(); RaceOrganisationList.Add(raceOrganisation.ToEntity(record, model.Id, model.SessionUserId)); } } if (RaceOrganisationList.Count > 0) { await _context.RaceOrganisation.AddRangeAsync(RaceOrganisationList); await _context.SaveChangesAsync(); isSaveSuccess = true; } return(isSaveSuccess); }
private void SelectPrevious() { if (_races.Any()) { RaceListItemViewModel selected = _races.FirstOrDefault(x => x.IsSelected); foreach (RaceListItemViewModel race in _races) { race.IsSelected = false; } if (selected == null) { _races[_races.Count - 1].IsSelected = true; _selectedRace = new RaceViewModel(_races[_races.Count - 1].RaceModel); } else { int index = Math.Max(_races.IndexOf(selected) - 1, 0); _races[index].IsSelected = true; _selectedRace = new RaceViewModel(_races[index].RaceModel); } OnPropertyChanged(nameof(SelectedRace)); } }
private void EditRace(RaceViewModel race) { _editRaceXML = race.XML; OnPropertyChanged(nameof(EditingRaceXML)); OnPropertyChanged(nameof(IsEditingRace)); }
public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Race race = db.Races.Include(c => c.Category).SingleOrDefault(c => c.Id == id); if (race == null) { return(HttpNotFound()); } var raceVM = new RaceViewModel(); raceVM.Categories = lesCategoriesDispo; raceVM.Race = race; if (race.Category != null) { // Si la course avait une catégorie, on affecte l'Id de cette catégorie à notre ViewModel, ansi elle sera préselectionnée dans notre liste de catégories raceVM.IdSelectedCategory = race.Category.Id; } return(View(raceVM)); }
private async Task <SaveResult> ManageExistingRaceDistance(RaceViewModel model, ICollection <RaceDistance> currentEntityList, IQueryable <Distance> distance) { SaveResult saveResult = new SaveResult { IsSuccess = true }; List <RaceDistance> assignedRaceDistances = new List <RaceDistance>(); foreach (var record in currentEntityList) { if (saveResult.IsSuccess) { //if (!model.DistanceIds.Any(a => a == record.DistanceId)) //{ // var deleteRaceDistance = await _context.RaceDistance.FindAsync(record.Id); // if (saveResult.IsSuccess) // { // _context.Remove(deleteRaceDistance); // await _context.SaveChangesAsync(); // saveResult.IsSuccess = true; // } //} //else //{ // saveResult = await EditEntityAsync(model, record); //} for (int row = 0; row < model.DistanceIds.Count(); row++) { if (model.DistanceIds[row] == record.DistanceId) { if (model.EventDateTimes[row] == null) { var deleteRaceDistance = await _context.RaceDistance.FindAsync(record.Id); if (saveResult.IsSuccess) { _context.Remove(deleteRaceDistance); await _context.SaveChangesAsync(); saveResult.IsSuccess = true; } } else { record.EventDate = (DateTime)model.EventDateTimes[row]; saveResult = await EditEntityAsync(model, record); } } } } } return(saveResult); }
public async Task <IActionResult> Race(int year) { var viewModel = new RaceViewModel { Race = await this.context.Races.SingleAsync(x => x.Date.Year == year) }; return(View(viewModel)); }
public ActionResult Index() { var races = raceRepository.GetRaces(); var viewModel = new List <RaceViewModel>(); races.ForEach(r => viewModel.Add(RaceViewModel.RaceViewModelCreation(r))); return(View(viewModel)); }
private RaceViewModel Map(Race race) { var viewModel = new RaceViewModel(); viewModel.Id = race.Id; viewModel.Name = race.Name; viewModel.RaceLength = race.RaceLength; viewModel.RaceTypeId = race.RaceType.Id; return(viewModel); }
public ActionResult Create() { // création du ViewModel nécessaire pour porter la liste des catégories et l'id de la categorie choisie en plus de la course var raceVM = new RaceViewModel(); raceVM.Categories = lesCategoriesDispo; raceVM.lesPoisVM = db.Pois.ToList(); return(View(raceVM)); }
public static Race ToDomainModel(this RaceViewModel race) { return(new Race { Id = race.RaceId, FlawInformation = race.FlawInformation.Select(f => f.ToDomainModel()).ToList(), FeatureInformation = race.FeatureInformation.Select(f => f.ToDomainModel()).ToList(), Name = race.Name, Description = race.Description }); }
public IActionResult RaceResults(string year) { List <RaceViewModel> files = new List <RaceViewModel>(); List <Track> Schedule = new Schedule().LoadSchedule(year); string[] race_files = Directory.GetFiles("Data/" + year + "/RaceResults"); int count = 1; foreach (string race in race_files) { var new_race = new RaceViewModel(); new_race.RaceNum = count.ToString(); new_race.Name = Schedule.Where(t => t.RaceNum == count).First().RaceName.ToString(); new_race.Link = race; new_race.Track = Schedule.Where(t => t.RaceNum == count).First().Name; new_race.Year = year; string csv_file = "./Data/" + year + "/csv/" + Path.GetFileNameWithoutExtension(race) + ".csv"; var csvTable = new DataTable(); using (var csvReader = new CsvReader(new StreamReader(System.IO.File.OpenRead(csv_file)), true)) { csvTable.Load(csvReader); for (int i = 0; i < csvTable.Rows.Count; i++) { if (csvTable.Rows[i][1].ToString() == "1") { new_race.Pole = csvTable.Rows[i][3].ToString(); } if (csvTable.Rows[i][0].ToString() == "1") { new_race.Winner = csvTable.Rows[i][3].ToString(); } if (new_race.Pole != null && new_race.Winner != null) { break; } } files.Add(new_race); } count++; } ViewBag.Year = year; return(View(files)); }
private async Task <bool> AddRaceDistanceWherePreviousExists(RaceViewModel model, ICollection <RaceDistance> RaceDistances, IQueryable <Distance> distances) { bool isSaveSuccess = true; List <RaceDistance> assignedRaceDistances = new List <RaceDistance>(); //foreach (var recordId in model.DistanceIds) //{ // var currentRolePermission = distances.Where(a => a.Id == recordId).FirstOrDefault(); // if (currentRolePermission != null) // { // if (!RaceDistances.Any(a => a.DistanceId == recordId)) // { // // var currentUserRoleID = currentMenuRoles.First(a => a.Distance.RoleID == currentRolePermission.RoleID).RegionID; // var RaceDistanceRepo = new RaceDistance(); // //assignedRaceDistances.Add(RaceDistanceRepo.ToEntity(recordId, model.Id, model.SessionUserId)); // } // } //} for (int row = 0; row < model.DistanceIds.Count(); row++) { if (model.EventDateTimes[row] != null) { var currentDistance = distances.Where(a => a.Id == model.DistanceIds[row]).FirstOrDefault(); if (currentDistance != null) { if (!RaceDistances.Any(a => a.DistanceId == model.DistanceIds[row])) { var RaceDistanceRepo = new RaceDistance(); assignedRaceDistances.Add(RaceDistanceRepo.ToEntity((int)model.DistanceIds[row], model.Id, (DateTime)model.EventDateTimes[row], model.SessionUserId)); } } } } if (assignedRaceDistances.Count > 0) { await _context.RaceDistance.AddRangeAsync(assignedRaceDistances); await _context.SaveChangesAsync(); isSaveSuccess = true; } return(isSaveSuccess); }
public async Task <SaveResult> SaveEntityList(RaceViewModel model, Race parentEntity) { SaveResult saveResult = new SaveResult(); List <int> organisationIds = new List <int> { model.OrganisationId }; model.OrganisationIds = organisationIds; var currentEntities = parentEntity.RaceOrganisations; if (model.OrganisationIds == null) { if (currentEntities.Any()) { var RaceOrganisationIds = currentEntities.ToList().ToList().Select(b => b.Id); var toDeleteList = _context.RaceOrganisation.Where(a => RaceOrganisationIds.Contains(a.Id)); _context.RaceOrganisation.RemoveRange(toDeleteList); await _context.SaveChangesAsync(); saveResult.IsSuccess = true; } else { saveResult.IsSuccess = true; } } else { var regions = _context.Organisation.Where(a => model.OrganisationIds.Contains(a.Id)); if (currentEntities.Any()) { saveResult.IsSuccess = await AddRaceOrganisationWherePreviousExists(model, currentEntities, regions); if (saveResult.IsSuccess) { saveResult = await ManageExistingRaceOrganisation(model, currentEntities, regions); } } else { saveResult.IsSuccess = await AddEntity(model, currentEntities, regions); } } return(saveResult); }
public ActionResult FinalRace(RaceViewModel model) { OSUSurvey survey = db.Surveys.Find(model.SurveyID); SettingSet settings = db.SettingSets.Find(survey.SettingsID); Race race = db.Races.FirstOrDefault(x => x.SettingSetID == survey.SettingsID && x.RaceNum == settings.NumberOfRaces); survey.PointTotal = model.AfterPoints; db.Entry(survey).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("FollowUpIntroduction", new { id = model.SurveyID })); }
private async Task <SaveResult> EditEntityAsync(RaceViewModel model, RaceDistance record) { var saveResult = new SaveResult(); var editRaceDistance = await _context.RaceDistance.FindAsync(record.Id); // editRaceDistance.ToEntity(record.DistanceId, model.Id, model.SessionUserId); _context.Update(editRaceDistance); await _context.SaveChangesAsync(); saveResult.IsSuccess = true; return(saveResult); }
public IActionResult Delete([FromRoute] int id, RaceViewModel model) { if (ModelState.IsValid) { _raceRepository.Delete(id); return(RedirectToAction("/Index")); } ModelState.AddModelError("", "Errore generico"); return(View(model)); }
public void ViewModelToModelTest() { var viewModel = new RaceViewModel { Name = "a", RaceId = Guid.NewGuid() }; var result = _Sut.Map <Race>(viewModel); Assert.AreEqual(viewModel.Name, result.Name); Assert.AreEqual(viewModel.RaceId, result.RaceId); }
private async Task <SaveResult> EditEntityAsync(RaceViewModel model, RaceOrganisation record) { var saveResult = new SaveResult(); var editRaceOrganisation = await _context.RaceOrganisation.FindAsync(record.Id); editRaceOrganisation.ToEntity(record.OrganisationId, model.Id, model.SessionUserId); _context.Update(editRaceOrganisation); await _context.SaveChangesAsync(); saveResult.IsSuccess = true; return(saveResult); }