コード例 #1
0
        /// <summary>
        /// Metodo que sirve para Obtener la lista de tipo Producto
        /// </summary>
        /// <param name="pProducto">Filtro de tipo Producto</param>
        /// <returns></returns>
        public RespuestaProducto ObtenerProducto(Producto pProducto)
        {
            var respuesta = new RespuestaProducto();

            try
            {
                var respObtenerProducto = dal.ObtenerProducto(pProducto);
                respuesta.Producto = respObtenerProducto.ListaProducto != null || respObtenerProducto.ListaProducto.Count > 0 ?
                                     respObtenerProducto.ListaProducto.FirstOrDefault() : null;
                return(respuesta.Producto != null ?
                       new RespuestaProducto {
                    Respuesta = new Respuesta(string.Empty, Respuesta.CodExitoso), Producto = respuesta.Producto
                } :
                       new RespuestaProducto {
                    Respuesta = new Respuesta(Respuestas.GI03, Respuesta.CodExitoso), Producto = new Producto()
                });
            }
            catch (Exception ex)
            {
                ControlExcepciones.ControlExcepciones.ManejoExcepciones(ex, pProducto);

                BitacoraLogicaNegocios.RegistrarBitacora(MENSAJES_SISTEMA.ErrorExcepcion,
                                                         TraceData.Utilities.Enums.TypeTrace.Exception, ex, MethodBase.GetCurrentMethod().Name);

                return(new RespuestaProducto {
                    Respuesta = new Respuesta(TipoRespuesta.Excepcion, ex.Message, Respuesta.CodNoValido)
                });
            }
        }
コード例 #2
0
        /// <summary>
        /// Metodo para insertar un valor de tipo Producto
        /// </summary>
        /// <param name="pProducto"></param>
        /// <returns></returns>
        public RespuestaProducto InsertarProducto(Producto pProducto)
        {
            var respuesta = new RespuestaProducto();

            try
            {
                //Registra en bd
                respuesta = dal.InsertarProducto(pProducto);

                //Registra bitacora
                BitacoraLogicaNegocios.RegistrarBitacora(MENSAJES_SISTEMA.RespuestaInsertar,
                                                         TraceData.Utilities.Enums.TypeTrace.Info, respuesta, MethodBase.GetCurrentMethod().Name);
                return(respuesta);
            }
            catch (Exception ex)
            {
                ControlExcepciones.ControlExcepciones.ManejoExcepciones(ex, pProducto);

                BitacoraLogicaNegocios.RegistrarBitacora(MENSAJES_SISTEMA.ErrorExcepcion,
                                                         TraceData.Utilities.Enums.TypeTrace.Exception, ex, MethodBase.GetCurrentMethod().Name);

                return(new RespuestaProducto {
                    Respuesta = new Respuesta(TipoRespuesta.Excepcion, ex.Message, Respuesta.CodNoValido)
                });
            }
        }
コード例 #3
0
        public JsonResult BuscarProducto(string codigoBarra)
        {
            var respuesta = new RespuestaProducto();

            try
            {
                //****envíamos a buscar el producto
                respuesta = servicio.ObtenerProductoPorCodigo(codigoBarra);
                //****

                //respuesta exitosa
                return(Json(new
                {
                    CodError = respuesta.Respuesta.CodMensaje,
                    Data = respuesta.Producto
                }));
            }
            catch (Exception ex)
            {
                //registra error
                ControlExcepciones.ControlExcepciones.ManejoExcepciones(ex, codigoBarra);

                //respuesta error
                return(Json(new
                {
                    CodError = Respuesta.CodNoValido
                }));
            }
            //prueba
        }
コード例 #4
0
        /// <summary>
        /// Metodo que se encarga de eliminar o desactivar un registro  de la tabla Producto
        /// </summary>
        /// <param name="pProducto"></param>
        /// <returns></returns>
        public RespuestaProducto EliminarProducto(Producto pProducto)
        {
            int filasAfectadas;
            RespuestaProducto respuesta = new RespuestaProducto();

            //STRORE PROCEDURE DEFINITION
            DbCommand dbCommand = database1.GetStoredProcCommand(defaultSchema + StoredProcedure.EliminarProducto);

            //IN PARAMETERS

            database1.AddInParameter(dbCommand, parameterName(Producto.idProperty), DbType.Int32, pProducto.Id);

            //OUT PARAMETERS
            database1.AddOutParameter(dbCommand, parameterName(BaseEntidad.codErrorProperty), DbType.String, Constantes.BaseDatos.codErrorTamano);
            database1.AddOutParameter(dbCommand, parameterName(BaseEntidad.mensajeProperty), DbType.String, Constantes.BaseDatos.mensajeTamano);

            filasAfectadas = database1.ExecuteNonQuery(dbCommand);

            //ERROR CODE AND MESSAGE COLLECTOR
            respuesta.Respuesta            = new Respuesta();
            respuesta.Respuesta.CodMensaje = DBHelper.ReadNullSafeString(database1.GetParameterValue(dbCommand, parameterName(BaseEntidad.codErrorProperty)));
            respuesta.Respuesta.Mensaje    = DBHelper.ReadNullSafeString(database1.GetParameterValue(dbCommand, parameterName(BaseEntidad.mensajeProperty)));

            if (respuesta.Respuesta.CodMensaje == Respuesta.CodExitoso)
            {
                respuesta.Respuesta = new Respuesta(Mensajes.bmDeleteProducto, respuesta.Respuesta.CodMensaje);
            }

            return(respuesta);
        }
コード例 #5
0
        /// <summary>
        /// Inserta informacion en la tabla Producto
        /// </summary>
        /// <param name="pProducto"></param>
        /// <returns></returns>
        public RespuestaProducto InsertarProducto(Producto pProducto)
        {
            int filasAfectadas;

            RespuestaProducto respuesta = new RespuestaProducto();

            //STRORE PROCEDURE DEFINITION
            DbCommand dbCommand = database1.GetStoredProcCommand(defaultSchema + StoredProcedure.InsertarProducto);

            //IN PARAMETERS

            database1.AddInParameter(dbCommand, parameterName(Producto.idEntidadProperty), DbType.Int64, pProducto.IdEntidad);
            database1.AddInParameter(dbCommand, parameterName(Producto.idProveedorProperty), DbType.Int32, pProducto.IdProveedor);
            database1.AddInParameter(dbCommand, parameterName(Producto.idCategoriaProperty), DbType.Int32, pProducto.IdCategoria);
            database1.AddInParameter(dbCommand, parameterName(Producto.nombreProperty), DbType.String, pProducto.Nombre);
            database1.AddInParameter(dbCommand, parameterName(Producto.precioCostoProperty), DbType.Decimal, pProducto.PrecioCosto);
            database1.AddInParameter(dbCommand, parameterName(Producto.precioVentaProperty), DbType.Decimal, pProducto.PrecioVenta);
            database1.AddInParameter(dbCommand, parameterName(Producto.utilidadProperty), DbType.Decimal, pProducto.Utilidad);
            database1.AddInParameter(dbCommand, parameterName(Producto.impuestoProperty), DbType.Decimal, pProducto.Impuesto);
            database1.AddInParameter(dbCommand, parameterName(Producto.stockProperty), DbType.Int32, pProducto.Stock);
            database1.AddInParameter(dbCommand, parameterName(Producto.existenciaProperty), DbType.Int32, pProducto.Existencia);
            database1.AddInParameter(dbCommand, parameterName(Producto.descuentoProperty), DbType.Decimal, pProducto.Descuento);
            database1.AddInParameter(dbCommand, parameterName(Producto.codigoBarraProperty), DbType.String, pProducto.CodigoBarra);
            database1.AddInParameter(dbCommand, parameterName(BaseEntidad.usrCreacionProperty), DbType.String, pProducto.UsrCreacion);

            //OUT PARAMETERS

            database1.AddOutParameter(dbCommand, parameterName(Producto.idProperty), DbType.Int32, 32);
            database1.AddOutParameter(dbCommand, parameterName(BaseEntidad.codErrorProperty), DbType.String, Constantes.BaseDatos.codErrorTamano);
            database1.AddOutParameter(dbCommand, parameterName(BaseEntidad.mensajeProperty), DbType.String, Constantes.BaseDatos.mensajeTamano);

            //EXECUTE PROCEDURE
            filasAfectadas = database1.ExecuteNonQuery(dbCommand);

            //ERROR CODE AND MESSAGE COLLECTOR

            pProducto.Id                   = DBHelper.ReadNullSafeInt(database1.GetParameterValue(dbCommand, parameterName(Producto.idProperty)));
            respuesta.Respuesta            = new Respuesta();
            respuesta.Respuesta.CodMensaje = DBHelper.ReadNullSafeString(database1.GetParameterValue(dbCommand, parameterName(BaseEntidad.codErrorProperty)));
            respuesta.Respuesta.Mensaje    = DBHelper.ReadNullSafeString(database1.GetParameterValue(dbCommand, parameterName(BaseEntidad.mensajeProperty)));

            respuesta.Producto = pProducto;

            if (respuesta.Respuesta.CodMensaje == Respuesta.CodExitoso)
            {
                respuesta.Respuesta = new Respuesta(Mensajes.bmCreateProducto, respuesta.Respuesta.CodMensaje);
            }
            return(respuesta);
        }
コード例 #6
0
ファイル: CnnWebApi.cs プロジェクト: enunez89/POSWeb
        /// <summary>
        /// Obtiene producto por código barras
        /// </summary>
        /// <param name="codigoBarra"></param>
        /// <returns></returns>
        public RespuestaProducto ObtenerProductoPorCodigo(string codigoBarra)
        {
            var respuesta = new RespuestaProducto();

            try
            {
                using (var servicio = new HttpClient())
                {
                    //seteamos la url base donde se encuentra publicado el web api
                    servicio.BaseAddress = new Uri(urlBase);

                    //le pasamos los parametros por query string
                    string paramMetodo = $"Productos/ObtenerPorCodigo?codigoBarra={codigoBarra}";

                    //consumimos el método del web api
                    var respProducto = servicio.GetAsync(paramMetodo);
                    //esperamos la respuesta
                    respProducto.Wait();
                    //obtenemos el resultado
                    var result = respProducto.Result;

                    //validamos que todo fue correcto
                    if (result.IsSuccessStatusCode)
                    {
                        //obtenemos los datos
                        respuesta = result.Content.ReadAsAsync <RespuestaProducto>().Result;
                    }
                    else
                    {
                        //ocurrió un erro
                        respuesta.Respuesta = new Respuesta(Respuesta.CodError, "Error de comunicación");
                    }
                }
            }
            catch (Exception ex)
            {
                //ocurrió una exepción
                respuesta.Respuesta = new Respuesta(Respuesta.CodNoValido);
            }
            return(respuesta);
        }