public static void Main(string[] args) { MyMoneyManagerEntities context = new MyMoneyManagerEntities(); #region Calcolo report IPASE //var calcolo = context.Movimenti.Where(q => q.IDCategoriaIphase != null).GroupBy(q => q.IDCategoriaIphase).Sum(q => new { q. }q.Sum(e => e.Importo)).; //var calcoloipase = context.Movimenti.Where(q => q.IDCategoriaIphase != null).GroupBy(x => new { x.IDCategoriaIphase, DbFunctions.CreateDateTime(x.DataValuta.Value.Year, x.DataValuta.Value.Month, x.DataValuta.Value.Day, 0, 0, 0).Value.Year, DbFunctions.CreateDateTime(x.DataValuta.Value.Year, x.DataValuta.Value.Month, x.DataValuta.Value.Day, 0, 0, 0).Value.Month }).SelectMany(rr => rr.Select(r => new { IDCategoria = rr.Key.IDCategoriaIphase, Anno = rr.Key.Year, Mese = rr.Key.Month, Totale = rr.Sum(t => t.Importo) })); //foreach (var item in calcoloipase) //{ // tReportCategorieMeseIpase rep = new tReportCategorieMeseIpase(); // rep.IDCategoria = item.IDCategoria; // rep.Anno = item.Anno; // rep.Mese = item.Mese; // rep.Importo = item.Totale; // context.tReportCategorieMeseIpase.Add(rep); //} var collection = context.vReportCategorieUbi; foreach (var item in collection) { tReportCategorieMeseUbi rep = new tReportCategorieMeseUbi(); rep.IDCategoria = item.IDCategoria; rep.Anno = item.Anno; rep.Mese = item.Mese; rep.Importo = item.Totale; context.tReportCategorieMeseUbi.Add(rep); } context.SaveChanges(); var collection2 = context.v_ReportCategorieIpase; foreach (var item in collection2) { tReportCategorieMeseIpase rep1 = new tReportCategorieMeseIpase(); rep1.IDCategoria = item.IDCategoriaIphase; rep1.Anno = item.Anno; rep1.Mese = item.Mese; rep1.Importo = item.Totale; context.tReportCategorieMeseIpase.Add(rep1); } context.SaveChanges(); #endregion #region Calcolo report UBI //var calcolo = context.Movimenti.Where(q => q.IDCategoriaIphase != null).GroupBy(q => q.IDCategoriaIphase).Sum(q => new { q. }q.Sum(e => e.Importo)).; var calcoloubi = context.Movimenti.Where(q => q.IDCategoria != null).GroupBy(x => new { x.IDCategoria, DbFunctions.CreateDateTime(x.DataContabile.Value.Year, x.DataContabile.Value.Month, x.DataContabile.Value.Day, 0, 0, 0).Value.Year, DbFunctions.CreateDateTime(x.DataContabile.Value.Year, x.DataContabile.Value.Month, x.DataContabile.Value.Day, 0, 0, 0).Value.Month }).SelectMany(rr => rr.Select(r => new { IDCategoria = rr.Key.IDCategoria, Anno = rr.Key.Year, Mese = rr.Key.Month, Totale = rr.Sum(t => t.Importo) })); foreach (var item in calcoloubi) { tReportCategorieMeseUbi rep = new tReportCategorieMeseUbi(); rep.IDCategoria = item.IDCategoria; rep.Anno = item.Anno; rep.Mese = item.Mese; rep.Importo = item.Totale; context.tReportCategorieMeseUbi.Add(rep); } context.SaveChanges(); #endregion }
public static void ElaboraCartaCredito(string IDConto) { MyMoneyManagerEntities context = new MyMoneyManagerEntities(); DataSet ds; ds = LeggiCartaCredito(IDConto); bool start = false; #region Import Movimenti foreach (DataRowView item in ds.Tables[0].DefaultView) { int i = 0; foreach (DataRow row in item.DataView.Table.Rows) { i++; if (i <= 20) { ; } else if (start) { Movimenti mov = new Movimenti(); if (!row.IsNull(1)) { mov.Descrizione = row[3].ToString(); if (mov.Descrizione.ToLower().Trim().Equals("PAGAMENTO CON ADDEBITO") == false) { mov.DataContabile = DateTime.Parse(row[1].ToString()).Date; mov.DataValuta = DateTime.Parse(row[1].ToString()).Date; mov.IDContoCorrente = 1047; mov.Importo = -(Decimal.Parse(row[2].ToString().Replace(".", ","))); mov.Divisa = "EUR"; mov.Causale = "Spese carta di credito"; if (context.Keywords.Where(q => mov.Descrizione.ToLower().Trim().Contains(q.Keyword.Trim().ToLower())).Count() == 1) { mov.IDCategoriaIphase = context.Keywords.Where(q => mov.Descrizione.Trim().ToLower().Contains(q.Keyword.Trim().ToLower())).First().IDVoce_Code; } else { mov.IDCategoriaIphase = -1; } context.Movimenti.Add(mov); } } } else if (row[1].ToString().Trim().ToLower().Equals("data contabile")) { start = true; } } break; } #endregion context.SaveChanges(); }
public static void ElaboraMovimenti(int IDConto) { MyMoneyManagerEntities context = new MyMoneyManagerEntities(); DataSet ds; ds = LeggiFile(IDConto); bool start = false; #region Import Movimenti foreach (DataRowView item in ds.Tables[0].DefaultView) { int i = 0; foreach (DataRow row in item.DataView.Table.Rows) { i++; if (i <= 23) { ; } else if (start) { Movimenti mov = new Movimenti(); //OPERAZ.PAGOBANCOMAT DEL 25 / 04 / 2018 ALLE 18.02 TES.N.04823278 PRESSO 5172973 / 00001(ABI 03069) //FASHION & HOME LECCO CORSO CARLO ALBERTO -CAT.MERC. (5651) N.CRO / RRN 811551753363 - ID CARTA 04823278 //Tessera: Carta di credito padre (la mia). IDCarta chi ha effettivamente usato. if (!row.IsNull(1)) { mov.DataContabile = DateTime.Parse(row[1].ToString()).Date; mov.DataValuta = DateTime.Parse(row[2].ToString()).Date; mov.IDContoCorrente = IDConto; mov.Importo = Decimal.Parse(row[3].ToString().Replace(".", ",")); mov.Divisa = row[4].ToString(); mov.Descrizione = row[5].ToString(); mov.Causale = row[6].ToString(); #region Categorie UBI Regex _regex = new Regex(@"CAT.\s*MERC.\s*\(\d+"); // This calls the static method specified. Match match = _regex.Match(mov.Descrizione); if (match.Success) { //Console.WriteLine("Value:" + match.Groups[0].Value.ToString().Replace("CAT.MERC. (", "")); string id = Regex.Replace(match.Groups[0].Value.ToString(), "CAT.\\s*MERC.\\s*\\(", ""); int iid = int.Parse(id); if (iid > 0) { mov.IDCategoria = iid; if (context.CategorieUbiBanca.Where(q => q.ID == mov.IDCategoria).Count() <= 0 && context.CategorieUbiBanca.Local.Where(q => q.ID == mov.IDCategoria).Count() <= 0) { CategorieUbiBanca ubicat = new CategorieUbiBanca(); ubicat.ID = mov.IDCategoria.Value; context.CategorieUbiBanca.Add(ubicat); } } } #endregion #region Tes. N. Regex _regex2 = new Regex(@"TES.\s*N.\s*\s*([^\s]+)"); // This calls the static method specified. Match match2 = _regex2.Match(mov.Descrizione); if (match2.Success) { //Console.WriteLine("Value:" + match.Groups[0].Value.ToString().Replace("CAT.MERC. (", "")); string id = Regex.Replace(match2.Groups[0].Value.ToString(), "TES.\\s*N.\\s*", ""); if (!String.IsNullOrEmpty(id)) { mov.IDCarta = id; } } #endregion if (mov.Causale.Contains("Prelievi")) { mov.IDCategoriaIphase = 90; } else if (context.Keywords.Where(q => mov.Descrizione.ToLower().Trim().Contains(q.Keyword.Trim().ToLower())).Count() == 1) { mov.IDCategoriaIphase = context.Keywords.Where(q => mov.Descrizione.Trim().ToLower().Contains(q.Keyword.Trim().ToLower())).First().IDVoce_Code; } else if (mov.Causale.Contains("Pagamenti POS")) { mov.IDCategoriaIphase = 92; } else { mov.IDCategoriaIphase = -1; } context.Movimenti.Add(mov); } } else if (row[1].ToString().Trim().ToLower().Equals("data contabile")) { start = true; } } break; } #endregion context.SaveChanges(); }