コード例 #1
0
ファイル: Mensa.cs プロジェクト: stefan81888/mensarium
        public static void LoadPrices()
        {
            KorisnikStanjeDto k = Api.GetMealPrices();

            MSettings.PriceBreakfast = k.BrojDorucka;
            MSettings.PriceLunch     = k.BrojRuckova;
            MSettings.PriceDinner    = k.BrojVecera;
        }
コード例 #2
0
        private void NapuniLabeleSaObrocima()
        {
            KorisnikStanjeDto stanje = Api.Api.KorisnikovoStanjeObroka(MSettings.CurrentSession.LoggedUser.UserID);

            view.FindViewById <TextView>(Resource.Id.profilObrociBrojDorucka).Text = stanje.BrojDorucka.ToString();
            view.FindViewById <TextView>(Resource.Id.profilObrociBrojRucka).Text   = stanje.BrojRuckova.ToString();
            view.FindViewById <TextView>(Resource.Id.profilObrociBrojVecera).Text  = stanje.BrojVecera.ToString();
        }
コード例 #3
0
        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();
            }
        }
コード例 #4
0
        public static KorisnikStanjeDto Stanje(Korisnik korisnik)
        {
            ISession s = SesijeProvajder.Sesija;

            int doruckovi = korisnik.Obroci.Count(x => x.Iskoriscen == false && x.Tip.IdTipObroka == 1);
            int ruckovi   = korisnik.Obroci.Count(x => x.Iskoriscen == false && x.Tip.IdTipObroka == 2);
            int vecere    = korisnik.Obroci.Count(x => x.Iskoriscen == false && x.Tip.IdTipObroka == 3);

            KorisnikStanjeDto k = new KorisnikStanjeDto();

            k.BrojDorucka = doruckovi;
            k.BrojRuckova = ruckovi;
            k.BrojVecera  = vecere;

            return(k);
        }
コード例 #5
0
        public static KorisnikStanjeDto PredlogUplate(int idKorisnika)
        {
            ISession          s       = SesijeProvajder.Sesija;
            KorisnikStanjeDto predlog = new KorisnikStanjeDto();

            Korisnik kor = ProvajderPodatakaKorisnika.VratiKorisnika(idKorisnika);

            predlog.BrojDorucka = (kor.Obroci.Count(k => k.Tip.IdTipObroka == 1 && k.DatumUplacivanja.Month <= DateTime.Now.Month && k.DatumUplacivanja.Month >= DateTime.Now.AddMonths(-3).Month) / 3);
            predlog.BrojRuckova = (kor.Obroci.Count(k => k.Tip.IdTipObroka == 2 && k.DatumUplacivanja.Month <= DateTime.Now.Month && k.DatumUplacivanja.Month >= DateTime.Now.AddMonths(-3).Month) / 3);
            predlog.BrojVecera  = (kor.Obroci.Count(k => k.Tip.IdTipObroka == 3 && k.DatumUplacivanja.Month <= DateTime.Now.Month && k.DatumUplacivanja.Month >= DateTime.Now.AddMonths(-3).Month) / 3);

            if (predlog != null)
            {
                return(predlog);
            }
            return(null);
        }
コード例 #6
0
ファイル: Api.cs プロジェクト: stefan81888/mensarium
        public static void PosaljiObrok(int idPrimaoca, KorisnikStanjeDto ksdto)
        {
            RestRequest request = new RestRequest(Method.PUT);

            request.Resource = "korisnici/obroci/posalji";
            request.AddParameter("idPrimaoca", idPrimaoca, ParameterType.QueryString);
            request.AddParameter("D", ksdto.BrojDorucka, ParameterType.QueryString);
            request.AddParameter("R", ksdto.BrojRuckova, ParameterType.QueryString);
            request.AddParameter("V", ksdto.BrojVecera, ParameterType.QueryString);
            //request.AddObject(ksdto);

            var response = Execute(request);

            if (!(response.HttpStatusCode == HttpStatusCode.OK || response.HttpStatusCode == HttpStatusCode.Redirect))
            {
                throw new Exception("UndoAddMeals: Error" + "\nServerResponse: " + response.ErrorResponse + "\nHttpStatus: "
                                    + response.HttpStatusCode);
            }
        }
コード例 #7
0
 public static void LoadUserCard(int cardId)
 {
     try
     {
         KorisnikFullDto korisnik = Api.GetUserFullInfo(cardId);
         if (korisnik.IdTipaNaloga != (int)User.UserAccountType.Student)
         {
             throw new Exception("Nalog nije studentski");
         }
         LoadedCardUser = MUtility.GenerateUserFromDTO(korisnik);
         KorisnikStanjeDto stanje = Api.UserMealsCount(LoadedCardUser.UserID);
         LoadedCardUser.BreakfastCount = stanje.BrojDorucka;
         LoadedCardUser.LunchCount     = stanje.BrojRuckova;
         LoadedCardUser.DinnerCount    = stanje.BrojVecera;
     }
     catch (Exception ex)
     {
         MUtility.ShowException(ex);
     }
 }
コード例 #8
0
        public static bool PosaljiObroke(int idPrimaoca, KorisnikStanjeDto kdsto, string sid)
        {
            ISession s     = SesijeProvajder.Sesija;
            Korisnik salje = VratiKorisnika(KorisnikIDizSesijaID(sid));

            if (salje == null)
            {
                return(false);
            }

            if (salje.TipNaloga.IdTip != 5)
            {
                return(false);
            }

            Korisnik primalac = VratiKorisnika(idPrimaoca);

            if (primalac == null)
            {
                return(false);
            }

            if (primalac.TipNaloga.IdTip != 5)
            {
                return(false);
            }

            List <Obrok> obroci  = s.Query <Obrok>().Select(x => x).ToList();
            List <Obrok> dorucak = obroci.FindAll(x => x.Uplatilac.IdKorisnika == salje.IdKorisnika &&
                                                  x.Tip.IdTipObroka == 1);

            if (dorucak.Count < kdsto.BrojDorucka)
            {
                return(false);
            }

            List <Obrok> rucak = obroci.FindAll(x => x.Uplatilac.IdKorisnika == salje.IdKorisnika &&
                                                x.Tip.IdTipObroka == 2);

            if (rucak.Count < kdsto.BrojRuckova)
            {
                return(false);
            }

            List <Obrok> vecera = obroci.FindAll(x => x.Uplatilac.IdKorisnika == salje.IdKorisnika &&
                                                 x.Tip.IdTipObroka == 3);

            if (vecera.Count < kdsto.BrojVecera)
            {
                return(false);
            }

            for (int i = 0; i < kdsto.BrojDorucka; i++)
            {
                dorucak[i].Uplatilac = primalac;
                s.Save(dorucak[i]);
            }

            for (int i = 0; i < kdsto.BrojRuckova; i++)
            {
                rucak[i].Uplatilac = primalac;
                s.Save(rucak[i]);
            }

            for (int i = 0; i < kdsto.BrojVecera; i++)
            {
                vecera[i].Uplatilac = primalac;
                s.Save(vecera[i]);
            }

            s.Flush();

            return(true);
        }