コード例 #1
0
        public static PozivanjaFullDto NoviPoziv(PozivanjaFullDto pfdto, string sid)
        {
            ISession s = SesijeProvajder.Sesija;

            Korisnik pozivalac = VratiKorisnika(KorisnikIDizSesijaID(sid));

            if (pozivalac == null)
            {
                return(null);
            }

            if (pozivalac.TipNaloga.IdTip != 5)
            {
                return(null);
            }

            if (pfdto.DatumPoziva == DateTime.MinValue)
            {
                return(null);
            }

            if (pfdto.VaziDo == DateTime.MinValue)
            {
                return(null);
            }

            Pozivanje poziv = new Pozivanje()
            {
                DatumPoziva = pfdto.DatumPoziva,
                VaziDo      = pfdto.VaziDo,
                Pozivaoc    = pozivalac
            };

            pozivalac.Pozivi.Add(poziv);

            s.Save(poziv);
            s.Save(pozivalac);


            s.Flush();

            List <Pozivanje> p = s.Query <Pozivanje>().Select(x => x).ToList();

            if (p.Count == 0)
            {
                return(null);
            }

            Pozivanje po = p.Find(x => x.Pozivaoc.IdKorisnika == pozivalac.IdKorisnika && x.DatumPoziva == poziv.DatumPoziva);

            if (po == null)
            {
                return(null);
            }

            pfdto.IdPoziva    = po.IdPoziva;
            pfdto.IdPozivaoca = po.Pozivaoc.IdKorisnika;

            return(pfdto);
        }
コード例 #2
0
        public static PozivanjaFullDto Poziv(int idPoziva, string sid)
        {
            ISession  s = SesijeProvajder.Sesija;
            Pozivanje p = s.Get <Pozivanje>(idPoziva);

            if (p.VaziDo < DateTime.Now)
            {
                return(null);
            }

            PozivanjaFullDto rezultat = new PozivanjaFullDto()
            {
                IdPoziva    = p.IdPoziva,
                DatumPoziva = p.DatumPoziva,
                VaziDo      = p.VaziDo,
                IdPozivaoca = p.Pozivaoc.IdKorisnika
            };

            foreach (var v in p.Pozvani.ToList())
            {
                rezultat.Pozvani.Add(v.IdPozivanjaPozvani.IdPozvanog.IdKorisnika);
            }

            return(rezultat);
        }
コード例 #3
0
 private void ObnoviPoziv()
 {
     try
     {
         poziv = Api.Api.VratiPoslednjiPoziv();
     }
     catch (Exception ex)
     {
         Toast.MakeText(this.Context, ex.Message, ToastLength.Long).Show();
     }
 }
コード例 #4
0
        private void NapuniPoziv()
        {
            poziv = new PozivanjaFullDto();

            poziv.DatumPoziva = DateTime.Now;

            //poziv.VaziDo = DateTime.Now;
            poziv.VaziDo = new DateTime(DateTime.Now.Year, DateTime.Now.Day, DateTime.Now.Month, holder.EvenTimePicker.CurrentHour.IntValue(), holder.EvenTimePicker.CurrentMinute.IntValue(), 0);

            poziv.IdPozivaoca = MSettings.CurrentSession.LoggedUser.UserID;
        }
コード例 #5
0
ファイル: Api.cs プロジェクト: stefan81888/mensarium
        public static void InviteUser(PozivanjaFullDto m)
        {
            RestRequest request = new RestRequest(Method.PUT);

            request.Resource = "korisnici/pozovi";
            request.AddObject(m);

            var response = Execute(request);

            if (!(response.HttpStatusCode == HttpStatusCode.OK || response.HttpStatusCode == HttpStatusCode.Redirect))
            {
                throw new Exception("InviteUser Error" + "\nServerResponse: " + response.ErrorResponse
                                    + "\nHttpStatus: " + response.HttpStatusCode);
            }
        }
コード例 #6
0
ファイル: Api.cs プロジェクト: stefan81888/mensarium
        public static PozivanjaFullDto KreirajPrazanPoziv(PozivanjaFullDto m)
        {
            RestRequest request = new RestRequest(Method.POST);

            request.Resource = "korisnici/pozivi/kreiraj";
            request.AddObject(m);

            ApiResponse <PozivanjaFullDto> response = Execute <PozivanjaFullDto>(request);

            if (!(response.HttpStatusCode == HttpStatusCode.OK || response.HttpStatusCode == HttpStatusCode.Redirect))
            {
                throw new Exception("Respond2InviteError" + "\nServerResponse: "
                                    + response.ErrorResponse + "\nHttpStatus: " + response.HttpStatusCode);
            }

            return(response.ResponseObject);
        }
コード例 #7
0
        private void PonistiPozivClick(object sender, EventArgs eventArgs)
        {
            var alert = new AlertDialog.Builder(this.Context);

            alert.SetTitle("Ponisti poziv?");
            alert.SetMessage("Da li ste sigurni da zelite da ponistite poziv?");

            alert.SetPositiveButton("Da", (o, args) =>
            {
                this.poziv = null;

                view.FindViewById <RelativeLayout>(Resource.Id.pozivJeKreiran).Visibility = ViewStates.Gone;
                view.FindViewById <LinearLayout>(Resource.Id.pozivNijeKreiran).Visibility = ViewStates.Visible;
            });

            alert.SetNegativeButton("Ne", (o, args) => alert.Dispose());

            alert.Show();
        }
コード例 #8
0
        public static PozivanjaFullDto PoslednjiPoziv(string sid)
        {
            ISession s = SesijeProvajder.Sesija;

            Korisnik k = VratiKorisnika(KorisnikIDizSesijaID(sid));

            if (k == null)
            {
                return(null);
            }

            if (k.TipNaloga.IdTip != 5)
            {
                return(null);
            }

            List <Pozivanje> lista = k.Pozivi.ToList();

            PozivanjaFullDto p = new PozivanjaFullDto();

            if (lista.Count == 0)
            {
                p.IdPoziva    = -1;
                p.DatumPoziva = DateTime.MinValue;
                p.VaziDo      = DateTime.MinValue;
            }
            else
            {
                lista.Sort((x, y) => x.DatumPoziva.CompareTo(y.DatumPoziva));
                p.IdPoziva    = lista[lista.Count - 1].IdPoziva;
                p.DatumPoziva = lista[lista.Count - 1].DatumPoziva;
                p.VaziDo      = lista[lista.Count - 1].VaziDo;
                foreach (var v in lista[lista.Count - 1].Pozvani.ToList())
                {
                    p.Pozvani.Add(v.IdPozivanjaPozvani.IdPozvanog.IdKorisnika);
                }
            }



            return(p);
        }
コード例 #9
0
        private void KreirajPozivOnClick(object sender, EventArgs eventArgs)
        {
            NapuniPoziv();

            if ((poziv.VaziDo - DateTime.Now).Ticks > 0 && ValidnoVreme(poziv.VaziDo))
            {
                try
                {
                    poziv = Api.Api.KreirajPrazanPoziv(poziv);

                    //setuje novi layout
                    SetujNoviLayout();
                }
                catch (Exception ex)
                {
                    Toast.MakeText(this.Context, ex.Message, ToastLength.Long);
                }
            }
            else
            {
                Toast.MakeText(this.Context, "Nije validno vreme poziva!", ToastLength.Long).Show();
            }
        }
コード例 #10
0
        public static PozivanjaFullDto Pozovi(PozivanjaFullDto pfdto, string sid)
        {
            ISession s = SesijeProvajder.Sesija;

            Korisnik pozivalac = VratiKorisnika(ProvajderPodatakaKorisnika.KorisnikIDizSesijaID(sid));

            if (pozivalac == null)
            {
                return(null);
            }

            List <Korisnik> pozvani = new List <Korisnik>();
            Pozivanje       poziv   = new Pozivanje()
            {
                DatumPoziva = pfdto.DatumPoziva,
                VaziDo      = pfdto.VaziDo,
                Pozivaoc    = pozivalac
            };

            for (int i = 0; i < pfdto.Pozvani.Count; i++)
            {
                Korisnik k = VratiKorisnika(pfdto.Pozvani[i]);
                if (k != null)
                {
                    pozvani.Add(k);
                }
            }

            foreach (var v in pozvani)
            {
                PozivanjaPozvani pp = new PozivanjaPozvani()
                {
                    IdPozivanjaPozvani =
                    {
                        IdPoziva   = poziv,
                        IdPozvanog = v
                    },
                    OdgovorPozvanog = false
                };

                v.PozivanjaOd.Add(pp);
            }

            pozivalac.Pozivi.Add(poziv);

            //prebaciti izmedju prethodnih foreach petlji
            s.Save(poziv);
            s.Save(pozivalac);


            foreach (var v in pozvani)
            {
                s.Save(v);
            }

            s.Flush();

            List <Pozivanje> p = s.Query <Pozivanje>().Select(x => x).ToList();

            if (p.Count == 0)
            {
                return(null);
            }

            Pozivanje po = p.Find(x => x.Pozivaoc.IdKorisnika == pozivalac.IdKorisnika && x.DatumPoziva == poziv.DatumPoziva);

            if (po == null)
            {
                return(null);
            }

            pfdto.IdPoziva = po.IdPoziva;

            return(pfdto);
        }