public bool incrementarStock(Stockcs stock, Sucursal sucursal, string schema)
        {
            bool              retorno  = false;
            NpgsqlConnection  conexion = null;
            NpgsqlCommand     cmd      = null;
            NpgsqlTransaction tran     = null;

            try
            {
                conexion        = Conexion.getInstance().ConexionDB();
                cmd             = new NpgsqlCommand("logueo.spincrementarstock", conexion);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("parm_sucursal", sucursal.id);
                cmd.Parameters.AddWithValue("parm_idarticulo", stock.articulo.id);
                cmd.Parameters.AddWithValue("parm_cantidad", stock.cantidad);
                cmd.Parameters.AddWithValue("parm_schema", schema);
                conexion.Open();
                tran = conexion.BeginTransaction();
                cmd.ExecuteNonQuery();
                retorno = true;
            }
            catch (Exception e)
            {
                tran.Rollback();
                retorno = false;
            }
            tran.Commit();
            conexion.Close();
            return(retorno);
        }
        public bool decrementarStock(Stockcs stock, Sucursal sucursal, string schema, NpgsqlConnection conexion)
        {
            bool retorno  = false;
            bool hayStock = checkStockDisponible(stock, sucursal, schema, conexion);

            if (hayStock)
            {
                // si hay stock disponible lo reservo
                NpgsqlCommand cmd = null;
                try
                {
                    cmd             = new NpgsqlCommand("logueo.spdecrementarstock", conexion);
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("parm_sucursal", sucursal.id);
                    cmd.Parameters.AddWithValue("parm_idarticulo", stock.articulo.id);
                    cmd.Parameters.AddWithValue("parm_cantidad", stock.cantidad);
                    cmd.Parameters.AddWithValue("parm_schema", schema);
                    cmd.ExecuteNonQuery();
                    retorno = true;
                }
                catch (Exception e)
                {
                    retorno = false;
                }
            }
            else
            {
                retorno = hayStock;
            }
            return(retorno);
        }
        public bool checkStockDisponible(Stockcs stock, Sucursal sucursal, string schema)
        {
            bool              retorno  = false;
            NpgsqlConnection  conexion = null;
            NpgsqlCommand     cmd      = null;
            NpgsqlTransaction tran     = null;

            try
            {
                conexion        = Conexion.getInstance().ConexionDB();
                cmd             = new NpgsqlCommand("logueo.spcheckstockdisponible", conexion);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("parm_idsucursal", sucursal.id);
                cmd.Parameters.AddWithValue("parm_idarticulo", stock.articulo.id);
                cmd.Parameters.AddWithValue("parm_cantidad", stock.cantidad);
                cmd.Parameters.AddWithValue("parm_schema", schema);
                conexion.Open();
                Object retornoSQL = cmd.ExecuteScalar();
                retorno = Convert.ToBoolean(retornoSQL);
            }
            catch (Exception e)
            {
                throw (e);
            }
            tran.Commit();
            conexion.Close();
            return(retorno);
        }
        public List <Stockcs> listaStock2(int id_sucursal, string schema)
        {
            NpgsqlConnection  conexion   = null;
            NpgsqlCommand     cmd        = null;
            List <Stockcs>    listaStock = new List <Stockcs>();
            NpgsqlTransaction tran       = null;
            NpgsqlDataReader  dr         = null;

            try
            {
                conexion        = Conexion.getInstance().ConexionDB();
                cmd             = new NpgsqlCommand("logueo.spgetstock2", conexion);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("parm_idsucursal", id_sucursal);
                cmd.Parameters.AddWithValue("parm_schema", schema);
                conexion.Open();
                tran = conexion.BeginTransaction();
                dr   = cmd.ExecuteReader();
                while (dr.Read())
                {
                    Stockcs stock = new Stockcs();
                    stock.id            = Convert.ToInt32(dr["ID"].ToString());
                    stock.cantidad_neta = Convert.ToInt32(dr["CANTIDAD_NETA"].ToString());
                    stock.in_out        = dr["IN_OUT"].ToString();
                    stock.cantidad      = Convert.ToInt32(dr["CANTIDAD"].ToString());
                    stock.fecha         = Convert.ToDateTime(dr["FECHA"].ToString());
                    stock.es_activo     = Convert.ToBoolean(dr["ESACTIVO"].ToString());

                    Modelo modelo = new Modelo();
                    modelo.id     = Convert.ToInt32(dr["IDMODELO"].ToString());
                    modelo.nombre = dr["ARTICULO"].ToString();

                    Color color = new Color();
                    color.id     = Convert.ToInt32(dr["IDCOLOR"].ToString());
                    color.nombre = dr["COLOR"].ToString();

                    Talle talle = new Talle();
                    talle.id     = Convert.ToInt32(dr["IDTALLE"].ToString());
                    talle.nombre = dr["TALLE"].ToString();

                    Articulo articulo = new Articulo();
                    articulo.id     = Convert.ToInt32(dr["IDARTICULO"].ToString());
                    articulo.modelo = modelo;
                    articulo.color  = color;
                    articulo.talle  = talle;

                    stock.articulo = articulo;
                    listaStock.Add(stock);
                }
                dr.Close();
            }
            catch (Exception)
            {
                tran.Rollback();
                listaStock = null;
            }
            tran.Commit();
            conexion.Close();
            return(listaStock);
        }
Beispiel #5
0
 public bool registrarStockPerdido(Stockcs stock, Sucursal sucursal, string descripcion, string schema)
 {
     try
     {
         return(StockDAO.getInstance().registrarStockPerdido(stock, sucursal, descripcion, schema));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Beispiel #6
0
 public bool incrementarStock(Stockcs stock, Sucursal sucursal, string schema)
 {
     try
     {
         return(StockDAO.getInstance().incrementarStock(stock, sucursal, schema));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Beispiel #7
0
 public bool nuevoStock(Stockcs stock, string schema, NpgsqlConnection conexion)
 {
     try
     {
         return(StockDAO.getInstance().nuevoStock(stock, schema, conexion));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Beispiel #8
0
 public bool transferenciaStock(Stockcs stock, Sucursal sucursalSalida, Sucursal sucursalEntrada, string schema)
 {
     try
     {
         return(StockDAO.getInstance().transferenciaStock(stock, sucursalSalida, sucursalEntrada, schema));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Beispiel #9
0
 public bool cambioStock(Stockcs stockEntrada, Stockcs stockSalida, Sucursal sucursal, string schema)
 {
     try
     {
         return(StockDAO.getInstance().cambioStock(stockEntrada, stockSalida, sucursal, schema));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
 public string nuevoArticulo(Articulo articulo, Stockcs stock, string schema)
 {
     try
     {
         return(ArticuloDAO.getInstance().nuevoArticulo(articulo, stock, schema));
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Beispiel #11
0
        public string nuevoArticulo(Articulo articulo, Stockcs stock, string schema)
        {
            string          retorno       = null;
            List <Articulo> listArticulos = listaArticulos(schema);
            bool            existe        = validarObjetoExistente(listArticulos, articulo.modelo.nombre, articulo.color.nombre, articulo.talle.nombre);

            if (existe)
            {
                retorno = "El articulo ya existe";
                return(retorno);
            }
            NpgsqlConnection  conexion = null;
            NpgsqlCommand     cmd      = null;
            NpgsqlTransaction tran     = null;

            try
            {
                conexion        = Conexion.getInstance().ConexionDB();
                cmd             = new NpgsqlCommand("logueo.spnuevoarticulo", conexion);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("parm_idmodelo", articulo.modelo.id);
                cmd.Parameters.AddWithValue("parm_idtalle", articulo.talle.id);
                cmd.Parameters.AddWithValue("parm_idcolor", articulo.color.id);
                cmd.Parameters.AddWithValue("parm_preciomay", articulo.precio_may);
                cmd.Parameters.AddWithValue("parm_preciomin", articulo.precio_min);
                cmd.Parameters.AddWithValue("parm_codbarra", articulo.cod_barra);
                cmd.Parameters.AddWithValue("parm_schema", schema);
                conexion.Open();
                tran = conexion.BeginTransaction();
                Object id_articulo = cmd.ExecuteScalar();
                articulo.id = Convert.ToInt32(id_articulo);

                if (!StockDAO.getInstance().nuevoStock(stock, schema, conexion))
                {
                    tran.Rollback();
                    return("Error al crear stock");
                }
            }
            catch (Exception e)
            {
                tran.Rollback();
            }
            finally
            {
            }
            tran.Commit();
            conexion.Close();
            retorno = "Nuevo articulo añadido correctamente";
            return(retorno);
        }
        protected void BtnAdd_Click(object sender, EventArgs e)
        {
            Modelo modelo = new Modelo();

            modelo.nombre = ddlModelo.SelectedItem.Text.ToString();
            modelo.id     = Convert.ToInt32(ddlModelo.SelectedItem.Value.ToString());

            Talle talle = new Talle();

            talle.id     = Convert.ToInt32(ddlTalle.SelectedItem.Value.ToString());
            talle.nombre = ddlTalle.SelectedItem.Text.ToString();

            Color color = new Color();

            color.id     = Convert.ToInt32(ddlColor.SelectedItem.Value.ToString());
            color.nombre = ddlColor.SelectedItem.Text.ToString();

            Articulo articulo = new Articulo();

            articulo.precio_may = Convert.ToInt32(txtPreciomay.Text.Trim());
            articulo.precio_min = Convert.ToInt32(txtPreciomin.Text.Trim());
            articulo.modelo     = modelo;
            articulo.talle      = talle;
            articulo.color      = color;
            articulo.cod_barra  = "";

            Sucursal sucursal = new Sucursal();

            sucursal.id = Convert.ToInt32(Session["userSucursal"].ToString());

            Stockcs stock = new Stockcs();

            stock.articulo = articulo;
            stock.cantidad = Convert.ToInt32(txtStock.Text.Trim());
            stock.sucursal = sucursal;


            string retorno = ArticuloLN.getInstance().nuevoArticulo(articulo, stock, Session["schema"].ToString());


            txtPreciomay.Text = "";
            txtPreciomin.Text = "";
            Response.Write(@"<script language='javascript'>alert('" + retorno + " .');</script>");
        }
        public bool nuevoStock(Stockcs stock, string schema, NpgsqlConnection conexion)
        {
            NpgsqlCommand cmd = null;

            try
            {
                cmd             = new NpgsqlCommand("logueo.spnuevostock", conexion);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("parm_cantidad", stock.cantidad);
                cmd.Parameters.AddWithValue("parm_fecha", stock.fecha);
                cmd.Parameters.AddWithValue("parm_idarticulo", stock.articulo.id);
                cmd.Parameters.AddWithValue("parm_idsucursal", stock.sucursal.id);
                cmd.Parameters.AddWithValue("parm_schema", schema);
                cmd.ExecuteNonQuery();
            }
            catch (Exception e)
            {
                return(false);
            }
            return(true);
        }
        public bool transferenciaStock(Stockcs stock, Sucursal sucursalSalida, Sucursal sucursalEntrada, string schema)
        {
            bool              retorno  = false;
            NpgsqlConnection  conexion = null;
            NpgsqlTransaction tran     = null;

            try
            {
                conexion = Conexion.getInstance().ConexionDB();
                conexion.Open();
                tran = conexion.BeginTransaction();
                bool decremento = decrementarStock(stock, sucursalSalida, schema, conexion);
                if (decremento)
                {
                    bool incremento = incrementarStock(stock, sucursalEntrada, schema, conexion);
                    if (incremento)
                    {
                        retorno = true;
                    }
                    else
                    {
                        tran.Rollback();
                    }
                }
                else
                {
                    tran.Rollback();
                }
            }
            catch (Exception)
            {
                tran.Rollback();
                conexion.Close();
                return(retorno);
            }
            tran.Commit();
            conexion.Close();
            return(retorno);
        }
        public bool incrementarStock(Stockcs stock, Sucursal sucursal, string schema, NpgsqlConnection conexion)
        {
            bool          retorno = false;
            NpgsqlCommand cmd     = null;

            try
            {
                cmd             = new NpgsqlCommand("logueo.spincrementarstock", conexion);
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("parm_sucursal", sucursal.id);
                cmd.Parameters.AddWithValue("parm_idarticulo", stock.articulo.id);
                cmd.Parameters.AddWithValue("parm_cantidad", stock.cantidad);
                cmd.Parameters.AddWithValue("parm_schema", schema);
                cmd.ExecuteNonQuery();
                retorno = true;
            }
            catch (Exception e)
            {
                retorno = false;
            }
            return(retorno);
        }