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); }
public static bool UplatiObrok(int id, int brojObroka, int tipObroka) { ISession s = SesijeProvajder.Sesija; if (brojObroka == 0) { return(false); } Korisnik k = ProvajderPodatakaKorisnika.VratiKorisnika(id); if (k == null) { return(false); } if (k.TipNaloga.IdTip != 5) { return(false); } for (int i = 0; i < brojObroka; i++) { Obrok o = new Obrok() { Iskoriscen = false, DatumUplacivanja = DateTime.Now, DatumIskoriscenja = null, Uplatilac = k, Tip = ProvajderPodatakaTipovaObroka.VratiTipObroka(tipObroka), LokacijaIskoriscenja = null, LokacijaUplate = ProvajderPodatakaMenzi.VratiMenzu(4) }; k.Obroci.Add(o); } s.Save(k); s.Flush(); return(true); }
public static ObjavaCUDto Objavi(int id, ObjavaCUDto ocudto) { ISession s = SesijeProvajder.Sesija; Korisnik ko = ProvajderPodatakaKorisnika.VratiKorisnika(id); if (ko == null) { return(null); } if (ko.TipNaloga.IdTip != 5) { return(null); } Objava o; if (ko.Objava != null) { o = ko.Objava; } else { o = NapraviObjavu(ko); } List <Menza> menze = s.Query <Menza>().Select(k => k).ToList(); Menza m = menze.Find(x => x.IdMenza == ocudto.IdLokacije); o.TekstObjave = ocudto.TekstObjave; o.Lokacija = m; o.DatumObjave = DateTime.Now; s.Save(o); s.Flush(); return(ocudto); }
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); }