示例#1
0
 /// <summary>
 /// Obtiene si el producto requiere contrato
 /// Regresa el producto si esta en el parametro
 /// </summary>
 /// <param name="producto"></param>
 /// <returns></returns>
 public ProductoInfo ObtieneRequiereContrato(ProductoInfo producto)
 {
     try
     {
         Logger.Info();
         var          productoBl = new ProductoBL();
         ProductoInfo result     = productoBl.ObtieneRequiereContrato(producto);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
示例#2
0
 /// <summary>
 /// Obtiene una entidad por su ID que maneje lote y con existencias
 /// </summary>
 /// <param name="producto"></param>
 /// <returns></returns>
 public ProductoInfo ObtenerPorIDLoteExistencia(ProductoInfo producto)
 {
     try
     {
         Logger.Info();
         var          productoBL = new ProductoBL();
         ProductoInfo result     = productoBL.ObtenerPorIDLoteExistencia(producto);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
示例#3
0
 /// <summary>
 /// Metodo para Guardar/Modificar una entidad Producto
 /// </summary>
 /// <param name="info">Representa la entidad que se va a grabar</param>
 public int Guardar(ProductoInfo info)
 {
     try
     {
         Logger.Info();
         var productoBL = new ProductoBL();
         int result     = productoBL.Guardar(info);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
示例#4
0
 /// <summary>
 /// Obtiene una entidad por su descripción
 /// </summary>
 /// <param name="descripcion"></param>
 /// <returns></returns>
 public ProductoInfo ObtenerPorDescripcion(string descripcion)
 {
     try
     {
         Logger.Info();
         var          productoBL = new ProductoBL();
         ProductoInfo result     = productoBL.ObtenerPorDescripcion(descripcion);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
示例#5
0
 /// <summary>
 /// Obtiene el producto por indicador
 /// </summary>
 /// <returns></returns>
 public ResultadoInfo <ProductoInfo> ObtenerPorIndicadorPagina(PaginacionInfo pagina, ProductoInfo filtro)
 {
     try
     {
         Logger.Info();
         var productoBL = new ProductoBL();
         ResultadoInfo <ProductoInfo> resultado = productoBL.ObtenerPorIndicadorPagina(pagina, filtro);
         return(resultado);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
示例#6
0
 /// <summary>
 /// Obtiene un producto por id filtrando por familia y subfamilia
 /// </summary>
 /// <param name="producto"></param>
 /// <returns></returns>
 public ProductoInfo ObtenerPorIdFiltroFamiliaSubfamilias(ProductoInfo producto)
 {
     try
     {
         Logger.Info();
         var          productoBl = new ProductoBL();
         ProductoInfo result     = productoBl.ObtenerPorIdFiltroFamiliaSubfamilias(producto);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
        public IActionResult ListarPorPlataforma(Int32?PlataformaId)
        {
            ResponseModel responseModel = new ResponseModel();

            try
            {
                if (PlataformaId == null || PlataformaId <= 0)
                {
                    responseModel.Codigo  = CodeEN.Warning;
                    responseModel.Mensaje = "Datos inválidos";

                    return(BadRequest(responseModel));
                }

                ProductoBL productoBL = new ProductoBL();

                List <ProductoPlataformaAux> lstproductoPlataformaAuxes = productoBL.ListarPorPlataforma(PlataformaId.GetValueOrDefault());

                if (lstproductoPlataformaAuxes != null)
                {
                    responseModel.Codigo  = CodeEN.Success;
                    responseModel.Mensaje = "Se listo los productos por plataforma de manera satisfactoria";
                    responseModel.Data    = lstproductoPlataformaAuxes;

                    return(Ok(responseModel));
                }
                else
                {
                    responseModel.Codigo  = CodeEN.Error;
                    responseModel.Mensaje = "No se pudo consultar los productos por plataforma";

                    return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
                }
            }
            catch (Exception)
            {
                responseModel.Codigo  = CodeEN.Exception;
                responseModel.Mensaje = "Ocurrió una excepción";

                return(StatusCode(StatusCodes.Status500InternalServerError, responseModel));
            }
        }
示例#8
0
        public ActionResult Editar(int id)
        {
            var    producto = new ProductoBL().GetProductoById(id);
            string path     = System.IO.Path.Combine(
                Server.MapPath("~/Imagenes/"), producto.Imagen);

            byte[] bytes = System.IO.File.ReadAllBytes(path);
            ProductCreateViewModel productCreateViewModel = new ProductCreateViewModel()
            {
                id          = producto.Id,
                descripcion = producto.Descripcion,
                nombre      = producto.Nombre,
                stock       = producto.Cantidad,
                valor       = producto.Precio,
                categoria   = producto.Categoria ?? 0,
                imagen      = new MemoryPostedFile(bytes, producto.Imagen)
            };

            return(View(productCreateViewModel));
        }
示例#9
0
        public bool Agregar(string nombre, string unidad_de_medida, float precio, int stock, string CodCatetegoria)
        {
            Producto producto = new Producto();

            producto.Nombre       = nombre;
            producto.UnidadMedida = unidad_de_medida;
            producto.Precio       = precio;
            producto.Stock        = stock;
            producto.CodCategoria = CodCatetegoria;
            ProductoBL productoBL = new ProductoBL();

            if (productoBL.Agregar(producto))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#10
0
        public void CargarDatos(ProductoBL productosBL)
        {
            var bindingSource = new BindingSource();

            bindingSource.DataSource = from p in  productosBL.ListadeProductos
                                       select new {
                Foto        = p.Foto,
                Id          = p.Id,
                Descripcion = p.Descripcion,
                Categoria   = p.Categoria.Descripcion,
                Precio      = p.Precio,
            };

            var reporte = new ReportedeProductos();

            reporte.SetDataSource(bindingSource);

            crystalReportViewer1.ReportSource = reporte;
            crystalReportViewer1.RefreshReport();
        }
示例#11
0
 /// <summary>
 /// Obtiene un registro de Producto
 /// </summary>
 /// <param name="producto">contenedor con los parámetros de busqueda</param>
 /// <param name="dependencias">contenedor con los parámetros de busqueda</param>
 /// <returns></returns>
 public ProductoInfo Centros_ObtenerPorProductoIDSubFamilia(ProductoInfo producto,
                                                            IList <IDictionary <IList <String>, Object> > dependencias)
 {
     try
     {
         Logger.Info();
         var          productoBL = new ProductoBL();
         ProductoInfo result     = productoBL.ObtenerPorProductoIDSubFamilia(producto, dependencias);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
示例#12
0
 /// <summary>
 /// Metodo que lista los productos disponibles para envio en la pantalla de envio de alimento según la subfamilia correspondiente
 /// </summary>
 /// <param name="pagina">Información de paginacion de la busqueda</param>
 /// <param name="filtro">Datos de la busqueda</param>
 /// <returns>Regresa la lista de productos encontrados pertenecientes a la familia seleccionada</returns>
 public ResultadoInfo <ProductoInfo> ObtenerPorPaginaFiltroSubFamiliaParaEnvioAlimento(PaginacionInfo pagina, ProductoInfo filtro)
 {
     try
     {
         Logger.Info();
         filtro.FamiliaId = 0;
         var productoBL = new ProductoBL();
         ResultadoInfo <ProductoInfo> result = productoBL.ObtenerPorPaginaFiltroSubFamiliaParaEnvioAlimento(pagina, filtro);
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
示例#13
0
        private void dgvProductos_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            var vSelectedRow = dgvProductos.Rows[e.RowIndex];

            if (e.ColumnIndex == dgvProductos.Columns["btnDelete"].Index)
            {
                ProductoBL.DeleteProducto(Convert.ToInt32(vSelectedRow.Cells[2].Value.ToString()));
                this.ConsultarProductos();
                MessageBox.Show("Producto eliminado correctamente.", "Productos", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            if (e.ColumnIndex == dgvProductos.Columns["btnEdit"].Index)
            {
                txtProductoID.Text          = vSelectedRow.Cells["ProductoID"].Value.ToString();
                txtProductoDescripcion.Text = vSelectedRow.Cells["Descripcion"].Value.ToString();
                txtProductoPeso.Text        = vSelectedRow.Cells["Peso"].Value.ToString();
                txtProductoPrecio.Text      = vSelectedRow.Cells["Precio"].Value.ToString();
                txtProductoStock.Text       = vSelectedRow.Cells["Stock"].Value.ToString();
                txtProductoIVA.Text         = vSelectedRow.Cells["IVA"].Value.ToString();
            }
        }
示例#14
0
        //
        // GET: /Credito/
        public ActionResult Creditos(int pPersonaId = 0)
        {
            if (pPersonaId > 0)
            {
                var datos = new DatosCredito
                {
                    Persona          = PersonaBL.Obtener(pPersonaId),
                    Cliente          = ClienteBL.Obtener(x => x.PersonaId == pPersonaId),
                    SolicitudCredito = CreditoBL.Listar(x => x.Estado == "CRE" && x.PersonaId == pPersonaId,
                                                        y => y.OrderByDescending(z => z.FechaReg), "Producto").FirstOrDefault(),
                    Producto = ProductoBL.Listar(x => x.Estado).FirstOrDefault(),
                    Creditos = CreditoBL.Listar(x => (x.Estado == "PEN" || x.Estado == "APR" || x.Estado == "DES") && x.PersonaId == pPersonaId, includeProperties: "PlanPago,Producto,Persona1").ToList()
                };
                datos.EstadoCliente = datos.Cliente.Estado ? "ACTIVO" : "INACTIVO";
                datos.TotalCreditos = CreditoBL.Contar(x => x.PersonaId == pPersonaId && x.Estado != "CRE");

                switch (datos.Cliente.Calificacion)
                {
                case "A": datos.CalificacionCliente = "BUENO"; break;

                case "B": datos.CalificacionCliente = "REGULAR"; break;

                case "C": datos.CalificacionCliente = "MALO"; break;

                default: datos.CalificacionCliente = "NO TIENE"; break;
                }

                ViewBag.PersonaId   = pPersonaId;
                ViewBag.cboAnalista = new SelectList(PersonaBL.ListarAnalista(), "PersonaId", "NombreCompleto");
                ViewBag.cboProducto = new SelectList(ProductoBL.Listar(x => x.Estado), "ProductoId", "Denominacion");

                if (datos.SolicitudCredito != null)
                {
                    VendixGlobal <int> .Crear("SolicitudCreditoId", datos.SolicitudCredito.CreditoId);
                }

                return(View(datos));
            }
            return(View());
        }
示例#15
0
 public void CargarProductos(string NombreMarca = "%", string pCondicion = "%")
 {
     listadoProductos = ProductoBL.ObtenerTodos(NombreMarca, pCondicion);
     dgvListadoProductos.Rows.Clear();
     for (int i = 0; i < listadoProductos.Count; i++)
     {
         dgvListadoProductos.Rows.Add();
         dgvListadoProductos.Rows[i].Cells[0].Value = listadoProductos[i].Id;
         dgvListadoProductos.Rows[i].Cells[1].Value = listadoProductos[i].Nombre;
         dgvListadoProductos.Rows[i].Cells[2].Value = listadoProductos[i].Descripcion;
         dgvListadoProductos.Rows[i].Cells[3].Value = listadoProductos[i].Marca;
         dgvListadoProductos.Rows[i].Cells[4].Value = listadoProductos[i].PrecioVenta.ToString("c");
         if (listadoProductos[i].Stock <= 10 && listadoProductos[i].Stock > 0)
         {
             dgvListadoProductos.Rows[i].Cells[5].Style.BackColor = Color.Orange;
         }
         else if (listadoProductos[i].Stock == 0)
         {
             dgvListadoProductos.Rows[i].Cells[5].Style.BackColor = Color.Red;
         }
         dgvListadoProductos.Rows[i].Cells[5].Value = listadoProductos[i].Stock;
     }
 }
        public ActionResult Delete(int id)
        {
            try
            {
                ProductoBL _existenProductos = new ProductoBL();

                if (_existenProductos.ExistenFacturas(id))
                {
                    ViewBag.Message = "no se puede borrar el producto. Hay facturas asociadas al mismo.";
                    return(View(id));
                }
                else
                {
                    _base = new ProductoBL();
                    _base.Borrar(id);
                    return(RedirectToAction("Index"));
                }
            }
            catch
            {
                return(View(id));
            }
        }
示例#17
0
 /// <summary>
 /// Obtiene una lista de Productos por familia paginado
 /// </summary>
 /// <param name="filtro"></param>
 /// <returns></returns>
 public ProductoInfo ObtenerPorIDFamilias(ProductoInfo filtro)
 {
     try
     {
         Logger.Info();
         var          productoBl = new ProductoBL();
         ProductoInfo result     = productoBl.ObtenerPorProductoIDFamilias(filtro);
         if (result != null)
         {
             result.Familias = filtro.Familias;
         }
         return(result);
     }
     catch (ExcepcionGenerica)
     {
         throw;
     }
     catch (Exception ex)
     {
         Logger.Error(ex);
         throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
     }
 }
示例#18
0
        public ResultadoInfo <ProductoInfo> ObtenerIngredientesPorFamiliasBusquedaPaginado(PaginacionInfo pagina, ProductoInfo filtro)
        {
            try
            {
                Logger.Info();
                var productoBl = new ProductoBL();

                if (filtro.Familias == null)
                {
                    filtro.Familias = new List <FamiliaInfo>
                    {
                        new FamiliaInfo {
                            FamiliaID = FamiliasEnum.MateriaPrimas.GetHashCode()
                        },
                        new FamiliaInfo {
                            FamiliaID = FamiliasEnum.Premezclas.GetHashCode()
                        },
                        new FamiliaInfo {
                            FamiliaID = FamiliasEnum.Alimento.GetHashCode()
                        },
                    };
                }


                ResultadoInfo <ProductoInfo> result = productoBl.ObtenerPorFamiliasPaginado(pagina, filtro);
                return(result);
            }
            catch (ExcepcionGenerica)
            {
                throw;
            }
            catch (Exception ex)
            {
                Logger.Error(ex);
                throw new ExcepcionDesconocida(MethodBase.GetCurrentMethod(), ex);
            }
        }
    protected void Button1_Click(object sender, EventArgs e)
    {
        ProductoVO VOpro = new ProductoVO();
        ProductoBL BLpro = new ProductoBL();

        VOpro.Producto_Codigo        = txtCodigo.Text.Trim().ToUpper();
        VOpro.Producto_Nombre        = txtNombre.Text.Trim().ToUpper();
        VOpro.Producto_Marca         = lstMarca.SelectedValue;
        VOpro.Producto_Precio        = Double.Parse(txtPrecio.Text.Trim());
        VOpro.Producto_Moneda        = Int32.Parse(lstMoneda.SelectedValue);
        VOpro.Producto_Categoria     = txtCategoria.Text.Trim().ToUpper();
        VOpro.Producto_Descripcion   = txtDescripcion.Text.Trim().ToUpper();
        VOpro.Producto_TiempoEntrega = Int32.Parse(txtTiempoEntrega.Text.Trim());
        VOpro.Operacion = ProductoVO.INSERTAR;
        VOpro           = (ProductoVO)BLpro.execute(VOpro);
        if (VOpro.Producto_ID > 0)
        {
            lblMensaje.Text = "EL PRODUCTO SE INSERTO CORRECTAMENTE";
        }
        else
        {
            lblMensaje.Text = "FALLO LA ALTA DEL PRODUCTO";
        }
    }
示例#20
0
        private void TxtBusqueda_KeyPress(object sender, KeyPressEventArgs e)
        {
            try
            {
                if (e.KeyChar == '\r')
                {
                    e.Handled = true;

                    ProductoBL busqueda = new ProductoBL();
                    if (rbNombre.Checked == true)
                    {
                        dgvProd.DataSource = busqueda.BusquedaProducto(txtBusqueda.Text, rbNombre.Text);
                    }
                    else if (rbPrecio.Checked == true)
                    {
                        dgvProd.DataSource = busqueda.BusquedaProducto(txtBusqueda.Text, rbPrecio.Text);
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#21
0
        public ActionResult ReportePlanPagos(int pCreditoId)
        {
            var credito   = CreditoBL.Obtener(x => x.CreditoId == pCreditoId, "Persona");
            var oPlanPago = CreditoBL.ReportePlanPago(pCreditoId);
            var rd        = new ReportDataSource("dsSimuladorPlanPago", oPlanPago);

            string pModalidad = string.Empty;

            switch (credito.FormaPago)
            {
            case "D": pModalidad = "DIARIO"; break;

            case "S": pModalidad = "SEMANAL"; break;

            case "Q": pModalidad = "QUINCENAL"; break;

            case "M": pModalidad = "MENSUAL"; break;
            }
            //var pTem = CreditoBL.ObtenerTEM(credito.Interes, pModalidad);

            var parametros = new List <ReportParameter>
            {
                new ReportParameter("Monto", credito.MontoCredito.ToString()),
                new ReportParameter("Cuotas", credito.NumeroCuotas.ToString()),
                new ReportParameter("Producto", ProductoBL.Obtener(credito.ProductoId).Denominacion),
                new ReportParameter("Fecha", credito.FechaPrimerPago.ToShortDateString()),
                new ReportParameter("Modalidad", pModalidad),
                new ReportParameter("Cliente", credito.Persona.NombreCompleto),
                new ReportParameter("TEM", credito.Interes.ToString() + "%"),
                //new ReportParameter("TEM",Math.Round(pTem,6).ToString() + "%"),
                new ReportParameter("Desembolso", credito.MontoDesembolso.ToString()),
                new ReportParameter("GastosAdm", credito.MontoGastosAdm.ToString())
            };

            return(Reporte("PDF", "rptSimuladorPlanPago.rdlc", rd, "A4Vertical0.25", parametros));
        }
示例#22
0
 private void FrmProducto_Load(object sender, EventArgs e)
 {
     try
     {
         cultura.NumberFormat.NumberDecimalSeparator = ".";
         Thread.CurrentThread.CurrentCulture         = cultura;
         btnGuardarProducto.Enabled = false;
         CargarMarcasAlCombobox();
         epValidarControles.Clear();
         if (idProductoAEditar != null)
         {
             productoAEditar = ProductoBL.BuscarPorId((int)idProductoAEditar);
             CargarDatosAlFormulario();
             btnGuardarProducto.Text = "Actualizar";
         }
         //nudStock.TextChanged += NudStock_TextChanged;
     }
     catch (Exception error)
     {
         MetroMessageBox.Show(this, $"¡Ha ocurrido un error!\nMÁS INFORMACIÓN: {error.Message}", "Error", MessageBoxButtons.OK,
                              MessageBoxIcon.Error);
         Close();
     }
 }
示例#23
0
        public ActionResult Editar(ProductCreateViewModel _producto)
        {
            if (ModelState.IsValid)
            {
                var producto = new ProductoBL().GetProductoById(_producto.id);
                producto.Nombre      = _producto.nombre;
                producto.Cantidad    = _producto.stock;
                producto.Descripcion = _producto.descripcion;
                producto.Precio      = _producto.valor;
                producto.Categoria   = _producto.categoria;

                if (_producto.imagen != null)
                {
                    using (MemoryStream ms = new MemoryStream())
                    {
                        _producto.imagen.InputStream.CopyTo(ms);
                        byte[] array = ms.GetBuffer();
                    }
                    string pic  = System.IO.Path.GetFileName(_producto.imagen.FileName);
                    string path = System.IO.Path.Combine(
                        Server.MapPath("~/Imagenes/"), pic);
                    _producto.imagen.SaveAs(path);
                    producto.Imagen = pic;
                }

                if (new ProductoBL().Update(producto))
                {
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    return(View("Error"));
                }
            }
            return(View(_producto));
        }
示例#24
0
 void GuardarProducto()
 {
     try
     {
         Producto productoAAgregar = new Producto();
         productoAAgregar.IdMarca     = int.Parse(cmbMarcas.SelectedValue.ToString());
         productoAAgregar.Nombre      = txtNombreProducto.Text;
         productoAAgregar.Descripcion = txtDescripcionProducto.Text;
         productoAAgregar.PrecioVenta = float.Parse(txtPrecioProducto.Text);
         productoAAgregar.Stock       = 0 /*(int)nudStock.Value*/;
         if (idProductoAEditar == null)
         {
             ProductoBL.Guardar(productoAAgregar);
             objetoProductosActual.CargarProductos();
             MetroMessageBox.Show(this, "Producto registrado exitosamente.", "¡Aviso!", MessageBoxButtons.OK, MessageBoxIcon.Information);
             Limpiar();
         }
         else
         {
             productoAAgregar.Id = (int)idProductoAEditar;
             ProductoBL.Modificar(productoAAgregar);
             objetoProductosActual.CargarProductos();
             DialogResult resultado = MetroMessageBox.Show(this, "Producto actualizado exitosamente.\n¿Desea cerrar el editor?", "¡Aviso!",
                                                           MessageBoxButtons.YesNo, MessageBoxIcon.Question);
             if (resultado == DialogResult.Yes)
             {
                 Close();
             }
         }
     }
     catch (Exception error)
     {
         MetroMessageBox.Show(this, $"¡Ha ocurrido un error!\nMÁS INFORMACIÓN: {error.Message}", "¡Error!", MessageBoxButtons.OK,
                              MessageBoxIcon.Error);
     }
 }
示例#25
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());
        }
示例#26
0
        public ActionResult Paso2(int Tipo, int IdProducto, string Numero)
        {
            ViewBag.UltimaFechaPublicacion = Formatos.ConvertirFechaFormatPiePagina(oArchivoBL.SelectActive().Fecha);
            ProductoBancoBL oProductoBancoBL         = new ProductoBancoBL();
            ProductoBL      oProductoBL              = new ProductoBL();
            string          TipoNombre               = "";
            string          BancoEmpresa             = "";
            string          MensajeBancoEmpresaJS    = "";
            string          MensajeBancoEmpresaPopUp = "";
            Producto        Producto       = null;
            List <Banco>    Bancos         = null;
            bool            MostrarPeriodo = true;

            switch (Tipo)
            {
            case 1:
                TipoNombre = "Medios de pago";
                Producto   = oProductoBL.Select(IdProducto);
                Bancos     = oProductoBancoBL.SelectByIdProducto(IdProducto);
                break;

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

            case 3:
                Producto   = oProductoBL.Select(IdProducto);
                Bancos     = oProductoBancoBL.SelectByIdProducto(IdProducto);
                TipoNombre = "Garantías";
                break;

            case 4:
                Producto       = oProductoBL.SelectByTipo(4).First();
                Bancos         = oProductoBancoBL.SelectByIdProducto(Producto.IdProducto);
                TipoNombre     = "Envío de dinero";
                MostrarPeriodo = false;
                break;
            }

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

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

            ViewBag.IdTipo                   = Tipo;
            ViewBag.TipoNombre               = TipoNombre;
            ViewBag.Producto                 = Producto;
            ViewBag.ListaBancos              = Bancos;
            ViewBag.BancoEmpresa             = BancoEmpresa;
            ViewBag.MensajeBancoEmpresaJS    = MensajeBancoEmpresaJS;
            ViewBag.MensajeBancoEmpresaPopUp = MensajeBancoEmpresaPopUp;
            ViewBag.MostrarPeriodo           = MostrarPeriodo;
            return(View());
        }
示例#27
0
        public ActionResult ListarProductos()
        {
            var prod = ProductoBL.Listar(x => x.Estado).Select(x => new { Id = x.ProductoId, Valor = x.Denominacion });

            return(Json(prod, JsonRequestBehavior.AllowGet));
        }
示例#28
0
        public ActionResult ObtenerProducto(int pProductoId)
        {
            var rpta = ProductoBL.Obtener(pProductoId);

            return(Json(rpta, JsonRequestBehavior.AllowGet));
        }
示例#29
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);
            }
        }
示例#30
0
 private void CargarProductos()
 {
     dtgProductos.AutoGenerateColumns = false;
     dtgProductos.DataSource          = ProductoBL.CargarProductos();
 }