public PagedResponse <BrojKorisnikaLogs> GetAktivnosti([FromQuery] AktivnostiSearch obj) { var userEmail = usersService.GetRequestUserName(HttpContext.Request); aktivnostAutorizator.AuthorizeGet(userEmail); var respons = GetPagedResponse(obj); return(respons); }
private PagedResponse <BrojKorisnikaLogs> GetPagedResponse(AktivnostiSearch obj) { var listaAktivnosti = aktivnostiService.Get(obj); PagedResponse <BrojKorisnikaLogs> respons = new PagedResponse <BrojKorisnikaLogs>(); DateTime vrijeme = DateTime.Now.AddMonths(-(obj.Page - 1)); respons.Stavke = listaAktivnosti .Where(x => x.Datum.Year == vrijeme.Year && x.Datum.Month == vrijeme.Month).OrderBy(x => x.Datum).ToList(); int brojac = 1; DateTime zadnjiDatum = DateTime.Now; //O(n), i hash mapa bi isto O(n), isto kao i unutrasnja for petlja za preskakanje //treba mi unique kombinacija year month tj count njihov for (int i = 0; i < listaAktivnosti.Count; i++) { if (listaAktivnosti[i].Datum.Date.Year != zadnjiDatum.Date.Year || listaAktivnosti[i].Datum.Month != zadnjiDatum.Date.Month) { zadnjiDatum = listaAktivnosti[i].Datum.Date; brojac++; } } respons.TotalPageCount = brojac; AktivnostiSearch iducaKlon = obj.Clone() as AktivnostiSearch; iducaKlon.Page = (iducaKlon.Page + 1) > respons.TotalPageCount ? -1 : iducaKlon.Page + 1; String iduciUrl = iducaKlon.Page == -1 ? null : this.Url.Action("GetAktivnosti", "stranica", iducaKlon, Request.Scheme); AktivnostiSearch proslaKlon = obj.Clone() as AktivnostiSearch; proslaKlon.Page = (proslaKlon.Page - 1) < 0 ? -1 : proslaKlon.Page - 1; String prosliUrl = proslaKlon.Page == -1 ? null : this.Url.Action("GetAktivnosti", "stranica", proslaKlon, Request.Scheme); respons.IducaStranica = !String.IsNullOrWhiteSpace(iduciUrl) ? new Uri(iduciUrl) : null; respons.ProslaStranica = !String.IsNullOrWhiteSpace(prosliUrl) ? new Uri(prosliUrl) : null; return(respons); }
public override List <BrojKorisnikaLogs> Get(AktivnostiSearch obj = null) { var dbRez = db.BrojKorisnikaLog.OrderByDescending(x => x.Datum).ToList(); return(mapko.Map <List <BrojKorisnikaLogs> >(dbRez)); }