示例#1
0
        /// <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);
        }
示例#2
0
        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>();
        }