private async Task <List <MojaKursInstancaForReport> > LoadKursevi()
        {
            var queryModel = new KursInstancaFilter
            {
                DateDo = dateDo.Value,
                DateOd = dateOd.Value,
            };

            if (comboBroj.SelectedValue != null)
            {
                queryModel.TakeThisMany = (int)comboBroj.SelectedValue;
            }
            else
            {
                var isBroj = int.TryParse(comboBroj.Text.ToString(), out int broj);
                if (isBroj)
                {
                    queryModel.TakeThisMany = broj;
                }
                else
                {
                    queryModel.TakeThisMany = 5;
                }
            }
            var result = await _kursInstancaService.Insert <List <MojaKursInstancaForReport> >(queryModel);

            return(result);
        }
 public async Task <ActionResult> GetReport([FromBody] KursInstancaFilter model)
 {
     try
     {
         return(Ok(await _kursInstancaService.GetReport(model)));
     }
     catch (Exception ex)
     {
         return(BadRequest(new ApiException(ex.Message, System.Net.HttpStatusCode.BadRequest)));
     }
 }
Exemple #3
0
        public async Task <List <MojaKursInstancaForReport> > GetReport(KursInstancaFilter model)
        {
            try
            {
                var query = _context.KursInstanca
                            .Include(ki => ki.Kurs)
                            .Include(ki => ki.Uposlenik)
                            .ThenInclude(u => u.ApplicationUser)
                            .AsQueryable();
                if (model != null)
                {
                    if (model.DateDo != null)
                    {
                        var doDatum = (DateTime)model.DateDo;
                        query = query.Where(u => u.PocetakDatum.Date <= doDatum.Date);
                    }
                    if (model.DateOd != null)
                    {
                        var odDatum = (DateTime)model.DateOd;
                        query = query.Where(u => u.PocetakDatum.Date >= odDatum.Date);
                    }
                }
                var result = await query.ToListAsync();

                var returnModel = new List <MojaKursInstancaForReport>();
                foreach (var r in result)
                {
                    var item   = MapKursInstancaToMojaKursInstanca(r);
                    var insert = _mapper.Map <MojaKursInstancaForReport>(item);
                    insert.DatePocetak = insert.Pocetak.ToString("dd/MM/yyyy");
                    returnModel.Add(insert);
                }
                returnModel = returnModel.OrderByDescending(k => k.BrojKlijenata).ToList();
                if (model.TakeThisMany != null)
                {
                    returnModel = returnModel.Take((int)model.TakeThisMany).ToList();
                }
                return(returnModel);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }