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