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 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(); } }