/// <summary>
 /// Cargar uuna interfaz para poder realizar la conciliación utilizando un documento Excel, proporcionado por el sistema
 /// </summary>
 /// <returns></returns>
 public Boolean Conciliar(ref System.Windows.Forms.ProgressBar x_PBar)
 {
     try
     {
         DView = new CAJ006LiquidacionAgentesDViewConciliacion();
         DView.LoadView();
         DView.Presenter = this;
         (DView as CAJ006LiquidacionAgentesDViewConciliacion).StartPosition = FormStartPosition.CenterScreen;
         DTNoProcesados = null;
         if ((DView as CAJ006LiquidacionAgentesDViewConciliacion).ShowDialog() == DialogResult.OK)
         {
             ConciliacionProcesado = true;
             Boolean x_opcion = false;
             if (ProcesarConciliacion(DView.PathConciliacion, 2, ref x_PBar))
             {
                 x_opcion = true;
             }
             ImportarExcel excel = new ImportarExcel();
             excel.SetDataExcel(DTImportacion, DView.PathConciliacion, 2, new String[] { "OV", "Documento", "Observaciones" });
             return(x_opcion);
         }
         return(false);
     }
     catch (Exception)
     { throw; }
 }
Beispiel #2
0
        public static void TratarArquivoExcel(int tamanhoConteudo, string extensaoArquivo, string nomeArquivo, Stream arquivoStream)
        {
            var resultado = ImportarExcel.ObterDadosDoArquivoExcel(tamanhoConteudo, extensaoArquivo, nomeArquivo, arquivoStream);

            var listaCpf = new List <string>();

            for (int i = 0; i < resultado.Tables[0].Rows.Count; i++)
            {
                listaCpf.Add(Regex.Replace(resultado.Tables[0].Rows[i][0].ToString(), @"\W+", ""));
            }
        }
        public void CargarXLS()
        {
            try
            {
                OpenFileDialog ofdialog = new OpenFileDialog();

                //ofdialog.InitialDirectory = "c:\\";
                ofdialog.Filter      = "Archivos de Excel (*.xls)|*.xls|Archivos de Excel (*.xlsx)|*.xlsx";
                ofdialog.FilterIndex = 2;
                String Archivo = "", MensajeConciliacion = "";
                //ofdialog.RestoreDirectory = true;

                if (ofdialog.ShowDialog() == DialogResult.OK)
                {
                    Archivo = Path.GetFileName(ofdialog.FileName);
                    ImportarExcel         excel                = new ImportarExcel();
                    String                _message             = "";
                    System.Data.DataTable DataTableImportacion = excel.ReadExcel(ofdialog.FileName, 5, 1000, ref _message);
                    foreach (System.Data.DataRow item in DataTableImportacion.Rows)
                    {
                        #region Validar Nro de Operación

                        String _nroOperacion = "";
                        Int32  _value        = 0;
                        if (Int32.TryParse(item[4].ToString(), out _value))
                        {
                            _nroOperacion = _value.ToString("########");
                        }
                        else
                        {
                            _nroOperacion = item[4].ToString();
                        }

                        Entities.Movimiento _movi = Items.Where(Movi => !String.IsNullOrEmpty(Movi.MOVI_NroOperacion) && Movi.MOVI_NroOperacion.Contains(_nroOperacion) && !Movi.Seleccionar).FirstOrDefault();
                        if (_movi != null)
                        {
                            MensajeConciliacion                        += String.Format("- Se concilio el Nro de Operación: {1}, con el movimiento de banco con codigo interno {2} .{0}", Environment.NewLine, _movi.MOVI_NroOperacion, _movi.MOVI_Codigo);
                            _movi.Seleccionar                           = true;
                            _movi.CONC_MontoBCO                         = _movi.Monto;
                            _movi.CONC_FecConciliacion                  = Fecha;
                            _movi.ItemConciliacion.CONC_MontoBCO        = _movi.CONC_MontoBCO;
                            _movi.ItemConciliacion.CONC_FecConciliacion = _movi.CONC_FecConciliacion;
                        }

                        #endregion
                    }
                    Infrastructure.WinForms.Controls.Dialogos.MostrarMensajeSatisfactorio(Title, String.Format("Se realizo la conciliación del archivo: {0}", Archivo));
                    LView.ShowConciliacion(MensajeConciliacion);
                    LView.ShowItems();
                }
            }
            catch (Exception)
            { throw; }
        }
Beispiel #4
0
 public static void TratarArquivoCsv(string nomeArquivo, Stream arquivoStream)
 {
     var resultado = ImportarExcel.ObterDadosDoArquivoCsv(nomeArquivo, arquivoStream).Select(c => Regex.Replace(c, @"\W+", "")).ToList();
 }
        /// <summary>
        /// Realiza la operación de Conciliar, recibiendo el archivo a ser conciliado
        /// </summary>
        /// <param name="PathConciliacion">Ruta del archivo que utilizara para realizar la conciliaciónd agentes</param>
        /// <returns>true: si se proceso el archivo correctamente</returns>
        public Boolean ProcesarConciliacion(String PathConciliacion, Int32 x_Header, ref System.Windows.Forms.ProgressBar x_PBar)
        {
            try
            {
                String Archivo = "", MensajeConciliacion = "";
                if (System.IO.File.Exists(PathConciliacion))
                {
                    Archivo = Path.GetFileName(PathConciliacion);
                    ImportarExcel excel    = new ImportarExcel();
                    String        _message = "";
                    DTImportacion  = excel.ReadExcel(PathConciliacion, 1, 5000, x_Header, new Int32[] { 6, 18 }, ref _message, ref x_PBar);
                    DTNoProcesados = DTImportacion.Clone();
                    MsgError       = "";
                    if (!DTImportacion.Columns.Contains("OV"))
                    {
                        DTImportacion.Columns.Add("OV", typeof(String));
                    }
                    if (!DTImportacion.Columns.Contains("Documento"))
                    {
                        DTImportacion.Columns.Add("Documento", typeof(String));
                    }
                    if (!DTImportacion.Columns.Contains("Observaciones"))
                    {
                        DTImportacion.Columns.Add("Observaciones", typeof(String));
                    }

                    x_PBar.Maximum = x_PBar.Value + DTImportacion.Rows.Count;

                    ObservableCollection <Entities.CtaCte> x_ListGroup = new ObservableCollection <CtaCte>();
                    x_ListGroup = (from CCCT in Item.ListCtaCte
                                   group CCCT by new { CCCT.OV_OP, CCCT.DOOV_HBL } into LCCCT
                                   select new CtaCte
                    {
                        CCCT_Pendiente = LCCCT.Sum(x => x.CCCT_Pendiente),
                        OV_OP = LCCCT.Key.OV_OP,
                        DOOV_HBL = LCCCT.Key.DOOV_HBL
                    }
                                   ).ToObservableCollection();

                    Boolean x_IsCorrecto = true;
                    foreach (System.Data.DataRow item in DTImportacion.Rows)
                    {
                        #region Validar Documento

                        String  x_HBL = item[5].ToString().Trim();
                        String  x_MontoString = item[17].ToString();
                        Decimal x_Monto = 0, Monto = 0;
                        if (Decimal.TryParse(x_MontoString, out x_Monto))
                        {
                            Monto = Math.Abs(x_Monto);
                        }

                        /* Filtrar todos los documentos que coinciden (tipos, serie y numero de documento */
                        ObservableCollection <Entities.CtaCte> x_listCtaCte = x_ListGroup.Where(Cta => Cta.DOOV_HBL.Equals(x_HBL) &&
                                                                                                (Cta.CCCT_Pendiente.HasValue ? Math.Abs(Cta.CCCT_Pendiente.Value) : 0) == Monto).ToObservableCollection();

                        if (x_listCtaCte != null && x_listCtaCte.Count > 0)
                        {
                            ObservableCollection <Entities.CtaCte> x_listCtaCteCMP = Item.ListCtaCte.Where(Cta => Cta.OV_OP.Equals(x_listCtaCte[0].OV_OP)).ToObservableCollection();
                            x_listCtaCte[0].ConciliadoAgente = true;

                            item["OV"] = x_listCtaCte[0].OV_OP;
                            if (x_listCtaCteCMP != null && x_listCtaCteCMP.Count > 0)
                            {
                                foreach (CtaCte iCtaCte in x_listCtaCteCMP)
                                {
                                    iCtaCte.Seleccionar    = true;
                                    item["Documento"]     += String.Format("{0} {1}-{2} {3}", iCtaCte.TIPO_TDO, iCtaCte.CCCT_Serie, iCtaCte.CCCT_Numero, x_listCtaCteCMP.Count > 1 ? "/" : "");
                                    item["Observaciones"] += String.IsNullOrEmpty(iCtaCte.ObservacionesConciliacion) ? "-" : iCtaCte.ObservacionesConciliacion + (x_listCtaCteCMP.Count > 1 ? "/" : "");
                                }
                            }
                        }
                        else
                        {
                            DTNoProcesados.ImportRow(item); x_IsCorrecto = false;
                        }

                        #endregion
                        x_PBar.Value++;
                    }
                    return(!(MsgError.Length > 0) && x_IsCorrecto);
                }
                else
                {
                    throw new Exception("El archivo no existe");
                }
                return(false);
            }
            catch (Exception)
            { throw; }
        }