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