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);
        }
        public static bool DodajUPoziv(int idPoziva, int idPozvanog)
        {
            ISession s = SesijeProvajder.Sesija;

            Pozivanje p = s.Load <Pozivanje>(idPoziva);

            Korisnik pozvani = p.Pozivaoc.Prati.ToList().Find(x => x.IdKorisnika == idPozvanog);

            if (pozvani == null)
            {
                return(false); // nemoguce pozvati nekog koga ne pratimo
            }
            PozivanjaPozvani pp = new PozivanjaPozvani()
            {
                IdPozivanjaPozvani =
                {
                    IdPoziva   = p,
                    IdPozvanog = pozvani
                },
                OdgovorPozvanog = false
            };

            pozvani.PozivanjaOd.Add(pp);
            p.Pozvani.Add(pp);

            s.Save(p);
            s.Save(pp);
            s.Flush();

            return(true);
        }
        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);
        }
        public static List <PozivanjaNewsFeedItemDto> SviPozivi(int id)
        {
            ISession s = SesijeProvajder.Sesija;

            Korisnik pozivalac = VratiKorisnika(id);

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

            if (pozivalac.PozivanjaOd.ToList().Count == 0)
            {
                return(null);
            }

            List <PozivanjaNewsFeedItemDto> sviPozivi = new List <PozivanjaNewsFeedItemDto>();


            foreach (var v in pozivalac.PozivanjaOd.ToList())
            {
                int       idPoziva = v.IdPozivanjaPozvani.IdPoziva.IdPoziva;
                Pozivanje p        = s.Get <Pozivanje>(idPoziva);

                Korisnik k = VratiKorisnika(p.Pozivaoc.IdKorisnika);

                PozivanjaNewsFeedItemDto pnfidto = new PozivanjaNewsFeedItemDto()
                {
                    IdPoziva               = p.IdPoziva,
                    DatumPoziva            = p.DatumPoziva,
                    VaziDo                 = p.VaziDo,
                    IdPozivaoca            = k.IdKorisnika,
                    KorisnickoImePozivaoca = k.KorisnickoIme,
                    PrezimePozivaoca       = k.Prezime,
                    ImePozivaoca           = k.Ime
                };
                sviPozivi.Add(pnfidto);
            }

            sviPozivi.RemoveAll(x => x.DatumPoziva < DateTime.Now);
            sviPozivi.RemoveAll(x => x.DatumPoziva > x.VaziDo);
            sviPozivi.RemoveAll(x => x.VaziDo < DateTime.Now);
            sviPozivi.Sort((x, y) => y.DatumPoziva.CompareTo(x.DatumPoziva));

            return(sviPozivi);
        }
Exemple #5
0
        private void Pozivanje_Tick(object sender, EventArgs e)
        {
            Pozivanje.Stop();
            string Odabrani_grad = "Osijek";

            string html = string.Empty;

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(URL.Replace("%name%", Odabrani_grad));

            request.AutomaticDecompression = DecompressionMethods.GZip;

            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
                using (Stream stream = response.GetResponseStream())
                    using (StreamReader reader = new StreamReader(stream))
                    {
                        html = reader.ReadToEnd();
                    }
            JObject vrijemejson = JObject.Parse(html);

            //Svakih 1 min bi se trebalo pozvati, iščitati te ponovno spremiti podatke u .json dokument.

            Temperature_kroz_minute podatak = new Temperature_kroz_minute();

            podatak.minute      = DateTime.Now.Minute;
            podatak.temperatura = Convert.ToDouble(vrijemejson["main"]["temp"]);
            string Podatak = JsonConvert.SerializeObject(podatak);

            List <Temperature_kroz_minute> list = null;

            if (File.Exists(filePath))
            {
                list = JsonConvert.DeserializeObject <List <Temperature_kroz_minute> >(File.ReadAllText(filePath));
            }
            if (list == null)
            {
                list = new List <Temperature_kroz_minute>();
            }
            list.Add(podatak);

            //Iscrtavanje na dijagramu
            UpdateChart(list);
            File.WriteAllText(filePath, JsonConvert.SerializeObject(list));
            Pozivanje.Start();
        }
        public static PozivanjaPozvaniDto OdogovoriNaPoziv(PozivanjaPozvaniDto ppdto, string sid)
        {
            ISession s = SesijeProvajder.Sesija;

            Korisnik k = VratiKorisnika(KorisnikIDizSesijaID(sid));

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

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

            Pozivanje p = s.Get <Pozivanje>(ppdto.IdPoziva);

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

            PozivanjaPozvani pp = new PozivanjaPozvani()
            {
                IdPozivanjaPozvani =
                {
                    IdPoziva   = p,
                    IdPozvanog = k
                },
                OdgovorPozvanog = ppdto.OdgovorPozvanog
            };

            s.Update(pp);
            s.Flush();

            return(ppdto);
        }
        public static List <OgovorNaPozivDto> ObavestiOOdgovorima(int idPoziva, string sid)
        {
            ISession  s = SesijeProvajder.Sesija;
            Pozivanje p = s.Get <Pozivanje>(idPoziva);

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

            List <PozivanjaPozvani> pp    = s.Query <PozivanjaPozvani>().Select(x => x).ToList();
            List <PozivanjaPozvani> poziv = pp.FindAll(x => x.IdPozivanjaPozvani.IdPoziva.IdPoziva == idPoziva);

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

            List <OgovorNaPozivDto> rezultat = new List <OgovorNaPozivDto>();

            foreach (var v in poziv)
            {
                OgovorNaPozivDto o = new OgovorNaPozivDto()
                {
                    OdgovorPozvanog = v.OdgovorPozvanog.Value,
                    IdPozvanog      = v.IdPozivanjaPozvani.IdPozvanog.IdKorisnika,
                    Ime             = v.IdPozivanjaPozvani.IdPozvanog.Ime,
                    Prezime         = v.IdPozivanjaPozvani.IdPozvanog.Prezime,
                    KorisnickoIme   = v.IdPozivanjaPozvani.IdPozvanog.KorisnickoIme,
                    IdPoziva        = v.IdPozivanjaPozvani.IdPoziva.IdPoziva
                };
                rezultat.Add(o);
            }
            rezultat.Sort((x, y) => y.OdgovorPozvanog.CompareTo(x.OdgovorPozvanog));

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