Exemplo n.º 1
0
        public ActionResult RelatoriosExtratoBancarios()
        {
            var list = new ArquivosBancarios();

            list.datainicio = DateTime.Now;
            list.datafinal  = DateTime.Now;

            list.ArquivoBancario = DAL.ListarObjetos <TransacaoBancaria>(string.Format("id_conta={0} and dt_mvto between '{1}' and '{2}' ", UsuarioLogado.IdConta, list.datainicio.ToString("yyyy-MM-dd"), list.datafinal.ToString("yyyy-MM-dd")));

            ViewBag.QtdRegistros = list.ArquivoBancario.Count();
            ViewBag.TotalBruto   = list.ArquivoBancario.Sum(x => x.vl_mvto);

            return(View(list));
        }
        // GET: ExtratoBancario
        public ActionResult Index()
        {
            var model = new ArquivosBancarios {
                arquivo = null, ds_arquivo = null
            };

            /*model.ArquivoResumo = new List<ArquivoResumo>();
             * model.ArquivoCompleto = new List<ArquivoCompleto>();
             * model.ArquivoDetalhado = new List<ArquivoDetalhado>();
             * model.ArquivoTransacao = new List<ArquivoTransacao>();
             * model.ArquivoAntecipado = new List<ArquivoAntecipado>();*/

            ViewBag.BotaoProcessar = "Buscar";

            return(View(model));
        }
Exemplo n.º 3
0
        public ActionResult RelatoriosExtratoBancarios(FormCollection frm)
        {
            DateTime datainicio = DateTime.ParseExact(frm["datainicio"].ToString(), "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);
            DateTime datafinal  = DateTime.ParseExact(frm["datafinal"].ToString(), "dd/MM/yyyy", System.Globalization.CultureInfo.InvariantCulture);

            var list = new ArquivosBancarios();

            list.datainicio = datainicio;
            list.datafinal  = datafinal;

            list.ArquivoBancario = DAL.ListarObjetos <TransacaoBancaria>(string.Format("id_conta={0} and dt_mvto between '{1}' and '{2}' ", UsuarioLogado.IdConta, list.datainicio.ToString("yyyy-MM-dd"), list.datafinal.ToString("yyyy-MM-dd")), "", "1,2,3,4,5,6,7");

            ViewBag.QtdRegistros = list.ArquivoBancario.Count();
            ViewBag.TotalBruto   = list.ArquivoBancario.Sum(x => x.vl_mvto);

            return(View(list));
        }
        public JsonResult ProcessarArquivo()
        {
            var model = new ArquivosBancarios();

            if (Request.Files.Count > 0)
            {
                var file = Request.Files[0];


                if (file != null && file.ContentLength > 0)
                {
                    try
                    {
                        model.ds_arquivo = file.FileName;

                        string     lsArquivomd5 = file.FileName;
                        string     lsretornomd5 = CriarMD5.RetornarMD5(lsArquivomd5);
                        var        conta        = new BaseID();
                        ArquivoMD5 md5          =
                            DAL.GetObjeto <ArquivoMD5>(string.Format("arquivo_md5='{0}' and id_conta={1}",
                                                                     lsretornomd5, conta.IdConta)) ?? new ArquivoMD5();

                        if (Path.GetExtension(file.FileName).ToLower().Equals(".ofx"))
                        {
                            var parser      = new OFXDocumentParser();
                            var ofxDocument = parser.Import(file.InputStream);

                            var list = ofxDocument.Transactions.Select(item => new TransacaoBancaria
                            {
                                conta        = ofxDocument.Account.AccountID,
                                ds_historico = item.Memo,
                                nr_doc       = item.TransactionID,
                                vl_mvto      = item.Amount,
                                tp_mvto      = item.TransType.ToString(),
                                dt_mvto      = item.Date
                            }
                                                                       ).Where(c => (c.tp_mvto.Substring(0, 1) == "C") || // CREDITO
                                                                               (c.tp_mvto.Substring(0, 1) == "O" &&       // OU OTHER E CONTEM A PALAVRA CARTAO
                                                                                c.ds_historico.Contains("CARTAO"))
                                                                               ).ToList();

                            model.ArquivoBancario = list;
                            model.datainicio      = ofxDocument.StatementStart;
                            model.datafinal       = ofxDocument.StatementEnd;
                        }
                        else
                        {
                            var    arquivo    = new ConciliacaoArquivoManipular(new StreamReader(file.InputStream));
                            String first_line = arquivo.LerLinha(true);

                            var bancario = new ConciliacaoBancariaDesmontar(arquivo, first_line);
                            model.ArquivoBancario = bancario.GetListTransacaoBancaria();
                        }

                        if (md5.arquivo_md5.Equals(""))
                        {
                            md5.arquivo_md5 = lsretornomd5;
                            DAL.GravarList(model.ArquivoBancario);
                            DAL.Gravar(md5);
                        }


                        ViewBag.BotaoProcessar = "Gravar";
                    }
                    catch (Exception ex)
                    {
                        this.AddNotification(ex.Message, NotificationType.Erro);
                    }
                }
            }
            var result = Json(model, JsonRequestBehavior.AllowGet);

            result.MaxJsonLength = int.MaxValue;
            return(result);
        }