예제 #1
0
        /// <summary>
        /// Metodo que valida los datos para guardar
        /// </summary>
        /// <returns></returns>
        private bool ValidaGuardar()
        {
            bool   resultado = true;
            string mensaje   = string.Empty;

            try
            {
                if (string.IsNullOrWhiteSpace(txtDescripcion.Text))
                {
                    resultado = false;
                    mensaje   = Properties.Resources.BancoEdicion_MsgDescripcionRequerida;
                    txtDescripcion.Focus();
                }
                else if (Contexto.Pais.PaisID == 0)
                {
                    resultado = false;
                    mensaje   = Properties.Resources.BancoEdicion_MsgPaisRequerida;
                    skAyudaPais.Focus();
                }
                else if (string.IsNullOrWhiteSpace(txtTelefono.Text))
                {
                    resultado = false;
                    mensaje   = Properties.Resources.BancoEdicion_MsgTelefonoRequerida;
                    txtTelefono.Focus();
                }
                else
                {
                    int    bancoId     = Extensor.ValorEntero(txtBancoId.Text);
                    string descripcion = txtDescripcion.Text.Trim();

                    var       bancoBL = new BancoBL();
                    BancoInfo banco   = bancoBL.ObtenerPorDescripcion(descripcion);

                    if (banco != null && (bancoId == 0 || bancoId != banco.BancoID))
                    {
                        resultado = false;
                        mensaje   = string.Format(Properties.Resources.BancoEdicion_MsgDescripcionExistente,
                                                  banco.BancoID);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }

            if (!string.IsNullOrWhiteSpace(mensaje))
            {
                SkMessageBox.Show(this, mensaje, MessageBoxButton.OK, MessageImage.Warning);
            }
            return(resultado);
        }
예제 #2
0
 /// <summary>
 ///     Metodo que guarda un banco
 /// </summary>
 /// <param name="info"></param>
 public void Guardar(BancoInfo info)
 {
     try
     {
         Logger.Info();
         var bancoBL = new BancoBL();
         bancoBL.Guardar(info);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #3
0
 public IList <BancoInfo> ObtenerTodos()
 {
     try
     {
         Logger.Info();
         var bancoBL = new BancoBL();
         IList <BancoInfo> result = bancoBL.ObtenerTodos();
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #4
0
 /// <summary>
 /// Obtiene un banco por el telefono
 /// </summary>
 /// <param name="filtro"></param>
 /// <returns></returns>
 public BancoInfo ObtenerPorTelefono(string filtro)
 {
     try
     {
         Logger.Info();
         var       bancoBL = new BancoBL();
         BancoInfo result  = bancoBL.ObtenerPorTelefono(filtro);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
예제 #5
0
        /// <summary>
        /// Obtiene un banco por Id
        /// </summary>
        /// <param name="bancoInfo"></param>
        /// <returns></returns>
        public BancoInfo ObtenerPorID(BancoInfo bancoInfo)
        {
            BancoInfo banInfo;

            try
            {
                Logger.Info();
                var bancoBL = new BancoBL();
                banInfo = bancoBL.ObtenerPorID(bancoInfo);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(banInfo);
        }
예제 #6
0
        /// <summary>
        ///     Obtiene un lista paginada
        /// </summary>
        /// <param name="pagina"></param>
        /// <param name="filtro"></param>
        /// <returns></returns>
        public ResultadoInfo <BancoInfo> ObtenerPorPagina(PaginacionInfo pagina, BancoInfo filtro)
        {
            ResultadoInfo <BancoInfo> resultado;

            try
            {
                Logger.Info();
                var bancoBL = new BancoBL();
                resultado = bancoBL.ObtenerPorPagina(pagina, filtro);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
            return(resultado);
        }
예제 #7
0
        /// <summary>
        /// Método para guardar los valores del contexto
        /// </summary>
        private void Guardar()
        {
            bool guardar = ValidaGuardar();

            if (guardar)
            {
                try
                {
                    var bancoBL = new BancoBL();
                    bancoBL.Guardar(Contexto);
                    SkMessageBox.Show(this, Properties.Resources.GuardadoConExito, MessageBoxButton.OK,
                                      MessageImage.Correct);
                    if (Contexto.BancoID != 0)
                    {
                        confirmaSalir = false;
                        Close();
                    }
                    else
                    {
                        InicializaContexto();
                        txtDescripcion.Focus();
                    }
                }
                catch (ExcepcionGenerica)
                {
                    SkMessageBox.Show(this, Properties.Resources.Banco_ErrorGuardar, MessageBoxButton.OK,
                                      MessageImage.Error);
                }
                catch (Exception ex)
                {
                    Logger.Error(ex);
                    SkMessageBox.Show(this, Properties.Resources.Banco_ErrorGuardar, MessageBoxButton.OK,
                                      MessageImage.Error);
                }
            }
        }
예제 #8
0
        public ActionResult Resultado()
        {
            ViewBag.UltimaFechaPublicacion = Formatos.ConvertirFechaFormatPiePagina(oArchivoBL.SelectActive().Fecha);
            NameValueCollection Form = Request.Form;
            double Monto             = double.Parse(Form["txtMonto"]);
            int    IdProducto        = int.Parse(Form["hdIdProducto"]);
            int    IdTipo            = int.Parse(Form["hdIdTipo"]);
            string TipoNombre        = Form["hdTipoNombre"];
            string BancosString      = Form["hdBancos"];
            int    Periodo           = int.Parse(Form["hdPeriodo"]);

            string[] BancosArray = BancosString.Split(',');

            BancoBL                         oBancoBL             = new BancoBL();
            ProductoBancoBL                 oProductoBancoBL     = new ProductoBancoBL();
            List <ProductoBanco>            ListaProductosBancos = new List <ProductoBanco>();
            List <ConceptoProductoBancoDTO> ListaConceptosProductosBancosUsuales    = new List <ConceptoProductoBancoDTO>();
            List <ConceptoProductoBancoDTO> ListaConceptosProductosBancosEventuales = new List <ConceptoProductoBancoDTO>();
            ConceptoProductoBancoBL         oConceptoProductoBancoBL = new ConceptoProductoBancoBL();

            foreach (string i in BancosArray)
            {
                var ProductoBanco = oProductoBancoBL.SelectByIdProductoAndIdBanco(IdProducto, i);
                ListaProductosBancos.Add(ProductoBanco);

                var ConceptosProductosBancosUsuales = oConceptoProductoBancoBL.SelectByProductoAndBancoAndTipoComision(IdProducto, i, "0401", Periodo).Concat(ListaConceptosProductosBancosUsuales);
                ListaConceptosProductosBancosUsuales = ConceptosProductosBancosUsuales.ToList();

                var ConceptosProductosBancosEventuales = oConceptoProductoBancoBL.SelectByProductoAndBancoAndTipoComision(IdProducto, i, "0402", Periodo).Concat(ListaConceptosProductosBancosEventuales);
                ListaConceptosProductosBancosEventuales = ConceptosProductosBancosEventuales.ToList();
            }

            ProductoBL oProductoBL = new ProductoBL();

            ViewBag.TipoNombre           = TipoNombre;
            ViewBag.Monto                = Monto;
            ViewBag.Periodo              = Periodo;
            ViewBag.ListaProductosBancos = ListaProductosBancos;
            ViewBag.ListaConceptosProductosBancosUsuales    = ListaConceptosProductosBancosUsuales;
            ViewBag.ListaConceptosProductosBancosEventuales = ListaConceptosProductosBancosEventuales;

            IList <Producto> ListaMediosDePago   = oProductoBL.SelectByTipo(1);
            IList <Producto> ListaFinanciamiento = oProductoBL.SelectByTipo(2);
            IList <Producto> ListaGarantias      = oProductoBL.SelectByTipo(3);
            IList <Producto> ListaEnvioDinero    = oProductoBL.SelectByTipo(4);

            ViewBag.ListaMediosDePago   = ListaMediosDePago;
            ViewBag.ListaFinanciamiento = ListaFinanciamiento;
            ViewBag.ListaGarantias      = ListaGarantias;
            ViewBag.ListaEnvioDinero    = ListaEnvioDinero;

            string       BancoEmpresa             = "";
            string       BancoEmpresaTabla        = "";
            string       MensajeBancoEmpresaJS    = "";
            string       MensajeBancoEmpresaPopUp = "";
            Producto     Producto       = null;
            List <Banco> Bancos         = null;
            bool         MostrarPeriodo = true;

            switch (IdTipo)
            {
            case 1:
                Producto = oProductoBL.Select(IdProducto);
                //Bancos = oProductoBancoBL.SelectByIdProducto(IdProducto);
                break;

            case 2:
                Producto = oProductoBL.Select(IdProducto);
                //Bancos = oProductoBancoBL.SelectByIdProducto(IdProducto);
                break;

            case 3:
                Producto = oProductoBL.Select(IdProducto);
                //Bancos = oProductoBancoBL.SelectByIdProducto(IdProducto);
                break;

            case 4:
                Producto = oProductoBL.SelectByTipo(4).First();
                //Bancos = oProductoBancoBL.SelectByIdProducto(Producto.IdProducto);
                MostrarPeriodo = false;
                break;
            }

            Bancos = oBancoBL.SelectAll().ToList();

            if (Producto.Nombre.StartsWith("1.5") || IdTipo == 4)
            {
                BancoEmpresa             = "empresa";
                MensajeBancoEmpresaJS    = "una empresa";
                MensajeBancoEmpresaPopUp = "una o más empresas";
                BancoEmpresaTabla        = "Empresa";
                MostrarPeriodo           = false;
            }
            else
            {
                BancoEmpresa             = "banco";
                MensajeBancoEmpresaJS    = "un banco";
                MensajeBancoEmpresaPopUp = "uno o más bancos";
                BancoEmpresaTabla        = "Banco";
            }

            if (Producto.Nombre.StartsWith("1.1") || Producto.Nombre.StartsWith("1.2") || Producto.Nombre.StartsWith("1.3"))
            {
                MostrarPeriodo = false;
            }

            ViewBag.IdTipo                   = IdTipo;
            ViewBag.TipoNombre               = TipoNombre;
            ViewBag.IdProducto               = IdProducto;
            ViewBag.Producto                 = Producto;
            ViewBag.ListaBancos              = Bancos;
            ViewBag.BancosString             = BancosString;
            ViewBag.BancoEmpresa             = BancoEmpresa;
            ViewBag.BancoEmpresaTabla        = BancoEmpresaTabla;
            ViewBag.BancosArray              = BancosArray;
            ViewBag.MensajeBancoEmpresaJS    = MensajeBancoEmpresaJS;
            ViewBag.MensajeBancoEmpresaPopUp = MensajeBancoEmpresaPopUp;
            ViewBag.MostrarPeriodo           = MostrarPeriodo;
            return(View());
        }
예제 #9
0
        public Enumerators.RespuestaCargaExcel CargarExcelDataBase(string NombreXLS, string NombreTXT, string Extension, string RutaXLS, string RutaTXT, string Accion, out int FilaError, int IdArchivo = 0)
        {
            FilaError = 0;
            if (File.Exists(RutaXLS))
            {
                string excelConnectionString = string.Empty;
                if (Extension == ".xls")
                {
                    excelConnectionString = ConstantesHelpers.ConnectionExcelXLS(RutaXLS);
                }
                else if (Extension == ".xlsx")
                {
                    excelConnectionString = ConstantesHelpers.ConnectionExcelXLSX(RutaXLS);
                }

                OleDbConnection excelConnection = new OleDbConnection(excelConnectionString);
                excelConnection.Open();
                DataTable dt = new DataTable();

                dt = excelConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                if (dt == null)
                {
                    return(Enumerators.RespuestaCargaExcel.ExcelVacio);
                }

                string[] excelSheets = new string[dt.Rows.Count];
                int      t           = 0;

                foreach (DataRow row in dt.Rows)
                {
                    excelSheets[t] = row["TABLE_NAME"].ToString();
                    t++;
                }
                OleDbConnection excelConnection1 = new OleDbConnection(excelConnectionString);

                string    query = string.Format("Select * from [{0}]", excelSheets[0]);
                DataTable data  = new DataTable();
                using (OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, excelConnection1))
                {
                    dataAdapter.Fill(data);
                }

                ArchivoBL               oArchivoBL               = new ArchivoBL();
                BancoBL                 oBancoBL                 = new BancoBL();
                ProductoBL              oProductoBL              = new ProductoBL();
                ConceptoBL              oConceptoBL              = new ConceptoBL();
                ProductoBancoBL         oProductoBancoBL         = new ProductoBancoBL();
                ConceptoProductoBancoBL oConceptoProductoBancoBL = new ConceptoProductoBancoBL();
                int    Linea      = 0;
                string LineaError = "";


                try
                {
                    //oConceptoProductoBancoBL.DeleteAll();
                    //oProductoBancoBL.DeleteAll();
                    //oConceptoBL.DeleteAll();
                    //oProductoBL.DeleteAll();
                    //oBancoBL.DeleteAll();

                    var Bancos = data.AsEnumerable().GroupBy(r => r.Field <string>("ID").Trim())
                                 .Select(row => new Banco
                    {
                        IdBanco = row.First().Field <string>("ID").Trim(),
                        Nombre  = row.First().Field <string>("Banco").Trim(),
                        Web     = row.First().Field <string>("Web Banco").Trim()
                    });
                    //oBancoBL.BulkInsert(Bancos);

                    var Productos = data.AsEnumerable().GroupBy(r => r.Field <string>("Producto").Trim())
                                    .Select(row => new Producto
                    {
                        Nombre = row.First().Field <string>("Producto").Trim(),
                        Tipo   = int.Parse(row.First().Field <string>("Producto").Trim().Substring(0, 1))
                    });

                    //oProductoBL.BulkInsert(Productos);

                    var Conceptos = data.AsEnumerable().GroupBy(r => r.Field <string>("Concepto").Trim())
                                    .Select(row => new Concepto
                    {
                        Nombre = row.First().Field <string>("Concepto").Trim()
                    });

                    //oConceptoBL.BulkInsert(Conceptos);

                    var ProductosBancos = data.AsEnumerable().GroupBy(r => new
                    {
                        Banco    = r.Field <string>("ID").Trim(),
                        Producto = r.Field <string>("Producto").Trim()
                    }).
                                          Select(row => new ProductoBanco
                    {
                        IdBanco  = row.First().Field <string>("ID").Trim(),
                        Producto = new Producto
                        {
                            Nombre = row.First().Field <string>("Producto").Trim(),
                        },
                        WebTarifario = row.First().Field <string>("Web Tarifario").Trim(),
                        Contacto     = row.First().Field <string>("Contacto").Trim()
                    });

                    //oProductoBancoBL.BulkInsert(ProductosBancos);

                    StreamReader oStreamReader = new StreamReader(RutaTXT, Encoding.Default, false);
                    string[]     Datos         = oStreamReader.ReadLine().Split(Convert.ToChar(9));
                    List <ConceptoProductoBanco> ConceptosProductosBancos = new List <ConceptoProductoBanco>();
                    ConceptoProductoBanco        oConceptoProductoBanco   = null;

                    try
                    {
                        while (oStreamReader.Peek() >= 0)
                        {
                            Linea++;
                            LineaError = oStreamReader.ReadLine();
                            Datos      = LineaError.Split(Convert.ToChar(9));

                            oConceptoProductoBanco          = new ConceptoProductoBanco();
                            oConceptoProductoBanco.Concepto = new Concepto
                            {
                                Nombre = Datos[4]
                            };
                            oConceptoProductoBanco.ProductoBanco = new ProductoBanco
                            {
                                Producto = new Producto
                                {
                                    Nombre = Datos[3]
                                }
                            };
                            oConceptoProductoBanco.IdBanco      = Datos[1];
                            oConceptoProductoBanco.TipoComision = Datos[5];

                            if (Datos[6].Trim().Length > 0)
                            {
                                oConceptoProductoBanco.Tasa30 = decimal.Parse(Datos[6]);
                            }
                            else
                            {
                                oConceptoProductoBanco.Tasa30 = 0;
                            }

                            if (Datos[7].Trim().Length > 0)
                            {
                                oConceptoProductoBanco.Tasa60 = decimal.Parse(Datos[7]);
                            }
                            else
                            {
                                oConceptoProductoBanco.Tasa60 = 0;
                            }

                            if (Datos[8].Trim().Length > 0)
                            {
                                oConceptoProductoBanco.Tasa90 = decimal.Parse(Datos[8]);
                            }
                            else
                            {
                                oConceptoProductoBanco.Tasa90 = 0;
                            }

                            if (Datos[9].Trim().Length > 0)
                            {
                                oConceptoProductoBanco.Minimo = decimal.Parse(Datos[9]);
                            }
                            else
                            {
                                oConceptoProductoBanco.Minimo = 0;
                            }

                            if (Datos[10].Trim().Length > 0)
                            {
                                oConceptoProductoBanco.Maximo = decimal.Parse(Datos[10]);
                            }
                            else
                            {
                                oConceptoProductoBanco.Maximo = 0;
                            }

                            if (Datos[11].Trim().Length > 0)
                            {
                                oConceptoProductoBanco.METasaMax = decimal.Parse(Datos[11]);
                            }
                            else
                            {
                                oConceptoProductoBanco.METasaMax = 0;
                            }

                            if (Datos[12].Trim().Length > 0)
                            {
                                oConceptoProductoBanco.METasaMin = decimal.Parse(Datos[12]);
                            }
                            else
                            {
                                oConceptoProductoBanco.METasaMin = 0;
                            }

                            if (Datos[13].Trim().Length > 0)
                            {
                                oConceptoProductoBanco.MEMin = decimal.Parse(Datos[13]);
                            }
                            else
                            {
                                oConceptoProductoBanco.MEMin = 0;
                            }

                            if (Datos[14].Trim().Length > 0)
                            {
                                oConceptoProductoBanco.MEMax = decimal.Parse(Datos[14]);
                            }
                            else
                            {
                                oConceptoProductoBanco.MEMax = 0;
                            }

                            oConceptoProductoBanco.Observaciones = Datos[18];

                            ConceptosProductosBancos.Add(oConceptoProductoBanco);
                        }

                        oStreamReader.Close();
                        oStreamReader.Dispose();
                    }
                    catch (Exception ex)
                    {
                        FilaError = Linea;
                        return(Enumerators.RespuestaCargaExcel.ErrorFila);
                    }

                    oArchivoBL.InsertExcel(Bancos, Productos, Conceptos, ProductosBancos, ConceptosProductosBancos);
                    //oConceptoProductoBancoBL.BulkInsert(ConceptosProductosBancos);
                }
                catch (Exception)
                {
                    return(Enumerators.RespuestaCargaExcel.Error);
                }

                excelConnection.Dispose();
                excelConnection1.Dispose();
                if (Accion == "NUEVO")
                {
                    Archivo oArchivoEnt = new Archivo();
                    oArchivoEnt.NombreXLS = NombreXLS;
                    oArchivoEnt.NombreTXT = NombreTXT;
                    if (oArchivoBL.UploadExcelFile(oArchivoEnt))
                    {
                        return(Enumerators.RespuestaCargaExcel.Correcto);
                    }
                    else
                    {
                        return(Enumerators.RespuestaCargaExcel.Error);
                    }
                }
                else
                {
                    if (oArchivoBL.ActiveExcelFile(IdArchivo))
                    {
                        return(Enumerators.RespuestaCargaExcel.Correcto);
                    }
                    else
                    {
                        return(Enumerators.RespuestaCargaExcel.Error);
                    }
                }
            }
            else
            {
                return(Enumerators.RespuestaCargaExcel.ArchivoNoExiste);
            }
        }