/// <summary> /// Skapa en startlista utifrån en lista på registreringar /// </summary> /// <param name="registreringar"></param> /// <returns></returns> public static StartlistaViewModel GetStartlist(IList <Registreringar> registreringar, string Evenemang, IList <Banor> banor, IList <Klasser> klasser) { var regList = new StartlistaViewModel(); regList.Evenemang = Evenemang; // Skapa lista på banor foreach (var bana in banor) { var banReg = new RegBanorViewModel { Namn = bana.Namn }; regList.BanLista.Add(banReg); foreach (var klass in klasser) { banReg.KlassLista.Add(new RegKlassViewModel { Namn = klass.Namn }); } } // Iterera över alla registreringar och mappa objekten samt stoppa in dem i rätt lista foreach (var reg in registreringar) { // Mappa registreringen var registrering = new RegistreringViewModel { Lagnamn = reg.Lagnamn, DeltagarLista = new List <DeltagareSimple>(), Klubb = reg.Klubb }; // Mappa deltagarna foreach (var deltagare in reg.Deltagare) { var deltagareViewModel = new DeltagareSimple { Namn = string.Format("{0} {1}", deltagare.Förnamn, deltagare.Efternamn) }; registrering.DeltagarLista.Add(deltagareViewModel); } // Hitta rätt lista att stoppa in registreringen i var banList = regList.BanLista.FirstOrDefault(banReg => banReg.Namn == reg.Bana.Namn); var klassList = banList.KlassLista.FirstOrDefault(klassL => klassL.Namn == reg.Klass.Namn); klassList.RegistreringarList.Add(registrering); } return(regList); }
public Registrering(BusinessManager businessManager) { InitializeComponent(); BusinessManager = businessManager; vm = new RegistreringViewModel(BusinessManager); this.DataContext = vm; if (vm.TillbakaAction == null) { vm.TillbakaAction = new Action(this.Close); } ProgramCB.ItemsSource = Enum.GetValues(typeof(Utbildning)).Cast <Utbildning>(); }