public static void insertarReserva(Reserva res, DetalleReserva det) { string connStr = ConfigurationManager.ConnectionStrings["ConexionComplejo"].ConnectionString; SqlConnection cn = new SqlConnection(); SqlTransaction tran = null; try { cn.ConnectionString = connStr; cn.Open(); tran = cn.BeginTransaction(); string sql = "INSERT INTO RESERVAS (fecha_res,cli_id,estado,monto) values (@FechaRes,@Cliente,@Estado,@Monto); SELECT @@Identity as ID;"; SqlCommand cmd = new SqlCommand(); cmd.CommandText = sql; cmd.Connection = cn; cmd.Transaction = tran; cmd.Parameters.AddWithValue("@FechaRes",res.Fecha); cmd.Parameters.AddWithValue("@Cliente", res.Cli.IdCliente); cmd.Parameters.AddWithValue("@Estado", res.Estado); cmd.Parameters.AddWithValue("@Monto", res.Monto); res.Id = Convert.ToInt32(cmd.ExecuteScalar()); //int idCabania = Convert.ToInt32(cmd.ExecuteScalar()); //Recupero Id de a cabania insertada det.Res.Id = res.Id; string sql2 = "INSERT INTO DETALLE_RESERVA (res_id,cab_id,precio,subtotal,fecha_desde,fecha_hasta,cant_dias,facturada) values (@ResId, @CabId,@Precio,@Subtotal,@FechaDesde,@FechaHasta,@CantDias,@Facturada); SELECT @@Identity as ID;"; cmd.CommandText = sql2; cmd.Parameters.AddWithValue("@ResId", det.Res.Id); cmd.Parameters.AddWithValue("@CabId", det.Cab.IdCabania); cmd.Parameters.AddWithValue("@Precio", det.Precio); cmd.Parameters.AddWithValue("@Subtotal", det.Subtotal); cmd.Parameters.AddWithValue("@FechaDesde", det.FechaDesde); cmd.Parameters.AddWithValue("@FechaHasta", det.FechaHasta); cmd.Parameters.AddWithValue("@CantDias", det.CantDias); cmd.Parameters.AddWithValue("@Facturada", det.Facturada); det.Id = Convert.ToInt32(cmd.ExecuteScalar()); tran.Commit(); //cabania.IdCabania = idCabania; //Seteo Id de la cabania insertada } catch (SqlException ex) { if (cn.State == ConnectionState.Open) tran.Rollback(); //Vuelvo atras los cambios throw new ApplicationException("Error al guardar la cabaña." + ex.Message); } finally { if (cn.State == ConnectionState.Open) cn.Close(); } }
public static List<DetalleReserva> buscarPorCliente(Cliente cl) { List<DetalleReserva> det = new List<DetalleReserva>(); string conexionCadena = ConfigurationManager.ConnectionStrings["ConexionComplejo"].ConnectionString; SqlConnection con = new SqlConnection(); try { con.ConnectionString = conexionCadena; con.Open(); Reserva res = DAOReserva.obtenerPorCliente(cl); string sql = "SELECT d.id_det, c.id_cab, c.nombre, c.numero, t.nombre AS Tipo, c.ccam, c.chab, c.fecha_alta, c.cban, c.reservada, d.precio, d.subtotal, d.cant_Dias FROM detalle_reserva d JOIN cabanias c ON (d.cab_id = c.id_cab) JOIN tipo_cabanias t ON (c.tipo_id = t.id_tipoc) WHERE d.facturada = 0 AND d.res_id =@idRes"; SqlCommand cmd = new SqlCommand(); cmd.CommandText = sql; cmd.Connection = con; cmd.Parameters.AddWithValue("@idRes", res.Id); SqlDataReader dr = cmd.ExecuteReader(); while(dr.Read()) { if(dr != null) { DetalleReserva detalle = new DetalleReserva(); Cabanias cab = new Cabanias(); cab.IdCabania = int.Parse(dr["id_cab"].ToString()); cab.Nombre = dr["nombre"].ToString(); cab.Numero = int.Parse(dr["numero"].ToString()); cab.TipoCab = dr["Tipo"].ToString(); cab.CantCam = int.Parse(dr["ccam"].ToString()); cab.CantHab = int.Parse(dr["chab"].ToString()); cab.CantBan = int.Parse(dr["cban"].ToString()); cab.FechaAlta = DateTime.Parse(dr["fecha_alta"].ToString()); cab.Reservada = false; detalle.Id = int.Parse(dr["id_det"].ToString()); detalle.Res = res; detalle.Cab = cab; detalle.Precio = float.Parse(dr["precio"].ToString()); detalle.Subtotal = float.Parse(dr["subtotal"].ToString()); detalle.CantDias = int.Parse(dr["cant_Dias"].ToString()); det.Add(detalle); } else { det = null; } } } catch (SqlException ex) { throw new ApplicationException("Error al traer Reservas" + ex.Message); } finally { con.Close(); } return det; }
public void insertarReserva() { GridViewRow row = dgv_detalles.SelectedRow; DateTime fechaDesde = Convert.ToDateTime(fecha_desde.Text); DateTime fechaHasta = Convert.ToDateTime(fecha_hasta.Text); Entidades.Reserva res = new Entidades.Reserva(); DetalleReserva det = new DetalleReserva(); TipoCabania tipo = new TipoCabania(); Temporada temp = new Temporada(); List<Cliente> cli = new List<Cliente>(); cli = GestorClientes.obtenerPorDNI(37620864); tipo.IdTipoCabania = GestorCabanias.obtenerTipoCabania(row.Cells[3].Text); tipo.Nombre = row.Cells[3].Text; temp.IdTemporada = GestorCabanias.obtenerTemporada(row.Cells[7].Text); temp.Nombre = row.Cells[7].Text; res.Fecha = Convert.ToDateTime(DateTime.Today); res.Estado = 1; res.Cli = cli.ElementAt(0); Cabanias cab = GestorCabanias.obtenerCabConNumero(int.Parse(row.Cells[1].Text), temp.IdTemporada); det.Cab = cab; TimeSpan dias = fechaHasta.Subtract(fechaDesde); det.CantDias = int.Parse(dias.Days.ToString()); det.Facturada = 0; det.FechaDesde = fechaDesde; det.FechaHasta = fechaHasta; det.Precio = float.Parse(row.Cells[8].Text); det.Subtotal = (float)det.Precio * det.CantDias; res.Monto = 0; det.Res = res; GestorReserva.insertarReserva(res, det); }
public static void insertarReserva(Reserva res, DetalleReserva det) { DAOReserva.insertarReserva(res, det); }
public List<Reserva> Cargar_Lista_Reservas(int id_sector) { try { conexion.origen.Open(); var lr = new List<Reserva>(); conexion.cmd = new SqlCommand("Cargar_Lista_Reservas", conexion.origen); conexion.cmd.CommandType = CommandType.StoredProcedure; conexion.cmd.Parameters.Add(new SqlParameter("@id_sector", id_sector)); conexion.dr1 = conexion.cmd.ExecuteReader(); if (conexion.dr1.HasRows) { //Reserva r = new Reserva(); while (conexion.dr1.Read()) { var r = new Reserva(); /* if (lr.Count > 1) { if (lr[lr.Count - 2].Id_reserva == r.Id_reserva) { } else { } } else { */ r.Id_reserva = Convert.ToInt32(conexion.dr1["id_reserva"]); r.Descripcion = conexion.dr1["descripcion"].ToString(); var tr = new TipoReserva(); tr.Id_tipo_reserva = Convert.ToInt32(conexion.dr1["id_tipo_reserva"]); r.Tipo_reserva = tr; var dr = new DetalleReserva(); dr.Item = Convert.ToInt32(conexion.dr1["item"]); if (conexion.dr1["id_deporte"] != DBNull.Value) { conexion.cmd = new SqlCommand("Cargar_Deporte", conexion.origen); conexion.cmd.CommandType = CommandType.StoredProcedure; conexion.cmd.Parameters.Add(new SqlParameter("@id_deporte", Convert.ToInt32(conexion.dr1["id_deporte"]))); conexion.dr2 = conexion.cmd.ExecuteReader(); var d = new Deporte(); conexion.dr2.Read(); d.Id_deporte = Convert.ToInt32(conexion.dr2["id_deporte"]); d.Nombre = conexion.dr2["nombre"].ToString(); d.Descripcion = conexion.dr2["descripcion"].ToString(); dr.Deporte = d; } var p = new Persona(); if (conexion.dr1["documento"] != DBNull.Value) p.Documento = Convert.ToInt32(conexion.dr1["documento"]); if (conexion.dr1["apellido"] != DBNull.Value) p.Apellido = conexion.dr1["apellido"].ToString(); if (conexion.dr1["nombres"] != DBNull.Value) p.Nombres = conexion.dr1["nombres"].ToString(); dr.Persona = p; var s = new Sector(); var ts = new TipoSector(); var lp = new LugarPractica(); conexion.cmd = new SqlCommand("Cargar_Sector", conexion.origen); conexion.cmd.CommandType = CommandType.StoredProcedure; conexion.cmd.Parameters.Add(new SqlParameter("@id_sector", Convert.ToInt32(conexion.dr1["id_sector"]))); conexion.dr2 = conexion.cmd.ExecuteReader(); conexion.dr2.Read(); ts.Id_tipo_sector = Convert.ToInt32(conexion.dr2["id_tipo_sector"]); ts.Nombre = conexion.dr2["nombre_tipo"].ToString(); ts.Descripcion = conexion.dr2["descripcion_tipo"].ToString(); lp.Id_lugar = Convert.ToInt32(conexion.dr2["id_lugar"]); lp.Nombre = conexion.dr2["nombre_lugar"].ToString(); lp.Descripcion = conexion.dr2["descripcion_lugar"].ToString(); s.Id_sector = Convert.ToInt32(conexion.dr1["id_sector"]); s.Nombre = conexion.dr2["nombre_sector"].ToString(); s.Descipcion = conexion.dr2["descripcion_sector"].ToString(); s.Tipo_sector = ts; s.Lugar = lp; dr.Fecha_reserva = Convert.ToDateTime(conexion.dr1["fecha_reserva"]); var hd = new Horario(); var hh = new Horario(); conexion.cmd = new SqlCommand("Cargar_Horario", conexion.origen); conexion.cmd.CommandType = CommandType.StoredProcedure; conexion.cmd.Parameters.Add(new SqlParameter("@id_horario", Convert.ToInt32(conexion.dr1["id_hora_desde"]))); conexion.dr2 = conexion.cmd.ExecuteReader(); conexion.dr2.Read(); hd.Id_horario = Convert.ToInt32(conexion.dr1["id_hora_desde"]); hd.Hora = conexion.dr2["hora"].ToString(); hd.Minuto = conexion.dr2["minuto"].ToString(); conexion.cmd = new SqlCommand("Cargar_Horario", conexion.origen); conexion.cmd.CommandType = CommandType.StoredProcedure; conexion.cmd.Parameters.Add(new SqlParameter("@id_horario", Convert.ToInt32(conexion.dr1["id_hora_hasta"]))); conexion.dr2 = conexion.cmd.ExecuteReader(); conexion.dr2.Read(); hh.Id_horario = Convert.ToInt32(conexion.dr1["id_hora_hasta"]); hh.Hora = conexion.dr2["hora"].ToString(); hh.Minuto = conexion.dr2["minuto"].ToString(); dr.Hora_desde = hd; dr.Hora_hasta = hh; var e = new Estado(); e.Id_estado = Convert.ToInt32(conexion.dr1["id_estado"]); e.Nombre = conexion.dr1["nombre_estado"].ToString(); e.Descripcion = conexion.dr1["descripcion_estado"].ToString(); e.Ambito = conexion.dr1["ambito"].ToString(); dr.Estado = e; r.Detalle.Add(dr); lr.Add(r); } } return lr; } catch (Exception e) { if (conexion.origen.State == ConnectionState.Open) { conexion.origen.Close(); } return null; } }