public void Przelicz(Enova.Business.Old.DB.EnovaContext dc) { var sql = ""; if (this.Korekta) { sql = string.Format( "SELECT CONVERT(DECIMAL(10,2), SUM(ISNULL((CONVERT(DECIMAL(10,2), f.Data)*(pdh.IloscMagazynuValue-npdh.IloscMagazynuValue)),(pdh.SumaNetto-npdh.SumaNetto)*0.75))) Prowizja " + "FROM dbo.PozycjeDokHan pdh INNER JOIN dbo.PozRelHandlowej prh ON (prh.PodrzednyDok=pdh.Dokument AND prh.PodrzednaIdent=pdh.Ident) " + "INNER JOIN dbo.PozycjeDokHan npdh ON (prh.NadrzednyDok=npdh.Dokument AND prh.NadrzednaIdent=npdh.Ident) INNER JOIn dbo.RelacjeHandlowe rh ON (rh.ID=prh.Relacja) " + "LEFT JOIN dbo.Features f ON (f.Parent=npdh.ID AND f.ParentType='PozycjeDokHan' AND f.Name='Prowizja' AND f.Lp=0) " + "WHERE pdh.Dokument={0} AND rh.Definicja=1 AND rh.Glowna=1", this.ID); } else { sql = string.Format("SELECT CONVERT(DECIMAL(10,2), SUM(ZakupNetto)) ZakupNetto FROM (" + "SELECT ISNULL((CONVERT(decimal(10,2), f.Data)*IloscMagazynuValue),CONVERT(decimal(10,2), pdh.SumaNetto*0.75)) ZakupNetto " + "FROM dbo.PozycjeDokHan pdh LEFT JOIN dbo.Features f ON (f.Parent=pdh.ID AND f.ParentType='PozycjeDokHan' AND f.Name='Prowizja' AND f.Lp=0) " + "WHERE pdh.Dokument={0})t0", this.ID); } this.ZakupNetto = dc.ExecuteStoreQuery <decimal>(sql).First(); sql = string.Format("SELECT CONVERT(BIT, ISNULL(f.Data, '0')) Data FROM dbo.DokHandlowe dh " + "LEFT JOIN dbo.Features f ON (f.Parent = dh.ID AND f.ParentType = 'DokHandlowe' AND f.Name = 'NIE LICZ POTRACEN') " + "WHERE dh.ID = {0}", this.ID); this.NieLiczPotracen = dc.ExecuteStoreQuery <bool>(sql).First(); }
protected override void OnDisposed(EventArgs e) { base.OnDisposed(e); if (this.enovaContext != null) { this.enovaContext.Dispose(); this.enovaContext = null; } }
private void createReport() { reportSource = new List <DokumentEwidencjiViewRow>(); using (new BAL.Forms.WaitCursor(this)) { string pr = przedstawicielComboBox.SelectedIndex > 0 ? (string)przedstawicielComboBox.SelectedItem : null; DateTime dataOd = dataOdDateTimePicker.Value; dataOd = new DateTime(dataOd.Year, dataOd.Month, dataOd.Day); DateTime dataDo = dataDoDateTimePicker.Value; dataDo = new DateTime(dataDo.Year, dataDo.Month, dataDo.Day).AddDays(1); var sql = string.Format( "SELECT k.Kod,k.Nazwa,de.Stan,de.DataDokumentu,de.NumerDokumentu,de.WartoscValue AS Wartosc,fp.Data Przewoznik,t0.DataRozliczenia " + "FROM dbo.DokEwidencja de INNER JOIN dbo.DokHandlowe dh ON (dh.ID=de.Dokument) " + "INNER JOIN dbo.Kontrahenci k ON (k.ID=de.Podmiot) " + (pr != null ? "INNER JOIN dbo.Features f ON (f.Parent = k.ID AND f.ParentType='Kontrahenci' AND f.Lp=0 AND f.Name='przedstawiciel') " : "") + "LEFT JOIN dbo.Features fp ON (fp.Parent = dh.ID AND fp.ParentType='DokHandlowe' AND fp.Lp=0 AND fp.Name='PRZEWOŻNIK') " + "LEFT JOIN (SELECT pl.Dokument, MAX(pl.DataRozliczenia) DataRozliczenia FROM dbo.Platnosci pl WHERE pl.DokumentType='DokHandlowe' " + "GROUP BY pl.Dokument)t0 ON t0.Dokument=dh.ID " + "WHERE de.Stan={0} AND de.Typ={1} AND de.PodmiotType='Kontrahenci' AND de.DokumentType='DokHandlowe' " + (pr != null ? " AND f.Data='{2}' " : "") + " AND dh.Definicja = 1 " + "AND de.DataDokumentu >= '{3}' AND de.DataDokumentu < '{4}'", (int)Enova.API.Core.StanEwidencji.Bufor, (int)Enova.API.Core.TypDokumentu.SprzedażEwidencja, pr, dataOd.Date.ToString("s"), dataDo.Date.ToString("s")); using (var dc = new Enova.Business.Old.DB.EnovaContext()) { reportSource = (from r in dc.ExecuteStoreQuery <DokumentEwidencjiInfo>(sql) select new DokumentEwidencjiViewRow() { KodKontrahenta = r.Kod, NazwaKontrahenta = r.Nazwa, NumerDokumentu = r.NumerDokumentu, DataDokumentu = r.DataDokumentu, WartośćDokumentu = r.Wartosc, Przewoźnik = r.Przewoznik, DataRozliczenia = r.DataRozliczenia == null ? DateTime.MaxValue : r.DataRozliczenia.Value }).ToList(); } //var rsources = Assembly.GetAssembly(this.GetType()).GetManifestResourceNames(); //this.reportViewer.LocalReport.ReportPath = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"Reports\\NiepodpisaneFakturyReport.rdlc"); this.reportViewer.LocalReport.ReportEmbeddedResource = "AbakTools.Ksiegowosc.Forms.Reports.NiepodpisaneFakturyReport.rdlc"; this.reportViewer.LocalReport.DataSources.Clear(); this.reportViewer.LocalReport.SetParameters(new ReportParameter[] { new ReportParameter("przedstawiciel", pr == null ? "Wszyscy" : pr) }); this.reportViewer.LocalReport.DataSources.Add(new ReportDataSource("DokumentEwidencjiViewRow", reportSource)); this.reportViewer.RefreshReport(); } }
/* * public DokumentProwizjaRow(DokumentHandlowy dokument, RozrachunekIdx rozrachunek, decimal prowizjaProcent) * { * if (dokument == null) * throw new ArgumentNullException("dokument"); * this.dokument = dokument; * this.rozrachunek = rozrachunek; * this.prowizjaProcent = prowizjaProcent; * } */ /* * public DokumentProwizjaRow(Enova.Business.Old.DB.DokumentHandlowy dokument, Enova.Business.Old.DB.RozrachunekIdx rozrachunek, decimal prowizjaProcent) * { * if(dokument == null) * throw new ArgumentNullException("dokument"); * this.dokumentEF = dokument; * this.rozrachunekEF = rozrachunek; * this.prowizjaProcent = prowizjaProcent; * } */ /* * private void przeliczZakup() * { * wartoscZakupuNetto = 0; * wartoscCenaAbak = 0; * bool flag = false; * * if (dokument != null) * { * if (dokument.Korekta) * { * wartoscKary = 0; * wartoscProwizji = 0; * flag = KaryWgCechy && !string.IsNullOrWhiteSpace(CechaKary); * } * * foreach (var pdh in dokument.DokumentMagazynowyGłówny.Pozycje.Cast<PozycjaDokHandlowego>().ToList()) * { * var obroty = pdh.Obroty.Cast<Obrot>().ToList().Where(o => o.Korekta != Enova.API.Magazyny.KorektaObrotu.StornoZasobu); * var zakupNetto = obroty.Sum(o => o.Przychod.Wartosc); * var cenaAbak = (decimal?)pdh.Features["Prowizja"]; * wartoscZakupuNetto += zakupNetto; * decimal zakupCenaAbak = 0; * if (cenaAbak == null || cenaAbak.Value == 0) * zakupCenaAbak = zakupNetto; * else * { * var ilosc = dokument.Korekta ? obroty.Sum(o => o.Ilosc.Value) : pdh.Ilosc; * zakupCenaAbak = cenaAbak.Value * (decimal)ilosc; * } * wartoscCenaAbak += zakupCenaAbak; * if (dokument.Korekta) * { * var sprzedazNetto = obroty.Sum(o => o.Rozchod.Wartosc); * if (sprzedazNetto != 0) * { * var prowizja = (sprzedazNetto - zakupCenaAbak) * prowizjaProcent / 100M; * wartoscProwizji += prowizja; * var wsp = WspolczynnikKary; * if (flag) * { * var s = pdh.Towar.Features[CechaKary] as string; * int i = 0; * if (!string.IsNullOrWhiteSpace(s) && int.TryParse(s, out i)) * wsp = i / 100M; * } * wartoscKary += prowizja * wsp; * } * } * } * } * } */ /* * private void przeliczRozliczenia() * { * rozliczono = 0; * foreach (var p in dokument.Platnosci.Cast<Enova.API.Kasa.Platnosc>().ToList()) * { * var rozliczenia = p.Rozliczenia.Cast<Enova.API.Kasa.RozliczenieSP>().ToList(); * if (rozliczenia.Count() > 0) * rozliczono += rozliczenia.Where(ro => ro.Data <= RozliczeniaDataDo.Value).Sum(ro => ro.KwotaZaplaty.Value) * (dokument.Korekta ? -1 : 1); * } * * } * * public void Przelicz() * { * przeliczZakup(); * if (RozliczeniaDataDo != null) * przeliczRozliczenia(); * } */ public void PrzeliczRozliczenia(Enova.Business.Old.DB.EnovaContext dc, DateTime rozliczeniaDataDo) { rozliczono = 0; this.RozliczeniaDataDo = rozliczeniaDataDo; var sql = string.Format( "SELECT SUM(rsp.KwotaZaplatyValue) KwotaZaplaty FROM dbo.Platnosci pl " + "INNER JOIN dbo.RozliczeniaSP rsp ON (rsp.Dokument=pl.ID AND rsp.DokumentType='Platnosci') " + "WHERE pl.DokumentType = 'DokHandlowe' AND pl.Dokument={0} AND Data <= '{1}'", this.dokumentInfo.ID, rozliczeniaDataDo.ToShortDateString()); var res = dc.ExecuteStoreQuery <decimal?>(sql).FirstOrDefault(); if (res != null) { rozliczono = res.Value; } }
public override void ApplyFeatureFilter(Enova.Business.Old.DB.FeatureDef featureDef, string value) { if (DataContext != null) { string name = featureDef.Name; Enova.Business.Old.DB.EnovaContext dc = DataContext as Enova.Business.Old.DB.EnovaContext; if (featureDef.IsTree) { BaseQuery = (ObjectQuery <Enova.Business.Old.DB.Kontrahent>)(from k in dc.Kontrahenci from f in dc.Features where k.ID == f.Parent && f.ParentType == "Kontrahenci" && f.Name == name && f.Data.StartsWith(value) group k by k.ID into uk select uk.FirstOrDefault()); } else { BaseQuery = (from k in dc.Kontrahenci from f in dc.Features where k.ID == f.Parent && f.ParentType == "Kontrahenci" && f.Name == name && f.Data == value select k) as ObjectQuery <Enova.Business.Old.DB.Kontrahent>; } base.ApplyFeatureFilter(featureDef, value); } }
public Kontrahenci() : base(Enova.Business.Old.Core.ContextManager.DataContext, "Kontrahenci") { Enova.Business.Old.DB.EnovaContext dc = Enova.Business.Old.Core.ContextManager.DataContext; }