public List <ObrokReklamacijaDto> DanasUplaceniObrociKorisnika([FromUri] int id, [FromUri] string sid) { try { SesijeProvajder.OtvoriSesiju(); if (!ProvajderPodatakaKorisnika.SesijaValidna(sid)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Sesija istekla") }); } if (!ValidatorPrivilegija.KorisnikImaPrivilegiju(sid, ValidatorPrivilegija.UserPrivilegies.CitanjeObrok)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } List <Obrok> danasUplaceniObrociOvogKorisnika = ProvajderPodatakaObroka.DanasUplaceniNeiskorisceniObrociKorisnika(id); List <ObrokReklamacijaDto> listaDanasUplacenihObroka = new List <ObrokReklamacijaDto>(danasUplaceniObrociOvogKorisnika.Count); foreach (Obrok o in danasUplaceniObrociOvogKorisnika) { listaDanasUplacenihObroka.Add(new ObrokReklamacijaDto() { Datum = o.DatumUplacivanja, idMenza = o.LokacijaUplate.IdMenza, IdObroka = o.IdObroka, IdTipaObroka = o.Tip.IdTipObroka }); } return(listaDanasUplacenihObroka); } catch (Exception e) { if (e is HttpResponseException) { throw e; } DnevnikIzuzetaka.Zabelezi(e); throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError) { Content = new StringContent("InternalError: " + e.Message) }); } finally { SesijeProvajder.ZatvoriSesiju(); } }
public IHttpActionResult SkiniPogresnoUplaceneObroke([FromUri] int id, [FromUri] string sid) { try { SesijeProvajder.OtvoriSesiju(); if (!ProvajderPodatakaKorisnika.SesijaValidna(sid)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Sesija istekla") }); } if (!ValidatorPrivilegija.KorisnikImaPrivilegiju(sid, ValidatorPrivilegija.UserPrivilegies.BrisanjeObrok)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } Obrok o = ProvajderPodatakaObroka.VratiObrok(id); if (o != null && ProvajderPodatakaObroka.DanasUplaceniNeiskorisceniObrociKorisnika(o.Uplatilac.IdKorisnika).Contains(o)) { ProvajderPodatakaObroka.ObrisiObrok(id); } return(Ok("Korekcija uspesno obavljena.")); } catch (Exception e) { if (e is HttpResponseException) { throw e; } DnevnikIzuzetaka.Zabelezi(e); throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError) { Content = new StringContent("InternalError: " + e.Message) }); } finally { SesijeProvajder.ZatvoriSesiju(); } }