public void GetEvpoplData(decimal popl, string per, ref string expfin, ref decimal procsankce, ref string typsankce, ref decimal pevnacastka, ref decimal nasobek, ref string pernas, ref string vystup, ref int porvs) { XPQuery <C_EVPOPL> evpopls = sesna.Query <C_EVPOPL>(); CriteriaOperator criteria = CriteriaOperator.Parse("CompoundKey1.EVPOPL_KOD.NAZPOPL_POPLATEK = ? " + "and CompoundKey1.EVPOPL_PER.PERIODA_PERIODA = ?", popl, per); C_EVPOPL ep = sesna.FindObject <C_EVPOPL>(criteria); //pokud je v cache s temito criterii, vraci objekt z cache ep.Reload(); var list = from a in evpopls where (a.EVPOPL_FROMDATE <= DateTime.Now && //LINQ prevede DateTime.Now pro MSSQL na getdate() (a.EVPOPL_TODATE >= DateTime.Now || a.EVPOPL_TODATE != null)) && a.CompoundKey1.EVPOPL_KOD.NAZPOPL_POPLATEK == popl && a.CompoundKey1.EVPOPL_PER.PERIODA_PERIODA == per select a; expfin = string.Empty; if (list.Count() > 0) { //prvni radek expfin = ((C_EVPOPL)(list.AsEnumerable().ElementAt(0))).EVPOPL_EXPFIN; procsankce = ((C_EVPOPL)(list.AsEnumerable().ElementAt(0))).EVPOPL_PROCSANKCE; procsankce = ((C_EVPOPL)(list.AsEnumerable().ElementAt(0))).EVPOPL_PROCSANKCE; typsankce = ((C_EVPOPL)(list.AsEnumerable().ElementAt(0))).EVPOPL_TYPSANKCE; pevnacastka = ((C_EVPOPL)(list.AsEnumerable().ElementAt(0))).EVPOPL_PEVNACASTKA; nasobek = ((C_EVPOPL)(list.AsEnumerable().ElementAt(0))).EVPOPL_NASOBEK; pernas = ((C_EVPOPL)(list.AsEnumerable().ElementAt(0))).EVPOPL_PERNAS; vystup = ((C_EVPOPL)(list.AsEnumerable().ElementAt(0))).EVPOPL_FORMTISK; porvs = Convert.ToInt32(((C_EVPOPL)(list.AsEnumerable().ElementAt(0))).CompoundKey1.EVPOPL_KOD.NAZPOPL_PORVS); } }
internal DateTime GetDatumSplatnosti(DateTime vystaveno, C_EVPOPL evp, short porPer) { DateTime obdMez = vystaveno; int pocDni = (int)evp.EVPOPL_POCDNU; C_PERIODA per = null; DBValue dbv = null; switch (evp.EVPOPL_TERMPLAC.TERMPLAC_TERMPLAC) { case "Z": //zaèátek období case "K": //zacatek nebo konec období per = sesna.GetObjectByKey <C_PERIODA>(evp.CompoundKey1.EVPOPL_PER.PERIODA_NAZEV); C_KALENDAR.CompoundKey1Struct key = new C_KALENDAR.CompoundKey1Struct(); key.KALENDAR_PERIODA.PERIODA_PERIODA = evp.CompoundKey1.EVPOPL_PER.PERIODA_NAZEV; key.KALENDAR_PORPER = porPer; obdMez = (sesna.GetObjectByKey <C_KALENDAR>(key)).KALENDAR_FROMDATE; break; case "P": //po vystavení poplatku dbv = DBValue.Instance(sesna); //new DBValue(sesna); obdMez = dbv.DBSysDate; break; case "R": //zaèátek akt. roku dbv = DBValue.Instance(sesna); //new DBValue(sesna); obdMez = new DateTime(dbv.DBSysDate.Year, 1, 1); break; case "E": //konec akt. roku dbv = DBValue.Instance(sesna); //new DBValue(sesna); obdMez = new DateTime(dbv.DBSysDate.Year, 12, 31); break; } return(obdMez.AddDays(pocDni)); }