public async Task <ActionResult> GetMojeInstance([FromQuery] MojaKursInstancaFilter model)
 {
     try
     {
         return(Ok(await _kursInstancaService.GetMojiKursevi(UserResolver.GetUposlenikId(HttpContext.User), model)));
     }
     catch (Exception ex)
     {
         return(BadRequest(new ApiException(ex.Message, System.Net.HttpStatusCode.BadRequest)));
     }
 }
        private async Task LoadInstance()
        {
            try
            {
                var filter = new MojaKursInstancaFilter
                {
                    NisuZavrseni = checkedFilter.GetItemChecked(1),
                    Zavrseni     = checkedFilter.GetItemChecked(0)
                };
                var result = await _kursInstancaService.Get <List <MojaKursInstanca> >(filter);

                gridInstance.DataSource = result;
                gridInstance.Columns[nameof(MojaKursInstanca.KursInstancaId)].Visible            = false;
                gridInstance.Columns[nameof(MojaKursInstanca.UposlenikId)].Visible               = false;
                gridInstance.Columns[nameof(MojaKursInstanca.UposlenikIme)].Visible              = false;
                gridInstance.Columns[nameof(MojaKursInstanca.UposlenikPrezime)].Visible          = false;
                gridInstance.Columns[nameof(MojaKursInstanca.KrajDate)].Visible                  = false;
                gridInstance.Columns[nameof(MojaKursInstanca.Kapacitet)].Visible                 = false;
                gridInstance.Columns[nameof(MojaKursInstanca.BrojCasova)].Visible                = false;
                gridInstance.Columns[nameof(MojaKursInstanca.IspitOrganizovan)].Visible          = false;
                gridInstance.Columns[nameof(MojaKursInstanca.IspitId)].Visible                   = false;
                gridInstance.Columns[nameof(MojaKursInstanca.UposlenikImeIPrezime)].HeaderText   = "Predavač";
                gridInstance.Columns[nameof(MojaKursInstanca.Pocetak)].HeaderText                = "Datum početka";
                gridInstance.Columns[nameof(MojaKursInstanca.KrajOpis)].HeaderText               = "Datum kraja";
                gridInstance.Columns[nameof(MojaKursInstanca.KursNaziv)].HeaderText              = "Kurs";
                gridInstance.Columns[nameof(MojaKursInstanca.KursSkraceniNaziv)].HeaderText      = "Kurs (Skraćenica)";
                gridInstance.Columns[nameof(MojaKursInstanca.BrojKlijenata)].HeaderText          = "Broj klijenata";
                gridInstance.Columns[nameof(MojaKursInstanca.ZavrsenOpis)].HeaderText            = "Status";
                gridInstance.Columns[nameof(MojaKursInstanca.PrijaveDo)].HeaderText              = "Krajnji rok za prijave";
                gridInstance.Columns[nameof(MojaKursInstanca.KapacitetOpis)].HeaderText          = "Kapacitet";
                gridInstance.Columns[nameof(MojaKursInstanca.KursNaziv)].DisplayIndex            = 0;
                gridInstance.Columns[nameof(MojaKursInstanca.KursSkraceniNaziv)].DisplayIndex    = 1;
                gridInstance.Columns[nameof(MojaKursInstanca.UposlenikImeIPrezime)].DisplayIndex = 2;
                gridInstance.Columns[nameof(MojaKursInstanca.ZavrsenOpis)].DisplayIndex          = 3;
                gridInstance.Columns[nameof(MojaKursInstanca.Pocetak)].DisplayIndex              = 4;
                gridInstance.Columns[nameof(MojaKursInstanca.KrajOpis)].DisplayIndex             = 5;
                gridInstance.Columns[nameof(MojaKursInstanca.PrijaveDo)].DisplayIndex            = 6;
                gridInstance.Columns[nameof(MojaKursInstanca.KapacitetOpis)].DisplayIndex        = 7;
                gridInstance.Columns[nameof(MojaKursInstanca.BrojKlijenata)].DisplayIndex        = 8;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
예제 #3
0
        public async Task <List <MojaKursInstanca> > GetMojiKursevi(int uposlenikId, MojaKursInstancaFilter model)
        {
            try
            {
                var query = _context.KursInstanca
                            .Include(ki => ki.Kurs)
                            .Include(ki => ki.Uposlenik)
                            .ThenInclude(u => u.ApplicationUser)
                            .Where(ki => ki.UposlenikId == uposlenikId)
                            .OrderByDescending(ki => ki.PocetakDatum)
                            .AsQueryable();
                if (model != null)
                {
                    if (model.Zavrseni && !model.NisuZavrseni)
                    {
                        query = query.Where(r => r.KrajDatum != null);
                    }
                    else if (model.NisuZavrseni && !model.Zavrseni)
                    {
                        query = query.Where(r => r.KrajDatum == null);
                    }
                    else if (!model.Zavrseni && !model.NisuZavrseni)
                    {
                        query = query.Take(0);
                    }
                }
                var result = await query.ToListAsync();

                var returnModel = new List <MojaKursInstanca>();
                foreach (var r in result)
                {
                    returnModel.Add(MapKursInstancaToMojaKursInstanca(r));
                }
                return(returnModel);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }