Example #1
0
        /// <summary>
        /// Método definido para registrar los datos de los alquileres
        /// </summary>
        /// <param name="DatosA"></param>
        /// <param name="PelisAlquiladas"></param>
        public void RegistrarAlquileres(Alquiler DatosA, DataTable PelisAlquiladas)
        {
            Database db = DatabaseFactory.CreateDatabase("Desarrollo");
            string sqlCommand = "dbo.[insertar_alquileres]";
            DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand);

            using (DbConnection conn = db.CreateConnection()) // conexion para la transaccion
            {
                conn.Open(); //abrimos la conexion
                DbTransaction tranRegistro = conn.BeginTransaction(); //iniciamos la transaccion

                if (PelisAlquiladas.Rows.Count == 0)
                {
                    throw new Exception("No se han seleccionado películas");
                }

                try
                {
                    db.AddInParameter(dbCommand, "@INTsocio", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosA.Socio));
                    db.AddInParameter(dbCommand, "@DTfecha", DbType.DateTime, Utilerías.Utilerías.ObtenerValor(DatosA.Fecha));
                    db.AddInParameter(dbCommand, "@DTentrega", DbType.DateTime, Utilerías.Utilerías.ObtenerValor(DatosA.Entrega));
                    db.AddInParameter(dbCommand, "@INTcosto", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosA.Costo));
                    db.AddInParameter(dbCommand, "@INTplazo", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosA.Plazo));
                    db.AddInParameter(dbCommand, "@CHARdevuelto", DbType.Boolean, Utilerías.Utilerías.ObtenerValor(DatosA.Devuelto));

                    db.AddOutParameter(dbCommand, "@nStatus", DbType.Int16, 2);
                    db.AddOutParameter(dbCommand, "@strMessage", DbType.String, 250);
                    db.AddOutParameter(dbCommand, "@INTid_alquiler", DbType.Int32, 4);

                    db.ExecuteNonQuery(dbCommand, tranRegistro);

                    if (int.Parse(db.GetParameterValue(dbCommand, "@nStatus").ToString()) > 0)
                        throw new Exception(db.GetParameterValue(dbCommand, "@strMessage").ToString());

                    // Se registra la informacion del auto, un vez ingresados los datos personales
                    int idAlquiler = int.Parse(db.GetParameterValue(dbCommand, "@INTid_alquiler").ToString());

                    for (int i = 0; i < PelisAlquiladas.Rows.Count; i++)
                    {
                        AlquilerPelícula DatosAP = new AlquilerPelícula();
                        DatosAP.Alquiler = idAlquiler;
                        DatosAP.Película = Convert.ToInt32(PelisAlquiladas.Rows[i]["idPelículas"].ToString());
                        DatosAP.TotalDVD = Convert.ToInt32(PelisAlquiladas.Rows[i]["cantDVD"].ToString());
                        DatosAP.TotalBlueRay = Convert.ToInt32(PelisAlquiladas.Rows[i]["cantBlueRay"].ToString());
                        DatosAP.TotalHD = Convert.ToInt32(PelisAlquiladas.Rows[i]["cantHD"].ToString());

                        RegistrarAlquilerPelículas(DatosAP, tranRegistro, db);
                    }

                    tranRegistro.Commit();

                }
                catch (Exception ex)
                {
                    tranRegistro.Rollback();
                    throw new Exception(ex.Message);
                }
                finally
                {
                    conn.Close(); // cerrar la conexion
                }
            }
        }
Example #2
0
        /// <summary>
        /// Método definido para asociar las películas asociadas a un alquiler
        /// </summary>
        /// <param name="DatosAP"></param>
        /// <param name="tran"></param>
        /// <param name="db"></param>
        public void RegistrarAlquilerPelículas(AlquilerPelícula DatosAP, DbTransaction tran, Database db)
        {
            string sqlCommand = "dbo.insertar_alquileres_peliculas";
            DbCommand dbCommand = db.GetStoredProcCommand(sqlCommand);

            try
            {
                db.AddInParameter(dbCommand, "@INTalquiler", DbType.String, Utilerías.Utilerías.ObtenerValor(DatosAP.Alquiler));
                db.AddInParameter(dbCommand, "@INTpelicula", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosAP.Película));
                db.AddInParameter(dbCommand, "@INTtotal_dvd", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosAP.TotalDVD));
                db.AddInParameter(dbCommand, "@INTtotal_blueray", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosAP.TotalBlueRay));
                db.AddInParameter(dbCommand, "@INTtotal_hddvd", DbType.Int32, Utilerías.Utilerías.ObtenerValor(DatosAP.TotalHD));
                db.AddOutParameter(dbCommand, "@nStatus", DbType.Int16, 2);
                db.AddOutParameter(dbCommand, "@strMessage", DbType.String, 250);

                db.ExecuteNonQuery(dbCommand, tran);

                if (int.Parse(db.GetParameterValue(dbCommand, "@nStatus").ToString()) > 0)
                    throw new Exception(db.GetParameterValue(dbCommand, "@strMessage").ToString());

            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }