/// <summary>
        /// Zwraca wszystkie odznaki, które mogą być przekazane do weryfikacji
        /// </summary>
        /// <returns></returns>
        public List <OdznakaModel> GetOdznakiDoWeryfikacji()
        {
            if (turysciContext == null)
            {
                turysciContext = TurysciContext.GetInstance();
            }
            if (wycieczkiContext == null)
            {
                wycieczkiContext = WycieczkiContext.GetInstance();
            }

            List <OdznakaModel> odznakiList      = new List <OdznakaModel>();
            List <Odznaka>      odznakiWszystkie = DAO.GetAll();

            foreach (Odznaka o in odznakiWszystkie)
            {
                if (o.CzyDoWeryfikacji && !o.CzyZweryfikowana)
                {
                    TurystaModel t            = turysciContext.GetModel(o.IdTurysty);
                    OdznakaModel odznakaModel = new OdznakaModel()
                    {
                        Id = o.Id, Rodzaj = o.Rodzaj, Stopien = o.Stopien, MinPkt = o.MinPkt, DataRozpoczecia = o.DataRozpoczecia, NrPracownika = o.NrPracownika
                    };
                    odznakaModel.Turysta = t;
                    SetImage(ref odznakaModel);
                    DodajWycieczki(ref odznakaModel);

                    odznakiList.Add(odznakaModel);
                }
            }
            return(odznakiList);
        }
        public List <WycieczkaModel> GetWszystkie()
        {
            List <Wycieczka>      wycieczki          = DAO.GetAll();
            WycieczkaModel        wycieczkaModel     = null;
            List <WycieczkaModel> wycieczkiModelList = new List <WycieczkaModel>();

            OdznakiContext odznakiContext = OdznakiContext.GetInstance();

            for (int i = 0; i < wycieczki.Count; i++)
            {
                Wycieczka    wycieczka = wycieczki[i];
                OdznakaModel odznaka   = odznakiContext.GetModel(wycieczka.IdCyklu);
                wycieczkaModel = new WycieczkaModel(ref odznaka)
                {
                    Id              = wycieczka.Id,
                    NrPrzodownika   = wycieczka.NrPrzodownika,
                    Nazwa           = wycieczka.Nazwa,
                    DataRozpoczecia = wycieczka.DataRozpoczecia,
                    DataZakonczenia = wycieczka.DataZakonczenia,
                    ObszarGorski    = wycieczka.ObszarGorski,
                    Trasa           = wycieczka.Trasa,
                    PunktPoczatkowy = wycieczka.PunktPoczatkowy,
                    Wysokosc        = wycieczka.Wysokosc,
                    Dlugosc         = wycieczka.Dlugosc,
                    Punktacja       = wycieczka.Punktacja
                };

                switch (wycieczka.Status)
                {
                case Utils.STATUS_POTWIERDZONA_STRING:
                    wycieczkaModel.Status = StatusyPotwierdzenia.POTWIERDZONA;
                    break;

                case Utils.STATUS_NIEPOTWIERDZONA_STRING:
                    wycieczkaModel.Status = StatusyPotwierdzenia.NIEPOTWIERDZONA;
                    break;

                case Utils.STATUS_WTRAKCIE_STRING:
                    wycieczkaModel.Status = StatusyPotwierdzenia.WTRAKCIE;
                    break;
                }

                wycieczkiModelList.Add(wycieczkaModel);
            }
            return(wycieczkiModelList);
        }
        /// <summary>
        /// Funkcja zwracają model wycieczke, o identyfikatorze podanym w parametrze.
        /// Zwraca null jeżeli wycieczka o podanym id nie istnieje.
        /// </summary>
        /// <param name="numer">Id wycieczki w bazie</param>
        /// <returns></returns>
        public WycieczkaModel GetModel(long Id)
        {
            Wycieczka      wycieczka      = DAO.Find(Id);
            WycieczkaModel wycieczkaModel = null;

            if (wycieczka != null)
            {
                OdznakiContext odznakiContext = OdznakiContext.GetInstance();
                OdznakaModel   odznaka        = odznakiContext.GetModel(wycieczka.IdCyklu);
                wycieczkaModel = new WycieczkaModel(ref odznaka)
                {
                    Id              = wycieczka.Id,
                    NrPrzodownika   = wycieczka.NrPrzodownika,
                    Nazwa           = wycieczka.Nazwa,
                    DataRozpoczecia = wycieczka.DataRozpoczecia,
                    DataZakonczenia = wycieczka.DataZakonczenia,
                    ObszarGorski    = wycieczka.ObszarGorski,
                    Trasa           = wycieczka.Trasa,
                    PunktPoczatkowy = wycieczka.PunktPoczatkowy,
                    Wysokosc        = wycieczka.Wysokosc,
                    Dlugosc         = wycieczka.Dlugosc,
                    Punktacja       = wycieczka.Punktacja
                };

                switch (wycieczka.Status)
                {
                case Utils.STATUS_POTWIERDZONA_STRING:
                    wycieczkaModel.Status = StatusyPotwierdzenia.POTWIERDZONA;
                    break;

                case Utils.STATUS_NIEPOTWIERDZONA_STRING:
                    wycieczkaModel.Status = StatusyPotwierdzenia.NIEPOTWIERDZONA;
                    break;

                case Utils.STATUS_WTRAKCIE_STRING:
                    wycieczkaModel.Status = StatusyPotwierdzenia.WTRAKCIE;
                    break;
                }
            }
            return(wycieczkaModel);
        }
        /// <summary>
        /// Dodawanie modeli wycieczek do modelu odznaki powiązanych z wycieczkami
        /// </summary>
        /// <param name="odznakaModel"></param>
        private void DodajWycieczki(ref OdznakaModel odznakaModel)
        {
            long             idOdznaki          = odznakaModel.Id;
            List <Wycieczka> wycieczkiNaOdznake = wycieczkiContext.DAO.GetAll().Where(e => e.IdCyklu == idOdznaki).ToList();

            foreach (Wycieczka wycieczka in wycieczkiNaOdznake)
            {
                WycieczkaModel wycieczkaModel = new WycieczkaModel(ref odznakaModel)
                {
                    Id              = wycieczka.Id,
                    NrPrzodownika   = wycieczka.NrPrzodownika,
                    Nazwa           = wycieczka.Nazwa,
                    DataRozpoczecia = wycieczka.DataRozpoczecia,
                    DataZakonczenia = wycieczka.DataZakonczenia,
                    ObszarGorski    = wycieczka.ObszarGorski,
                    Trasa           = wycieczka.Trasa,
                    PunktPoczatkowy = wycieczka.PunktPoczatkowy,
                    Wysokosc        = wycieczka.Wysokosc,
                    Dlugosc         = wycieczka.Dlugosc,
                    Punktacja       = wycieczka.Punktacja
                };

                switch (wycieczka.Status)
                {
                case Utils.STATUS_POTWIERDZONA_STRING:
                    wycieczkaModel.Status = StatusyPotwierdzenia.POTWIERDZONA;
                    break;

                case Utils.STATUS_NIEPOTWIERDZONA_STRING:
                    wycieczkaModel.Status = StatusyPotwierdzenia.NIEPOTWIERDZONA;
                    break;

                case Utils.STATUS_WTRAKCIE_STRING:
                    wycieczkaModel.Status = StatusyPotwierdzenia.WTRAKCIE;
                    break;
                }

                odznakaModel.DodajWycieczke(wycieczkaModel);
            }
        }
        /// <summary>
        /// Funkcja ustawiająca image path dla ikony odznaki ze względu na rodzaj i stopien odznaki
        /// </summary>
        /// <param name="o">referencja do odznaki</param>
        private void SetImage(ref OdznakaModel o)
        {
            string typ = o.Stopien + " " + o.Rodzaj;

            Console.WriteLine(typ);
            switch (typ)
            {
            case "brazowa mala":
                o.ImgPath = MALA_BRAZOWA_IMG_PATH;
                break;

            case "brazowy w gory":
                o.ImgPath = W_GORY_BRAZOWA_IMG_PATH;
                break;

            case "popularna":
                o.ImgPath = POPULARNA_IMG_PATH;
                break;

            default:
                o.ImgPath = POPULARNA_IMG_PATH;
                break;
            }
        }
        /// <summary>
        /// Funkcja zwracają model pracownika, o numerze podanym w parametrze, z bazy.
        /// Zwraca null jeżeli pracownik o podanym numerze nie istnieje.
        /// </summary>
        /// <param name="numer">Numer pracownika identyfikujący pracaownika w bazie</param>
        /// <returns></returns>
        public OdznakaModel GetModel(long Id)
        {
            if (turysciContext == null)
            {
                turysciContext = TurysciContext.GetInstance();
            }
            if (wycieczkiContext == null)
            {
                wycieczkiContext = WycieczkiContext.GetInstance();
            }

            Odznaka      o            = DAO.Find(Id);
            TurystaModel t            = turysciContext.GetModel(o.IdTurysty);
            OdznakaModel odznakaModel = new OdznakaModel()
            {
                Id = o.Id, Rodzaj = o.Rodzaj, Stopien = o.Stopien, MinPkt = o.MinPkt, DataRozpoczecia = o.DataRozpoczecia, NrPracownika = o.NrPracownika
            };

            odznakaModel.Turysta = t;
            SetImage(ref odznakaModel);
            DodajWycieczki(ref odznakaModel);

            return(odznakaModel);
        }
 public WycieczkaModel(ref OdznakaModel odznaka)
 {
     Turysta = odznaka.Turysta;
     Odznaka = odznaka;
 }