public async Task <ActionResult> GetReport([FromBody] UplataFilterModel model) { try { return(Ok(await _uplataService.GetReport(UserResolver.GetUserRoles(HttpContext.User), UserResolver.GetUserId(HttpContext.User), model))); } catch (Exception ex) { return(BadRequest(new ApiException(ex.Message, System.Net.HttpStatusCode.BadRequest))); } }
private async Task <List <UplataModel> > LoadUplate() { var queryModel = new UplataFilterModel { Do = dateDo.Value, Od = dateOd.Value }; if (comboKlijent.SelectedIndex != 0) { queryModel.KlijentId = int.Parse(comboKlijent.SelectedValue.ToString()); } var result = await _uplataService.Insert <List <UplataModel> >(queryModel); return(result); }
public async Task <List <UplataModel> > GetReport(List <string> listsRoles, int userId, UplataFilterModel model) { try { if (listsRoles.Contains("Klijent") && (model == null || model.KlijentId == null || model.KlijentId != userId)) { throw new Exception("Nemate pristup ovim podacima."); } var query = _context.Uplata .Include(u => u.TipUplate) .Include(u => u.Klijent.ApplicationUser) .AsQueryable(); if (model != null) { if (model.Do != null) { var doDatum = (DateTime)model.Do; query = query.Where(u => u.DatumUplate.Date <= doDatum.Date); } if (model.Od != null) { var odDatum = (DateTime)model.Od; query = query.Where(u => u.DatumUplate.Date >= odDatum.Date); } if (model.KlijentId != null) { query = query.Where(u => u.KlijentId == model.KlijentId); } } var result = await query.ToListAsync(); var returnModel = new List <UplataModel>(); result.ForEach(r => returnModel.Add(MapUplataToUplataModel(r))); return(returnModel); } catch (Exception ex) { throw new Exception(ex.Message); } }