Ejemplo n.º 1
0
        public async Task <KursDataModel> GetKursData(int instancaId, int klijentId)
        {
            try
            {
                var instanca = _context.KursInstanca
                               .Include(k => k.Kurs)
                               .Include(k => k.Uposlenik)
                               .ThenInclude(u => u.ApplicationUser)
                               .Include(k => k.Casovi)
                               .Where(k => k.Id == instancaId)
                               .FirstOrDefault();
                var klijentInstanca = _context.KlijentKursInstanca
                                      .Where(k => k.KursInstancaId == instancaId && k.KlijentId == klijentId)
                                      .FirstOrDefault();

                var returnModel = new KursDataModel
                {
                    BrojCasova             = instanca.BrojCasova,
                    Cijena                 = instanca.Cijena,
                    DatumKraja             = instanca.KrajDatum,
                    DatumPocetka           = instanca.PocetakDatum,
                    DatumPrijaveDo         = instanca.PrijaveDoDatum,
                    KursInstancaId         = instanca.Id,
                    Naziv                  = instanca.Kurs.Naziv,
                    Kapacitet              = instanca.Kapacitet,
                    Opis                   = instanca.Kurs.Opis,
                    Predavac               = instanca.Uposlenik.ApplicationUser.Ime + " " + instanca.Uposlenik.ApplicationUser.Prezime,
                    Ocijenjen              = false,
                    Zavrsen                = false,
                    PrijavljenIAktivan     = false,
                    PrijavljenAliNeUplacen = false,
                    NijePrijavljen         = true
                };
                if (instanca.KrajDatum != null)
                {
                    returnModel.Zavrsen = true;
                }
                if (klijentInstanca != null)
                {
                    returnModel.NijePrijavljen = false;
                    if (klijentInstanca.Active)
                    {
                        returnModel.PrijavljenIAktivan = true;
                    }
                    else if (klijentInstanca.UplataIzvrsena != null && klijentInstanca.UplataIzvrsena == false)
                    {
                        returnModel.PrijavljenAliNeUplacen = true;
                    }
                    var ispitKlijent = _context.IspitKlijentKursInstanca
                                       .Include(i => i.Ispit)
                                       .Where(i => i.KlijentKursInstancaId == klijentInstanca.Id)
                                       .FirstOrDefault();
                    returnModel.Casovi = _mapper.Map <List <CasModel> >(instanca.Casovi);
                    returnModel.KlijentKursInstancaId = klijentInstanca.Id;
                    returnModel.Ocjena = klijentInstanca.Rejting;
                    if (klijentInstanca.Rejting != null)
                    {
                        returnModel.Ocijenjen = true;
                    }
                    returnModel.Polozen        = klijentInstanca.Polozen;
                    returnModel.UplataIzvrsena = klijentInstanca.UplataIzvrsena;
                    if (ispitKlijent != null)
                    {
                        returnModel.VrijemeIspit      = ispitKlijent.Ispit.DatumVrijemeIspita;
                        returnModel.PrisustvovoIspitu = ispitKlijent.Prisustvovao;
                        returnModel.LokacijaIspit     = ispitKlijent.Ispit.Lokacija;
                        returnModel.IspitPoeni        = ispitKlijent.Bodovi;
                    }
                }
                return(returnModel);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Ejemplo n.º 2
0
        private void Setup(KursDataModel model)
        {
            try
            {
                Naziv            = model.Naziv;
                Predavac         = model.Predavac;
                Opis             = model.Opis;
                Kapacitet        = model.Kapacitet;
                BrojCasova       = model.BrojCasova;
                ImaKapacitet     = (Kapacitet != null);
                PrikaziKapacitet = false;
                PrikaziCijenu    = false;
                Cijena           = model.Cijena;
                Ocjena           = model.Ocjena;

                PrijavljenAliNeUplacen = model.PrijavljenAliNeUplacen;
                NijePrijavljen         = model.NijePrijavljen;
                PrijavljenIAktivan     = model.PrijavljenIAktivan;

                if (ImaKapacitet && NijePrijavljen)
                {
                    PrikaziKapacitet = true;
                }
                if (Cijena != null && (NijePrijavljen || PrijavljenAliNeUplacen))
                {
                    PrikaziCijenu = true;
                }
                DatumPrijaveDo = model.DatumPrijaveDo;
                DatumPocetka   = model.DatumPocetka;
                DatumKraja     = model.DatumKraja;
                Zavrsen        = model.Zavrsen;

                LokacijaIspit     = model.LokacijaIspit;
                VrijemeIspit      = model.VrijemeIspit;
                IspitPoeni        = model.IspitPoeni;
                PrisustvovoIspitu = model.PrisustvovoIspitu;

                PrikaziNadolazeciIspit = false;
                PrikaziZavrsenIspit    = false;
                PrikaziNadolazeciIspit = false;
                ImaPrisustvoNaIspitu   = false;
                NemaPrisustvoNaIspitu  = false;
                if (VrijemeIspit != null)
                {
                    var vi = (DateTime)VrijemeIspit;
                    if (PrisustvovoIspitu != null && vi.Date <= DateTime.Now.Date)
                    {
                        if ((bool)PrisustvovoIspitu)
                        {
                            ImaPrisustvoNaIspitu = true;
                        }
                        else
                        {
                            NemaPrisustvoNaIspitu = true;
                        }
                        PrikaziZavrsenIspit = true;
                    }
                    else
                    {
                        PrikaziNadolazeciIspit = true;
                    }
                }

                Polozen     = model.Polozen;
                NijePolozen = !Polozen;

                var zavrseniCasovi = model.Casovi
                                     .Where(c => c.Odrzan == true)
                                     .OrderByDescending(c => c.DatumVrijemeOdrzavanja)
                                     .ToList();
                var neodrzaniCasovi = model.Casovi
                                      .Where(c => c.Odrzan == false)
                                      .OrderByDescending(c => c.DatumVrijemeOdrzavanja)
                                      .ToList();
                Progres        = zavrseniCasovi.Count / (float)BrojCasova;
                Progres_Value  = (Progres * 100).ToString("F0");
                NadolazeciList = new ObservableCollection <CasModel>(neodrzaniCasovi);
                OdrzaniList    = new ObservableCollection <CasModel>(zavrseniCasovi);

                MozeOstavitOcjenu = false;
                if (PrijavljenIAktivan || Zavrsen)
                {
                    MozeOstavitOcjenu = true;
                }
            }
            catch { }
        }