コード例 #1
0
        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();
        }
コード例 #2
0
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            Movimenti movimenti = await db.Movimenti.FindAsync(id);

            db.Movimenti.Remove(movimenti);
            await db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
コード例 #3
0
        // GET: Movimentis/Details/5
        public async Task <ActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Movimenti movimenti = await db.Movimenti.FindAsync(id);

            if (movimenti == null)
            {
                return(HttpNotFound());
            }
            return(View(movimenti));
        }
コード例 #4
0
        public async Task <ActionResult> Edit([Bind(Include = "ID,IDContoCorrente,DataContabile,DataValuta,Importo,Divisa,Descrizione,Causale,IDCategoria,IDCategoriaIphase,IDCarta,IDTipoMovimento")] Movimenti movimenti)
        {
            if (ModelState.IsValid)
            {
                db.Entry(movimenti).State = EntityState.Modified;
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            ViewBag.IDCarta           = new SelectList(db.Carte, "ID", "IDContoCorrente", movimenti.IDCarta);
            ViewBag.IDCategoria       = new SelectList(db.CategorieUbiBanca, "ID", "Descrizione", movimenti.IDCategoria);
            ViewBag.IDContoCorrente   = new SelectList(db.ContiCorrente, "ID", "Descrizione", movimenti.IDContoCorrente);
            ViewBag.IDCategoriaIphase = new SelectList(db.CategorieIphase, "IDVoce", "Descrizione", movimenti.IDCategoriaIphase);
            ViewBag.IDTipoMovimento   = new SelectList(db.TipoMovimento, "IDTipoMovimento", "Descrizione", movimenti.IDTipoMovimento);
            return(View(movimenti));
        }
コード例 #5
0
        // GET: Movimentis/Edit/5
        public async Task <ActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Movimenti movimenti = await db.Movimenti.FindAsync(id);

            if (movimenti == null)
            {
                return(HttpNotFound());
            }
            ViewBag.IDCarta           = new SelectList(db.Carte, "ID", "IDContoCorrente", movimenti.IDCarta);
            ViewBag.IDCategoria       = new SelectList(db.CategorieUbiBanca, "ID", "Descrizione", movimenti.IDCategoria);
            ViewBag.IDContoCorrente   = new SelectList(db.ContiCorrente, "ID", "Descrizione", movimenti.IDContoCorrente);
            ViewBag.IDCategoriaIphase = new SelectList(db.CategorieIphase, "IDVoce", "Descrizione", movimenti.IDCategoriaIphase);
            ViewBag.IDTipoMovimento   = new SelectList(db.TipoMovimento, "IDTipoMovimento", "Descrizione", movimenti.IDTipoMovimento);
            ViewBag.id = new SelectList(db.CategorieIphase, "IDVoce", "Descrizione", movimenti.IDCategoriaIphase);
            return(View(movimenti));
        }
コード例 #6
0
        public List <Movimenti> CaricaMovimenti(string DataInizio, string DataFine, int IdPrezioso)
        {
            DateTime         inizio;
            DateTime         fine;
            List <Movimenti> movimenti = new List <Movimenti>();

            if (DateTime.TryParse(DataInizio, out inizio) && DateTime.TryParse(DataFine, out fine))
            {
                inizio = new DateTime(inizio.Year, inizio.Month, inizio.Day, 0, 0, 0);
                fine   = new DateTime(fine.Year, fine.Month, fine.Day, 23, 59, 59);
                PreziosiDS ds = new PreziosiDS();
                using (PreziosiBusiness bPreziosi = new PreziosiBusiness())
                {
                    bPreziosi.FillRW_MOVIMENTI_PREZIOSI(ds);
                    bPreziosi.FillRW_PREZIOSI(ds);
                    List <PreziosiDS.RW_MOVIMENTI_PREZIOSIRow> movimentiFiltrato = ds.RW_MOVIMENTI_PREZIOSI.Where(x => x.DATA >= inizio && x.DATA <= fine).ToList();
                    if (IdPrezioso > 0)
                    {
                        movimentiFiltrato = movimentiFiltrato.Where(x => x.IDPREZIOSO == IdPrezioso).ToList();
                    }

                    foreach (PreziosiDS.RW_MOVIMENTI_PREZIOSIRow mov in movimentiFiltrato.OrderBy(x => x.DATA))
                    {
                        string    materiale = ds.RW_PREZIOSI.Where(x => x.IDPREZIOSO == mov.IDPREZIOSO).Select(x => x.MATERIALE.Trim()).FirstOrDefault();
                        Movimenti m         = new Movimenti()
                        {
                            Cassaforte = mov.CASSAFORTE,
                            Causale    = mov.IsNOTANull() ? string.Empty : mov.NOTA,
                            Giorno     = mov.DATA,
                            Materiale  = materiale,
                            Avere      = mov.QUANTITA > 0 ? mov.QUANTITA.ToString() : string.Empty,
                            Dare       = mov.QUANTITA < 0 ? (-1 * mov.QUANTITA).ToString() : string.Empty,
                            Utente     = mov.UTENTE
                        };
                        movimenti.Add(m);
                    }
                }
            }
            return(movimenti);
        }
コード例 #7
0
 public void Aggiungi(Movimenti value)
 {
     context.Movimenti.Add(value);
 }
コード例 #8
0
        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();
        }