public IHttpActionResult UpdateMenzu([FromBody] MenzaFullDto mdto, [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.ModifikacijaMenza)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } Menza m = ProvajderPodatakaMenzi.VratiMenzu(mdto.IdMenze); if (m == null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Menza za modifikaciju nije pronadjena") }); } m.Naziv = mdto.Naziv; m.Lokacija = mdto.Lokacija; m.RadnoVreme = mdto.RadnoVreme; m.VanrednoNeRadi = mdto.VanrednoNeRadi; m.GpsLat = mdto.GpsLat; m.GpsLon = mdto.GpsLong; ProvajderPodatakaMenzi.UpdateMenzu(m); return(Ok("Menza uspesno modifikovana")); } 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 int GuzvaZaUplatu([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.CitanjeGuzvaMenza)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } Menza m = null; m = ProvajderPodatakaMenzi.VratiMenzu(id); if (m == null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Menza nije pronadjena") }); } int procenatGuzveZaUplatu = Convert.ToInt32(ProvajderPodatakaMenzi.BrojObrokaUplacenihUPoslednjihPetMinuta(id) * 0.1); if (procenatGuzveZaUplatu > 100) { procenatGuzveZaUplatu = 100; } return(procenatGuzveZaUplatu); } 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 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 HttpResponseMessage SMSServis(FormDataCollection data) { string sms_text = data.Get("message"); string secret = data.Get("secret"); if (secret != "secreta") { return(Request.CreateResponse(HttpStatusCode.OK, "Mensarium SMS Servis GRESKA: Neuspela autentfikacija!")); } string[] sadrzaj = sms_text.Split(' '); if (sadrzaj[0] != "MENSARIUM") { return(null); } int id = int.Parse(sadrzaj[1]); string tip = sadrzaj[2]; int brojObroka = int.Parse(sadrzaj[3]); try { SesijeProvajder.OtvoriSesiju(); bool status = ProvajderPodatakaObroka.UplatiObrok(id, brojObroka, ProvajderPodatakaObroka.SmsUplate[tip]); if (!status) { return(Request.CreateResponse(HttpStatusCode.OK, "Greska: nevalidni parametri")); } Korisnik k = ProvajderPodatakaKorisnika.VratiKorisnika(id); KorisnikStanjeDto stanje = ProvajderPodatakaKorisnika.Stanje(k); string odgovor = string.Format("Uspešno ste uplatili {0} obroka tipa {1}. Stanje: " + "Doručak: {2} Ručak: {3} Večera: {4}", brojObroka, tip.ToLower(), stanje.BrojDorucka, stanje.BrojRuckova, stanje.BrojVecera); return(Request.CreateResponse(HttpStatusCode.OK, odgovor)); } catch (Exception ex) { return(Request.CreateResponse(HttpStatusCode.OK, "SMS SERVIS INTERNA GRESKA. POKUSAJTE KASNIJE")); } finally { SesijeProvajder.ZatvoriSesiju(); } }
public FakultetFullDto VratiFakultetFull([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.CitanjeFakultet)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } Fakultet f = null; FakultetFullDto fakultet = new FakultetFullDto(); f = ProvajderPodatakaFakulteta.VratiFakultet(id); if (f == null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Fakultet nije pronadjen") }); } fakultet.IdFakultet = f.IdFakultet; fakultet.Naziv = f.Naziv; return(fakultet); } 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 UpdateFakultet([FromBody] FakultetFullDto fdto, [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.ModifikacijaFakultet)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } Fakultet f = ProvajderPodatakaFakulteta.VratiFakultet(fdto.IdFakultet); if (f == null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Fakultet za modifikaciju nije pronadjen") }); } f.Naziv = fdto.Naziv; ProvajderPodatakaFakulteta.UpdateFakultet(f); return(Ok("Fakutet uspesno modifikovan")); } 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 ObrisiMenzu([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.BrisanjeMenza)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } Menza m = null; m = ProvajderPodatakaMenzi.VratiMenzu(id); if (m == null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Menza za brisanje nije pronadjena") }); } ProvajderPodatakaMenzi.ObrisiMenzu(id); return(Ok("Menza uspesno obrisana")); } 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 VratiPogresnoSkinuteObroke([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.ModifikacijaObrok)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } Obrok o = ProvajderPodatakaObroka.VratiObrok(id); if (o != null && ProvajderPodatakaObroka.DanasSkinutiObrociKorisnika(o.Uplatilac.IdKorisnika).Contains(o)) { o.DatumIskoriscenja = null; o.Iskoriscen = false; o.LokacijaIskoriscenja = null; ProvajderPodatakaObroka.UpdateObrok(o); } 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(); } }
public IHttpActionResult ObrisiFakultet([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.BrisanjeFakultet)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } Fakultet f = null; f = ProvajderPodatakaFakulteta.VratiFakultet(id); if (f == null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Fakultet za brisanje nije pronadjen") }); } ProvajderPodatakaFakulteta.ObrisiFakultet(id); return(Ok("Fakutet uspesno obrisan")); } catch (Exception e) { if (e is HttpResponseException) { throw e; } DnevnikIzuzetaka.Zabelezi(e); throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.InternalServerError) { Content = new StringContent("Fakultet nije moguce obrisati") }); } finally { SesijeProvajder.ZatvoriSesiju(); } }
public IHttpActionResult DodajMenzu([FromBody] MenzaFullDto mdto, [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.DodavanjeMenza)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } ProvajderPodatakaMenzi.DodajMenzu(new Menza() { Lokacija = mdto.Lokacija, Naziv = mdto.Naziv, RadnoVreme = mdto.RadnoVreme, VanrednoNeRadi = mdto.VanrednoNeRadi, GpsLat = mdto.GpsLat, GpsLon = mdto.GpsLong }); return(Ok("Menza uspesno dodata")); } 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 ObjavaCUDto Objavi(int id, [FromBody] ObjavaCUDto ocdto, [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.PracenjeKorisnika)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } ObjavaCUDto o = ProvajderPodatakaObjava.Objavi(id, ocdto); if (o == null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Fakultet nije pronadjen") }); } return(o); } 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 DodajFakultet([FromBody] FakultetFullDto fdto, [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.DodavanjeFakultet)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } Fakultet f = new Fakultet() { Naziv = fdto.Naziv }; ProvajderPodatakaFakulteta.DodajFakultet(f); return(Ok("Fakutet uspesno dodat")); } 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) }); //throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent("Fakultet nije napravljen!") }); } finally { SesijeProvajder.ZatvoriSesiju(); } }
public KorisnikStanjeDto VratiCenuObroka([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") }); } //za demo return(new KorisnikStanjeDto() { BrojDorucka = 40, BrojRuckova = 72, BrojVecera = 59 }); } 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 List <ObjavaReadDto> PrikaziSveObjave(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.PracenjeKorisnika)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } List <ObjavaReadDto> o = ProvajderPodatakaObjava.SveObjave(id); return(o); } 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 List <ObrokFullDto> VratiSveObroke([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> listaObroka = ProvajderPodatakaObroka.VratiObroke(); List <ObrokFullDto> listaObrokaFull = new List <ObrokFullDto>(listaObroka.Count); if (listaObroka.Count == 0) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Obroci nisu pronadjeni") }); } foreach (Obrok o in listaObroka) { ObrokFullDto obrok = new ObrokFullDto(); obrok.IdObroka = o.IdObroka; obrok.Iskoriscen = o.Iskoriscen; obrok.DatumUplacivanja = o.DatumUplacivanja; if (o.DatumIskoriscenja != null) { obrok.DatumIskoriscenja = o.DatumIskoriscenja; } obrok.IdUplatioca = o.Uplatilac.IdKorisnika; obrok.IdTipaObroka = o.Tip.IdTipObroka; obrok.IdLokacijeUplate = o.LokacijaUplate.IdMenza; if (o.LokacijaIskoriscenja != null) { obrok.IdLokacijeIskoriscenja = o.LokacijaIskoriscenja.IdMenza; } listaObrokaFull.Add(obrok); } return(listaObrokaFull); } 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 List <FakultetFullDto> VratiSveFakulteteFull([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.CitanjeFakultet)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } List <Fakultet> listaFakulteta = ProvajderPodatakaFakulteta.VratiFakultete(); List <FakultetFullDto> listaFakultetaFull = new List <FakultetFullDto>(listaFakulteta.Count); if (listaFakulteta == null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Fakulteti nisu pronadjeni") }); } foreach (Fakultet f in listaFakulteta) { listaFakultetaFull.Add(new FakultetFullDto() { IdFakultet = f.IdFakultet, Naziv = f.Naziv }); } return(listaFakultetaFull); } 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 NaplatiObroke([FromBody] ObrokNaplataDto obNapDto, [FromUri] string sid) { int i = 1; 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.ModifikacijaObrok)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } while (i <= obNapDto.BrojObroka) { Obrok obrokZaSkidanje = ProvajderPodatakaObroka.ObrokZaSkidanjeOvogTipa(obNapDto.IdKorisnika, obNapDto.IdTipa); if (obrokZaSkidanje != null) { ProvajderPodatakaObroka.PojediObrok(obrokZaSkidanje.IdObroka, obNapDto.IdLokacijeIskoriscenja); ++i; } else { break; } } if (i == 1) { return(Ok("Ne moze se skunuti, nema obroka")); } else { return(Ok("Uspesno je skunuto " + (i - 1).ToString() + " obroka.")); } } 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 ObrokFullDto VratiObrokFull([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") }); } Obrok o = null; ObrokFullDto obrok = new ObrokFullDto(); o = ProvajderPodatakaObroka.VratiObrok(id); if (o == null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Obrok nije pronadjen") }); } obrok.IdObroka = o.IdObroka; obrok.Iskoriscen = o.Iskoriscen; obrok.DatumUplacivanja = o.DatumUplacivanja; if (o.DatumIskoriscenja != null) { obrok.DatumIskoriscenja = o.DatumIskoriscenja; } obrok.IdUplatioca = o.Uplatilac.IdKorisnika; obrok.IdTipaObroka = o.Tip.IdTipObroka; obrok.IdLokacijeUplate = o.LokacijaUplate.IdMenza; if (o.LokacijaIskoriscenja != null) { obrok.IdLokacijeIskoriscenja = o.LokacijaIskoriscenja.IdMenza; } SesijeProvajder.ZatvoriSesiju(); return(obrok); } 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 UplatiObroke([FromBody] ObrokUplataDto obUpDto, [FromUri] string sid) { int i; 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.DodavanjeObrok)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } for (i = 0; i < obUpDto.BrojObroka; ++i) { if (!ProvajderPodatakaObroka.KorisnikDostigaoLimitZaOvajMesecZaOvajObrok(obUpDto.IdKorisnika, obUpDto.IdTipa)) { Obrok o = new Obrok { Iskoriscen = false, DatumUplacivanja = DateTime.Now, DatumIskoriscenja = null, Uplatilac = ProvajderPodatakaKorisnika.VratiKorisnika(obUpDto.IdKorisnika), Tip = ProvajderPodatakaTipovaObroka.VratiTipObroka(obUpDto.IdTipa), LokacijaUplate = ProvajderPodatakaMenzi.VratiMenzu(obUpDto.IdLokacijeUplate), LokacijaIskoriscenja = null }; ProvajderPodatakaObroka.DodajObrok(o); } else { break; } } if (i == 0) { return(Ok("Ne moze se uopste uplatiti, dostignut je limit.")); } else { return(Ok("Uspesno je dodato " + i + " obroka.")); } } 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 List <MenzaFullDto> VratiSveMenze([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.CitanjeMenza)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } List <Menza> listaMenzi = ProvajderPodatakaMenzi.VratiMenze(); List <MenzaFullDto> listaMenziFull = new List <MenzaFullDto>(listaMenzi.Count); if (listaMenzi.Count == 0) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Menze nisu pronadjene") }); } foreach (Menza m in listaMenzi) { listaMenziFull.Add(new MenzaFullDto() { IdMenze = m.IdMenza, Naziv = m.Naziv, Lokacija = m.Lokacija, RadnoVreme = m.RadnoVreme, VanrednoNeRadi = m.VanrednoNeRadi, GpsLat = m.GpsLat, GpsLong = m.GpsLon }); } return(listaMenziFull); } 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 MenzaFullDto VratiMenzuFull([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.CitanjeMenza)) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.Forbidden) { Content = new StringContent("Nemate privilegiju") }); } Menza m = null; MenzaFullDto menza = new MenzaFullDto(); m = ProvajderPodatakaMenzi.VratiMenzu(id); if (m == null) { throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotFound) { Content = new StringContent("Menza nije pronadjena") }); } menza.IdMenze = m.IdMenza; menza.Naziv = m.Naziv; menza.Lokacija = m.Lokacija; menza.RadnoVreme = m.RadnoVreme; menza.VanrednoNeRadi = m.VanrednoNeRadi; menza.GpsLat = m.GpsLat; menza.GpsLong = m.GpsLon; return(menza); } 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(); } }