public DataSet BuscarProductoPalabra(string datoBusqueda)
        {
            EntProducto producto = new EntProducto();

            producto.FiltraParaLaborVenta = true;
            DataSet ds = producto.ObtenerProductoPorPalabraClave(datoBusqueda);

            return(this.EjecutarCriteriosPostBusqueda(ds));
        }
        public DataSet BuscarProductoMarca(string datoBusqueda)
        {
            EntProducto producto = new EntProducto();

            producto.FiltraParaLaborVenta = true;
            DataSet productos = null;

            productos = producto.ObtenerProductoPorMarca(datoBusqueda);

            return(this.EjecutarCriteriosPostBusqueda(productos));
        }
예제 #3
0
 public static List<EntProducto> getListaProducto()
 {
     const string connectionString = "mongodb://*****:*****@ds052408.mongolab.com:52408/juanvaldez";
     var mongoClient = new MongoClient(connectionString);
     var mongoServer = mongoClient.GetServer();
     var db = mongoServer.GetDatabase("juanvaldez");
     MongoCollection collection = db.GetCollection<EntProducto>("Productos");
     EntProducto persona = new EntProducto();
     MongoCursor<EntProducto> cursor = collection.FindAllAs<EntProducto>();
     List<EntProducto> list = cursor.ToList();
     return list;
 }
예제 #4
0
        public IMDResponse <bool> DSaveProducto(EntProducto entProducto)
        {
            IMDResponse <bool> response = new IMDResponse <bool>();

            string metodo = nameof(this.DSaveProducto);

            logger.Info(IMDSerialize.Serialize(67823458405738, $"Inicia {metodo}(EntProducto entProducto)", entProducto));


            try
            {
                using (DbCommand dbCommand = database.GetStoredProcCommand(spSaveProducto))
                {
                    database.AddInParameter(dbCommand, "piIdProducto", DbType.Int32, entProducto.iIdProducto);
                    database.AddInParameter(dbCommand, "piIdTipoProducto", DbType.Int32, entProducto.iIdTipoProducto);
                    database.AddInParameter(dbCommand, "piIdGrupoProducto", DbType.Int32, entProducto.iIdGrupoProducto);
                    database.AddInParameter(dbCommand, "psNombre", DbType.String, entProducto.sNombre);
                    database.AddInParameter(dbCommand, "psNombreCorto", DbType.String, entProducto.sNombreCorto);
                    database.AddInParameter(dbCommand, "psDescripcion", DbType.String, entProducto.sDescripcion);
                    database.AddInParameter(dbCommand, "pfCosto", DbType.Double, entProducto.fCosto);
                    database.AddInParameter(dbCommand, "piMesVigencia", DbType.Int32, entProducto.iMesVigencia);
                    database.AddInParameter(dbCommand, "psIcon", DbType.String, entProducto.sIcon);
                    database.AddInParameter(dbCommand, "pbComercial", DbType.Boolean, entProducto.bComercial);
                    database.AddInParameter(dbCommand, "psPrefijoFolio", DbType.String, entProducto.sPrefijoFolio);
                    database.AddInParameter(dbCommand, "piIdUsuarioMod", DbType.Int32, entProducto.iIdUsuarioMod);
                    database.AddInParameter(dbCommand, "pbActivo", DbType.Boolean, entProducto.bActivo);
                    database.AddInParameter(dbCommand, "pbBaja", DbType.Boolean, entProducto.bBaja);

                    response = imdCommonData.DExecute(database, dbCommand);
                }
            }
            catch (Exception ex)
            {
                response.Code    = 67823458406515;
                response.Message = "Ocurrió un error inesperado en la base de datos al guardar el producto.";

                logger.Error(IMDSerialize.Serialize(67823458406515, $"Error en {metodo}(EntProducto entProducto): {ex.Message}", entProducto, ex, response));
            }
            return(response);
        }
예제 #5
0
        public IMDResponse <bool> BSaveProducto(EntProducto entProducto)
        {
            IMDResponse <bool> response = new IMDResponse <bool>();

            string metodo = nameof(this.BSaveProducto);

            logger.Info(IMDSerialize.Serialize(67823458394860, $"Inicia {metodo}(EntProducto entProducto)", entProducto));

            try
            {
                if (entProducto.bActivo && !entProducto.bBaja)
                {
                    response = BValidaDatos(entProducto);

                    if (response.Code != 0)
                    {
                        return(response);
                    }
                }

                response = datProducto.DSaveProducto(entProducto);

                if (response.Code != 0)
                {
                    response.Result = false;
                    return(response);
                }

                response.Message = entProducto.iIdProducto == 0 ? "El producto ha sido guardado correctamente." : !entProducto.bActivo ? "El producto ha sido eliminado correctamente." : "El producto ha sido actualizado correctamente.";
                response.Result  = true;
            }
            catch (Exception ex)
            {
                response.Code    = 67823458395637;
                response.Message = "Ocurrió un error inesperado al guardar el producto.";

                logger.Error(IMDSerialize.Serialize(67823458395637, $"Error en {metodo}(EntProducto entProducto): {ex.Message}", entProducto, ex, response));
            }
            return(response);
        }
예제 #6
0
        public IMDResponse <bool> CSaveProducto([FromBody] EntProducto entProducto)
        {
            IMDResponse <bool> response = new IMDResponse <bool>();

            string metodo = nameof(this.CSaveProducto);

            logger.Info(IMDSerialize.Serialize(67823458404184, $"Inicia {metodo}([FromBody] EntProducto entProducto)", entProducto));

            try
            {
                BusProducto busProducto = new BusProducto();

                response = busProducto.BSaveProducto(entProducto);
            }
            catch (Exception ex)
            {
                response.Code    = 67823458404961;
                response.Message = "Ocurrió un error inesperado en el servicio al guardar el producto.";

                logger.Error(IMDSerialize.Serialize(67823458404961, $"Error en {metodo}([FromBody] EntProducto entProducto): {ex.Message}", entProducto, ex, response));
            }
            return(response);
        }
        public DataSet BuscarProducto(string datoBusqueda)
        {
            EntProducto producto = new EntProducto();

            producto.FiltraParaLaborVenta = false;

            try
            {
                DataSet ds = producto.ObtenerDataSetProductoPorSku(Convert.ToInt32(datoBusqueda));
                if (ds != null)
                {
                    DataSet resultadoFinal = this.EjecutarCriteriosPostBusqueda(ds);
                    if (resultadoFinal != null)
                    {
                        return(resultadoFinal);
                    }
                }
            }
            catch
            {
                return(null);
            }
            return(null);
        }
예제 #8
0
 public static EntProducto getProducto(String nombre, string tamaño)
 {
     string connetionString = "mongodb://*****:*****@ds052408.mongolab.com:52408/juanvaldez";
     var mongoClient = new MongoClient(connetionString);
     var mongoServer = mongoClient.GetServer();
     var db = mongoServer.GetDatabase("juanvaldez");
     MongoCollection collection = db.GetCollection<EntProducto>("Productos");
     EntProducto prod = new EntProducto();
     try
     {
         var query = new QueryBuilder<EntProducto>();
         var queryList = new List<IMongoQuery>();
         queryList.Add(Query<EntProducto>.EQ(c => c.Nombre, nombre));
         queryList.Add(Query<EntProducto>.EQ(c => c.Tamaño, tamaño));
         query.And(queryList);
         IMongoQuery mongoQuery = query.And(queryList);
         prod = collection.FindOneAs<EntProducto>(mongoQuery);
     }
     catch (Exception e)
     {
         prod = null;
     }
     return prod;
 }
예제 #9
0
        public IMDResponse <List <EntProducto> > BObtenerProductos(int?iIdProducto)
        {
            IMDResponse <List <EntProducto> > response = new IMDResponse <List <EntProducto> >();

            string metodo = nameof(this.BObtenerProductos);

            logger.Info(IMDSerialize.Serialize(67823458396414, $"Inicia {metodo}(int? iIdProducto)", iIdProducto));

            try
            {
                List <EntProducto>      lstProductos = new List <EntProducto>();
                IMDResponse <DataTable> dtProductos  = datProducto.DObterProductos(iIdProducto);

                if (dtProductos.Code != 0)
                {
                    response = dtProductos.GetResponse <List <EntProducto> >();
                    return(response);
                }

                if (dtProductos.Result.Rows.Count == 0)
                {
                    response         = dtProductos.GetResponse <List <EntProducto> >();
                    response.Code    = 67823458396414;
                    response.Message = "No se encontraron productos en el sistema.";
                    return(response);
                }

                foreach (DataRow item in dtProductos.Result.Rows)
                {
                    IMDDataRow  dr       = new IMDDataRow(item);
                    EntProducto producto = new EntProducto
                    {
                        iIdProducto      = dr.ConvertTo <int>("iIdProducto"),
                        iIdTipoProducto  = dr.ConvertTo <int>("iIdTipoProducto"),
                        iIdGrupoProducto = dr.ConvertTo <int>("iIdGrupoProducto"),
                        sTipoProducto    = dr.ConvertTo <string>("sTipoProducto"),
                        sGrupoProducto   = dr.ConvertTo <string>("sGrupoProducto"),
                        sNombre          = dr.ConvertTo <string>("sNombre"),
                        sNombreCorto     = dr.ConvertTo <string>("sNombreCorto"),
                        sDescripcion     = dr.ConvertTo <string>("sDescripcion"),
                        fCosto           = dr.ConvertTo <double>("fCosto"),
                        iMesVigencia     = dr.ConvertTo <int>("iMesVigencia"),
                        sIcon            = dr.ConvertTo <string>("sIcon"),
                        sPrefijoFolio    = dr.ConvertTo <string>("sPrefijoFolio"),
                        bComercial       = Convert.ToBoolean(dr.ConvertTo <int>("bComercial")),
                        bActivo          = Convert.ToBoolean(dr.ConvertTo <int>("bActivo")),
                        bBaja            = Convert.ToBoolean(dr.ConvertTo <int>("bBaja"))
                    };
                    producto.sComercial = producto.bComercial ? "Si" : "No";
                    producto.sCosto     = producto.fCosto.ToString("C");

                    lstProductos.Add(producto);
                }


                response.Code    = 0;
                response.Result  = lstProductos;
                response.Message = "La lista de productos ha sido obtenida.";
            }
            catch (Exception ex)
            {
                response.Code    = 67823458397191;
                response.Message = "Ocurrió un error inesperado";

                logger.Error(IMDSerialize.Serialize(67823458397191, $"Error en {metodo}(int? iIdProducto): {ex.Message}", iIdProducto, ex, response));
            }
            return(response);
        }
예제 #10
0
        public IMDResponse <bool> BValidaDatos(EntProducto entProducto)
        {
            IMDResponse <bool> response = new IMDResponse <bool>();

            string metodo = nameof(this.BValidaDatos);

            logger.Info(IMDSerialize.Serialize(67823458410400, $"Inicia {metodo}(EntProducto entProducto)", entProducto));

            try
            {
                response.Code = 67823458410400;

                if (entProducto.iIdTipoProducto < 1)
                {
                    response.Message = "No se ha especificado el tipo de producto.";
                    return(response);
                }
                if (entProducto.iIdGrupoProducto < 1)
                {
                    response.Message = "No se ha especificado el grupo del producto.";
                    return(response);
                }

                if (entProducto.sNombre == "")
                {
                    response.Message = "El nombre del producto no puede ser vacío.";
                    return(response);
                }

                if (entProducto.sNombreCorto == "")
                {
                    response.Message = "El nombre corto del producto no puede ser vacío.";
                    return(response);
                }


                if (entProducto.sDescripcion == "")
                {
                    response.Message = "La descripción del producto no puede ser vacía.";
                    return(response);
                }

                if (entProducto.fCosto <= 0)
                {
                    response.Message = "El costo del producto debe ser mayor a 0.";
                    return(response);
                }


                if (entProducto.iMesVigencia <= 0 && entProducto.iIdTipoProducto == (int)EnumTipoProducto.Membresia)
                {
                    response.Message = "La duración de la vigencia (en meses) del producto de una membresía debe ser mayor a 0.";
                    return(response);
                }


                if (entProducto.sIcon == "")
                {
                    response.Message = "El ícono del producto no puede ser vacío.";
                    return(response);
                }


                if (entProducto.sPrefijoFolio == "")
                {
                    response.Message = "El prefijo de generación de folios no puede ser vacío.";
                    return(response);
                }

                //IMDResponse<List<EntProducto>> lstProductos = BObtenerProductos(null);

                //if (lstProductos.Result.Count > 0)
                //{
                //    if (lstProductos.Result.Exists(c => c.sPrefijoFolio == entProducto.sPrefijoFolio))
                //    {
                //        response.Message = "Ya existe un prefijo con el mismo nombre.";
                //        return response;
                //    }
                //}

                response.Code   = 0;
                response.Result = true;
            }
            catch (Exception ex)
            {
                response.Code    = 67823458411177;
                response.Message = "Ocurrió un error inesperado al validar los datos del producto.";

                logger.Error(IMDSerialize.Serialize(67823458411177, $"Error en {metodo}(EntProducto entProducto): {ex.Message}", entProducto, ex, response));
            }
            return(response);
        }
 public EntFolioVerificarCarga()
 {
     lstFolios   = new List <EntFolioUser>();
     entProducto = new EntProducto();
     entEmpresa  = new EntEmpresa();
 }