private bool ExportToExtrato() { // https://www.aspsnippets.com/Articles/The-OLE-DB-provider-Microsoft.Ace.OLEDB.12.0-for-linked-server-null.aspx var retorno = true; using (var ctx = new MoneyBinEntities()) { ctx.spExportToAccessExtrato(_saveAs); } MoneyBinDB.ExportToExtrato(_saveAs); var tempFile = Path.Combine(Path.GetDirectoryName(_saveAs), Path.GetRandomFileName() + Path.GetExtension(_saveAs)); var app = new Microsoft.Office.Interop.Access.Application { Visible = false }; try { app.CompactRepair(_saveAs, tempFile, false); var temp = new FileInfo(tempFile); temp.CopyTo(_saveAs, true); temp.Delete(); } catch (Exception e) { MessageBox.Show(e.Message, Text, MessageBoxButtons.OK, MessageBoxIcon.Error); retorno = false; //throw; } finally { app.Quit(); } return(retorno); }
static void Main(string[] args) { using (var ctx = new MoneyBinEntities()) { var conta = ctx.Contas.First(); var ativos = conta.AcoesNaoZerado; var termino = new DateTime(2020, 05, 25); foreach (var ativo in ativos) { var sh = ativo.Ativo.SerieHistorica; Console.WriteLine($"\n{ativo.Codigo}"); var data = new DateTime(2019, 01, 05); while (data < termino) { var antes = sh.TakeWhile(c => c.Data < data) .TakeLast(2).ToArray(); var variacao = (antes[0].PrecoMedio - antes[1].PrecoMedio) / antes[0].PrecoMedio; var depois = sh.First(c => c.Data > data); Console.ForegroundColor = variacao > 0 ? ConsoleColor.White : ConsoleColor.Red; Console.WriteLine($"\t{data:d}\t{antes[0].PrecoMedio:N2}\t{antes[1].PrecoMedio:N2}\t{variacao:P1}\t{depois.PrecoMedio:N2}"); data = data.AddDays(7); } } Console.ReadLine(); } }
private void SetContaComboBox(ComboBox combo) { using (var ctx = new MoneyBinEntities()) { var contas = ctx.Contas.OrderBy(c => c.Apelido).ToList(); combo.DataSource = contas; combo.ValueMember = "ID"; combo.DisplayMember = "Apelido"; } }
static void Main(string[] args) { using (var ctx = new MoneyBinEntities()) { var conta = ctx.Contas.Find(1); var inicio = conta.Operacoes.Min(o => o.Data); var serie = ctx.SeriesHistoricas.ToList(); var monthList = serie .GroupBy(i => new { i.Data.Year, i.Data.Month }) .Select(g => new { Year = g.Key.Year, Month = g.Key.Month, LastDate = new DateTime(g.Key.Year, g.Key.Month, 1).AddMonths(1).AddDays(-1) }).ToList(); } }