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); } }
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 { } }