private MapComponentYears CreateMapComponent(SeedlingViewModel seedlingViewModel, Genotype genotype, Map map) { MapComponent newSeedling = new MapComponent() { GenotypeId = genotype.Id, Genotype = genotype, MapId = map.Id, Map = map, Row = seedlingViewModel.RowNum, PlantNum = seedlingViewModel.PlantNum, isSeedling = false }; u_repo.SaveMapComponent(newSeedling); MapComponentYears mapComponentYear = new MapComponentYears() { Answers = new List <Answer>(), YearsId = seedlingViewModel.MapYearId, MapComponentId = newSeedling.Id, MapComponent = newSeedling }; u_repo.SaveMapComponentYear(mapComponentYear); return(mapComponentYear); }
public static MapComponentSummaryViewModel ToMapComponentSummaryViewModel(this MapComponentYears mapComponent) { MapComponentSummaryViewModel viewmodel = Mapper.Map <MapComponentYears, MapComponentSummaryViewModel>(mapComponent); ICollection <Question> unanswered = mapComponent.MapComponent.Map.Questions; viewmodel.Answers = GenerateRowsFullAnswers(mapComponent.Id, viewmodel.MapComponentGenotypeId, unanswered, null); return(viewmodel); }
public MapComponentSummaryVM CreateSeedlingSelection(SeedlingViewModel seedlingViewModel) { var map = u_repo.GetMap(seedlingViewModel.MapId); MapComponentYears mapcomp = SaveSeedling(seedlingViewModel, map); MapComponentSummaryViewModel mapSummaryVM = mapcomp.ToMapComponentSummaryViewModel(); mapSummaryVM.PossibleFates = u_repo.GetFates().ToSelectList(t => t.Id.ToString(), t => t.Name, t => false); return(PhenotypeEntryRowFull(mapcomp, map.Questions.ToList())); }
public static MapComponentSummaryVM ToMapComponentSummaryVM(this MapComponentYears mc, MapComponentYears previous) { var mapComponentYear = mc.ToMapComponentSummaryVM(); if (previous != null && previous.Fates.Any()) { List <string> fates = previous.Fates.Select(f => f.Label).ToList(); mapComponentYear.PreviousFates = string.Join("; ", fates); } return(mapComponentYear); }
private void CreateMapComponentYears(IEnumerable <MapComponent> mapcomponents, Years year) { foreach (MapComponent mc in mapcomponents.ToList()) { MapComponentYears mcy = new MapComponentYears() { Year = year, YearsId = year.Id, MapComponent = mc, MapComponentId = mc.Id }; u_repo.SaveMapComponentYear(mcy); mc.MapComponentYears.Add(mcy); } }
/// <summary> /// Adds the map component year if it doesn't exist /// </summary> /// <param name="mapcomponent"></param> /// <param name="yearId"></param> private void UpdateMapComponentYears(MapComponent mapcomponent, int yearId) { MapComponent old = u_repo.GetMapComponent(mapcomponent.Id); MapComponentYears current = old.MapComponentYears.SingleOrDefault(t => t.YearsId == yearId); if (current.Id <= 0) { Years y = mapcomponent.Map.Years.SingleOrDefault(t => t.Id == yearId); current.MapComponentId = mapcomponent.Id; current.MapComponent = mapcomponent; current.Year = y; current.YearsId = y.Id; u_repo.SaveMapComponentYear(current); } }
private MapComponentYears SaveSeedling(SeedlingViewModel seedlingViewModel, Map map) { Genotype seedlingGen = u_repo.GetGenotype(seedlingViewModel.GenotypeId); if (seedlingGen == null) { throw new PhenotypeException("No Accession specified"); } var year = u_repo.GetYear(seedlingViewModel.MapYearId); Genotype selection = CreateGenotypeSelection(seedlingViewModel.GenotypeId, year.Year, seedlingViewModel.CreatedDate); MapComponentYears newSeedling = CreateMapComponent(seedlingViewModel, selection, map); return(newSeedling); }
private MapComponentSummaryVM PhenotypeEntryRowFull(MapComponentYears mapcomponentYear, List <Question> mapQuestions, Dictionary <int, MapComponentYears> previousYearComps = null) { MapComponentYears previous = null; if (previousYearComps != null) { previousYearComps.TryGetValue(mapcomponentYear.MapComponentId, out previous); } MapComponentSummaryVM row = mapcomponentYear.ToMapComponentSummaryVM(previous); IEnumerable <Question> unanswered = mapQuestions .Where(q => !row.QuestionToAnswer.Any(a => a.Key == q.Id.ToString())) .ToList(); row.QuestionToAnswer = PhenotypeEntryViewModelTranslator.GenerateRowsFullAnswerVMs(row.Id, row.Genotype.Id, row.Id, unanswered, row.QuestionToAnswer); return(row); }
public void DeleteMapComponentForYear(int mapcomponentId, int yearId) { MapComponent mapcomponent = u_repo.GetMapComponent(mapcomponentId); MapComponentYears mapcompyear = mapcomponent.MapComponentYears.SingleOrDefault(t => t.YearsId == yearId); if (mapcomponent == null) { throw new MapException(Properties.Settings.Default.ExceptionMapComponentInvalid); } if (mapcompyear.Answers.HasAny() || mapcompyear.Fates.HasAny() || !mapcompyear.Comments.IsNullOrWhiteSpace()) { throw new MapException(Properties.Settings.Default.ExceptionMapComponentYear); } u_repo.DeleteMapComponentYear(mapcompyear); }
private void CreateMapComponent(MapComponent mapcomponent, int yearId) { Map map = u_repo.GetMap(mapcomponent.MapId); Years y = map.Years.SingleOrDefault(t => t.Id == yearId); mapcomponent.Map = map; mapcomponent.CreatedYear = y.Year; u_repo.SaveMapComponent(mapcomponent); MapComponentYears mapcompyear = new MapComponentYears() { MapComponentId = mapcomponent.Id, Year = y, YearsId = y.Id }; u_repo.SaveMapComponentYear(mapcompyear); mapcomponent.MapComponentYears.Add(mapcompyear); }
public static MapComponentSummaryVM ToMapComponentSummaryVM(this MapComponentYears mc) { return(new MapComponentSummaryVM { Id = mc.Id, Genotype = mc.MapComponent?.Genotype?.ToGenotypeVM(), PickingNumber = mc.MapComponent?.PickingNumber, Row = mc.MapComponent?.Row, PlantNum = mc.MapComponent?.PlantNum, Comments = mc.Comments, Rep = mc.MapComponent?.Rep, Fates = mc.Fates?.Select(t => t.ToFateVM()), QuestionToAnswer = mc.Answers?.DistinctBy(t => t.QuestionId.ToString()) .ToDictionary(t => t.QuestionId.ToString(), t => t.ToAnswerVM()), MapName = mc.MapComponent.Map.FullName, EvalYear = mc.Year.Year ?? "", MapSeedling = mc.MapComponent.Map.IsSeedlingMap }); }
public ActionResult SaveComments(MapComponentSummaryViewModel viewModel) { ActionResult view = null; MapComponentYears mapcompyears = m_repo.GetMapComponentYear(viewModel.Id); mapcompyears.Comments = viewModel.Comments; try { m_repo.SaveMapComponentYearComment(mapcompyears); } catch (Exception e) { view = Json(new { Error = true, Message = e.Message }); } ViewBag.FlatTypes = new SelectList(m_repo.GetFlatTypes(), "Id", "Name"); return(view); }
public void SaveComments(MapComponentSummaryVM summary) { if (summary == null) { throw new PhenotypeException("Invalid viewModel"); } if (summary.Id < 0) { throw new PhenotypeException("Invalid viewModel"); } MapComponentYears mapcompyears = u_repo.GetMapComponentYear(summary.Id); mapcompyears.Comments = summary.Comments; try { u_repo.DoSaveMapComponentYear(mapcompyears); } catch (ArgumentNullException) { throw new PhenotypeException("Invalid mapcompyears to save"); } }