示例#1
0
        private void CargarDatos(Reserva reserva)
        {
            this.lblTipoEvento2.Text = reserva.Evento.Descripcion;
            this.lblCantidadAdultos2.Text = reserva.CantidadAdultos.ToString();
            this.lblCantidadNiños2.Text = reserva.CantidadNiños.ToString();
            this.lblEmpleadosNecesarios2.Text = reserva.Empleados.Count().ToString();
            this.lblExcedente2.Text = reserva.Excedentes == null ? "-" : GestorReserva.ObtenerInstancia().CalcularCostoExcedentes(reserva).ToString("C2");
            this.listServicios.DataSource = reserva.Servicios.ToArray();
            this.lblDUCliente2.Text = reserva.Cliente.DU.ToString();
            this.lblApellido2.Text = reserva.Cliente.Apellido;
            this.lblNombre2.Text = reserva.Cliente.Nombre;
            this.lblTel2.Text = reserva.Cliente.Telefono;
            this.lblDireccion2.Text = reserva.Cliente.Direccion == null ? " - " : reserva.Cliente.Direccion.ToString();
            this.lblMontoPagado2.Text = reserva.MontoPagado.ToString("C2");
            this.lblMontoTotal2.Text = reserva.MontoTotal.ToString("C2");

            switch (reserva.Estado)
            {
                case "R":
                    this.lblEstado.Text = "RESERVADO";
                    break;
                case "P":
                    this.lblEstado.Text = "PAGADO";
                    break;
                case "T":
                    this.lblEstado.Text = "TERMINADO";
                    break;
                default:
                    break;
            }
        }
示例#2
0
        public bool ActualizarReserva(Reserva reserva)
        {
            try
            {

                reserva.DVH = GestorHash.ObtenerInstancia().GenerarHashDatos(reservaDAO.GenerarListaDatos(reserva));

                return reservaDAO.ActualizarReserva(reserva);

            }
            catch (Exception)
            {
                throw;
            }
        }
示例#3
0
        public bool AgregarEmpleadosReserva(Reserva reserva)
        {
            try
            {

                int filasAfectadas = 0;

                using (SqlConnection conexion = Conexion.ObtenerInstancia().CrearConexionSQL())
                {
                    using (SqlCommand comando = conexion.CreateCommand())
                    {
                        comando.CommandType = CommandType.StoredProcedure;
                        comando.Connection.Open();

                        if (reserva.Empleados != null)
                        {
                            comando.CommandText = "SPU_Reserva_Empleado";

                            foreach (Empleado emp in reserva.Empleados)
                            {
                                comando.Parameters.Clear();
                                comando.Parameters.Add(new SqlParameter("@IdReserva", reserva.ID));
                                comando.Parameters.Add(new SqlParameter("@IdEmpleado", emp.DU));

                                filasAfectadas += comando.ExecuteNonQuery();
                            }
                        }

                    }
                }

                if (filasAfectadas > 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }

            }
            catch (AccesoBDException ex)
            {
                throw new DALException("ReservaDAO", "ActualizarReserva", "AccesoBD", ex.Message, ex);
            }
            catch (SqlException ex)
            {
                throw new DALException("ReservaDAO", "ActualizarReserva", "SQL", ex.Message, ex);
            }
            catch (Exception ex)
            {
                throw new DALException("ReservaDAO", "ActualizarReserva", "General: " + ex.GetType().ToString(), ex.Message, ex);
            }
        }
示例#4
0
        public bool ActualizarReserva(Reserva reserva)
        {
            try
            {

                int filasAfectadas = 0;

                using (SqlConnection conexion = Conexion.ObtenerInstancia().CrearConexionSQL())
                {
                    using (SqlCommand comando = conexion.CreateCommand())
                    {
                        comando.CommandType = CommandType.StoredProcedure;
                        comando.CommandText = "SPU_Reserva";
                        comando.Parameters.Add(new SqlParameter("@IdReserva", reserva.ID));
                        if (reserva.Evento != null) { comando.Parameters.Add(new SqlParameter("@Evento", reserva.Evento.ID)); }
                        if (reserva.Cliente != null) { comando.Parameters.Add(new SqlParameter("@Cliente", reserva.Cliente.DU)); }
                        comando.Parameters.Add(new SqlParameter("@CantidadNiños", reserva.CantidadNiños));
                        comando.Parameters.Add(new SqlParameter("@CantidadAdultos", reserva.CantidadAdultos));
                        comando.Parameters.Add(new SqlParameter("@MontoPagado", reserva.MontoPagado));
                        comando.Parameters.Add(new SqlParameter("@MontoTotal", reserva.MontoTotal));
                        comando.Parameters.Add(new SqlParameter("@FechaHoraInicio", reserva.FechaHoraInicio));
                        comando.Parameters.Add(new SqlParameter("@FechaHoraFin", reserva.FechaHoraFin));
                        comando.Parameters.Add(new SqlParameter("@CantidadBebidas", reserva.CantidadBebidas));
                        comando.Parameters.Add(new SqlParameter("@Estado", reserva.Estado));
                        comando.Parameters.Add(new SqlParameter("@Usuario", reserva.Usuario));
                        comando.Parameters.Add(new SqlParameter("@FechaHora", reserva.FechaHora));
                        comando.Parameters.Add(new SqlParameter("@DVH", reserva.DVH));

                        comando.Connection.Open();

                        filasAfectadas = comando.ExecuteNonQuery();

                        if (reserva.Servicios != null)
                        {
                            comando.CommandText = "SPU_Reserva_Servicio";

                            foreach (Servicio ser in reserva.Servicios)
                            {
                                comando.Parameters.Clear();
                                comando.Parameters.Add(new SqlParameter("@IdReserva", reserva.ID));
                                comando.Parameters.Add(new SqlParameter("@IdServicio", ser.ID));

                                comando.ExecuteNonQuery();
                            }
                        }

                        if (reserva.Empleados != null)
                        {
                            comando.CommandText = "SPU_Reserva_Empleado";

                            foreach (Empleado emp in reserva.Empleados)
                            {
                                comando.Parameters.Clear();
                                comando.Parameters.Add(new SqlParameter("@IdReserva", reserva.ID));
                                comando.Parameters.Add(new SqlParameter("@IdEmpleado", emp.DU));

                                comando.ExecuteNonQuery();
                            }
                        }

                        if (reserva.Excedentes != null)
                        {
                            comando.CommandText = "SPI_Excedente";

                            foreach (Excedente exc in reserva.Excedentes)
                            {
                                if (exc.ID == 0)
                                {
                                    comando.Parameters.Clear();
                                    comando.Parameters.Add(new SqlParameter("@IdReserva", reserva.ID));
                                    comando.Parameters.Add(new SqlParameter("@Monto", exc.Monto));

                                    comando.ExecuteNonQuery();
                                }
                            }
                        }

                    }
                }

                if (filasAfectadas > 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }

            }
            catch (AccesoBDException ex)
            {
                throw new DALException("ReservaDAO", "ActualizarReserva", "AccesoBD", ex.Message, ex);
            }
            catch (SqlException ex)
            {
                throw new DALException("ReservaDAO", "ActualizarReserva", "SQL", ex.Message, ex);
            }
            catch (Exception ex)
            {
                throw new DALException("ReservaDAO", "ActualizarReserva", "General: " + ex.GetType().ToString(), ex.Message, ex);
            }
        }
示例#5
0
        public List<Reserva> TraerReservasEmpleado(long duEmpleado, DateTime fechaDesde, DateTime fechaHasta)
        {
            try
            {

                List<Reserva> listaReservas = null;
                Reserva reserva = null;

                using (SqlConnection conexion = Conexion.ObtenerInstancia().CrearConexionSQL())
                {

                    using (SqlCommand comando = conexion.CreateCommand())
                    {
                        comando.CommandType = CommandType.StoredProcedure;
                        comando.CommandText = "SPS_Reserva_por_Empleado_y_Fechas";
                        comando.Parameters.Add(new SqlParameter("@Empleado", duEmpleado));
                        comando.Parameters.Add(new SqlParameter("@FechaDesde", fechaDesde));
                        comando.Parameters.Add(new SqlParameter("@FechaHasta", fechaHasta));

                        comando.Connection.Open();

                        SqlDataReader dataReader = comando.ExecuteReader(CommandBehavior.CloseConnection);

                        if (dataReader.HasRows)
                        {
                            listaReservas = new List<Reserva>();

                            while (dataReader.Read())
                            {
                                reserva = new Reserva();

                                reserva.ID = Convert.ToInt64(dataReader["ID"]);
                                reserva.Evento = dataReader["EVENTO"] == DBNull.Value ? null : ConsultarEvento(Convert.ToInt32(dataReader["EVENTO"]));
                                reserva.Cliente = dataReader["CLIENTE"] == DBNull.Value ? null : ConsultarCliente(Convert.ToInt64(dataReader["CLIENTE"]));
                                reserva.Empleados = ConsultarEmpleados(reserva.ID);
                                reserva.Servicios = ConsultarServicios(reserva.ID);
                                reserva.Excedentes = ConsultaExcedentes(reserva.ID);
                                reserva.CantidadNiños = Convert.ToInt32(dataReader["CANTIDAD_NIÑOS"]);
                                reserva.CantidadAdultos = Convert.ToInt32(dataReader["CANTIDAD_ADULTOS"]);
                                reserva.MontoPagado = Convert.ToDouble(dataReader["MONTO_PAGADO"]);
                                reserva.MontoTotal = Convert.ToDouble(dataReader["MONTO_TOTAL"]);
                                reserva.FechaHoraInicio = Convert.ToDateTime(dataReader["FECHA_HORA_INICIO"]);
                                reserva.FechaHoraFin = Convert.ToDateTime(dataReader["FECHA_HORA_FIN"]);
                                reserva.CantidadBebidas = Convert.ToInt32(dataReader["CANTIDAD_BEBIDAS"]);
                                reserva.Estado = dataReader["ESTADO"].ToString();
                                reserva.Usuario = dataReader["USUARIO"].ToString();
                                reserva.FechaHora = Convert.ToDateTime(dataReader["FECHA_HORA"]);
                                reserva.DVH = dataReader["DVH"].ToString();

                                listaReservas.Add(reserva);
                            }
                        }

                    }

                }

                return listaReservas;

            }
            catch (AccesoBDException ex)
            {
                throw new DALException("ReservaDAO", "TraerReservas", "AccesoBD", ex.Message, ex);
            }
            catch (SqlException ex)
            {
                throw new DALException("ReservaDAO", "TraerReservas", "SQL", ex.Message, ex);
            }
            catch (Exception ex)
            {
                throw new DALException("ReservaDAO", "TraerReservas", "General: " + ex.GetType().ToString(), ex.Message, ex);
            }
        }
示例#6
0
        public int CalcularCantidadBebidas(Reserva reserva)
        {
            int cantBebidas = 0;

            try
            {

                double litrosAdultos = reserva.CantidadAdultos * 1.5;
                double litrosNiños = reserva.CantidadNiños;

                cantBebidas = (int)Math.Ceiling((litrosAdultos + litrosNiños) / 2.25);

                reserva.CantidadBebidas = cantBebidas;

                return reserva.CantidadBebidas;

            }
            catch (Exception)
            {
                throw;
            }
        }
示例#7
0
        public Int64 InsertarNuevaReserva(Reserva reserva)
        {
            try
            {

                using (SqlConnection conexion = Conexion.ObtenerInstancia().CrearConexionSQL())
                {
                    using (SqlCommand comando = conexion.CreateCommand())
                    {
                        comando.CommandType = CommandType.StoredProcedure;
                        comando.CommandText = "SPI_Reserva";
                        comando.Parameters.Add(new SqlParameter("@DuCliente", reserva.Cliente.DU));
                        comando.Parameters.Add(new SqlParameter("@FechaHoraInicio", reserva.FechaHoraInicio));
                        comando.Parameters.Add(new SqlParameter("@FechaHoraFin", reserva.FechaHoraFin));
                        comando.Parameters.Add(new SqlParameter("@Estado", reserva.Estado));
                        comando.Parameters.Add(new SqlParameter("@Usuario", reserva.Usuario));
                        comando.Parameters.Add(new SqlParameter("@FechaHora", reserva.FechaHora));
                        comando.Parameters.Add(new SqlParameter("@DVH", reserva.DVH));

                        comando.Connection.Open();

                        reserva.ID = Convert.ToInt64(comando.ExecuteScalar());

                    }
                }

                return reserva.ID;

            }
            catch (AccesoBDException ex)
            {
                throw new DALException("ReservaDAO", "InsertarNuevaReserva", "AccesoBD", ex.Message, ex);
            }
            catch (SqlException ex)
            {
                throw new DALException("ReservaDAO", "InsertarNuevaReserva", "SQL", ex.Message, ex);
            }
            catch (Exception ex)
            {
                throw new DALException("ReservaDAO", "InsertarNuevaReserva", "General: " + ex.GetType().ToString(), ex.Message, ex);
            }
        }
示例#8
0
        public double CalcularCostoPersonasExtra(Reserva reserva)
        {
            double resultado = 0;

            try
            {

                int cantPersonasMinima = reserva.Evento.CantidadAdultos + reserva.Evento.CantidadNiños;
                int cantPersonas = reserva.CantidadAdultos + reserva.CantidadNiños;

                int decenasExtra = (cantPersonas - cantPersonasMinima) / 10;

                resultado = decenasExtra * reserva.Evento.PrecioDecenaExtra;

                return resultado;

            }
            catch (Exception)
            {
                throw;
            }
        }
示例#9
0
 private void CargarDatosReserva(Reserva res)
 {
     this.lblFecha2.Text = res.FechaHoraInicio.ToShortDateString();
     this.lblHoraInicio2.Text = res.FechaHoraInicio.TimeOfDay.ToString();
     this.lblHoraFin2.Text = res.FechaHoraFin.TimeOfDay.ToString();
     this.lblNombre.Text = res.Cliente.ToString();
     this.lblDuracion2.Text = res.FechaHoraFin.Subtract(res.FechaHoraInicio).TotalHours.ToString("N1") + " Hs.";
     this.listServiciosAgregados.DataSource = res.Servicios.ToArray();
     this.listEmpleadosAsignados.DataSource = res.Empleados.ToArray();
 }
示例#10
0
        public Int64 NuevaReserva(DateTime fechaDesde, DateTime fechaHasta, Cliente cliente)
        {
            Reserva nuevaReserva = null;

            try
            {

                if (ValidarHorarioReserva(fechaDesde, fechaHasta))
                {

                    Reserva reserva = new Reserva();
                    reserva.Cliente = cliente;
                    reserva.FechaHoraInicio = fechaDesde;
                    reserva.FechaHoraFin = fechaHasta;
                    reserva.Estado = "I"; //Inicial
                    reserva.Usuario = GestorLogin.ObtenerInstancia().Usuario.Nombre;
                    reserva.FechaHora = DateTime.Now;
                    reserva.DVH = GestorHash.ObtenerInstancia().GenerarHashDatos(reservaDAO.GenerarListaDatos(reserva));

                    Int64 idReserva = reservaDAO.InsertarNuevaReserva(reserva);

                    if (idReserva > 0)
                    {
                        nuevaReserva = reservaDAO.TraerReserva(idReserva);
                        nuevaReserva.DVH = GestorHash.ObtenerInstancia().GenerarHashDatos(reservaDAO.GenerarListaDatos(nuevaReserva));

                        if (reservaDAO.ActualizarReserva(nuevaReserva))
                        {
                            return idReserva;
                        }
                        else
                        {
                            return 0;
                        }
                    }
                    else
                    {
                        return 0;
                    }

                }
                else
                {
                    return -1;
                }

            }
            catch (Exception)
            {
                throw;
            }
        }
示例#11
0
        private void CargarDatos(Reserva reserva)
        {
            this.lblTipoEvento2.Text = reserva.Evento.Descripcion;
            this.lblAdultos2.Text = reserva.CantidadAdultos.ToString();
            this.lblNiños2.Text = reserva.CantidadNiños.ToString();
            this.listServicios.DataSource = reserva.Servicios.ToArray();
            this.lblFecha2.Text = reserva.FechaHoraInicio.ToShortDateString();
            this.lblHoraInicio2.Text = reserva.FechaHoraInicio.TimeOfDay.ToString();
            this.lblHoraFin2.Text = reserva.FechaHoraFin.TimeOfDay.ToString();
            this.lblCantidadHoras2.Text = reserva.FechaHoraFin.Subtract(reserva.FechaHoraInicio).TotalHours.ToString();
            this.lblMontoPagado2.Text = reserva.MontoPagado.ToString("C2");
            this.lblMontoTotalAnt2.Text = reserva.MontoTotal.ToString("C2");

            if (reserva.Estado == "R")
            {
                this.lblEstado2.Text = "RESERVADO";
                this.gbDetalleEvento.Enabled = true;
            }
            else
            {
                this.lblEstado2.Text = reserva.Estado == "P" ? "PAGADO" : "TERMINADO";
                gbDetalleEvento.Enabled = false;
            }
        }
示例#12
0
        public List<Empleado> ConsultarEmpleadosDisponibles(Reserva reserva)
        {
            try
            {
                return reservaDAO.ConsultarEmpleadosDisponibles(reserva.FechaHoraInicio, reserva.FechaHoraFin);

            }
            catch (Exception)
            {
                throw;
            }
        }
示例#13
0
 public bool EliminarEmpleadosReserva(Reserva reserva)
 {
     try
     {
         return reservaDAO.EliminarEmpleadosReserva(reserva);
     }
     catch (Exception)
     {
         throw;
     }
 }
示例#14
0
        public double CalcularCostoTotalReserva(Reserva reserva)
        {
            try
            {

                reserva.MontoTotal = CalcularCostoPersonasExtra(reserva) + CalcularCostoServicios(reserva) +
                                     CalcularCostoTiempoExtra(reserva) + reserva.Evento.Precio + CalcularCostoExcedentes(reserva);

                return reserva.MontoTotal;

            }
            catch (Exception)
            {
                throw;
            }
        }
示例#15
0
        public double CalcularCostoTiempoExtra(Reserva reserva)
        {
            double resultado = 0;
            int cantBloquesExtra = 0;

            try
            {

                TimeSpan duracion = reserva.FechaHoraFin.Subtract(reserva.FechaHoraInicio);

                if (duracion.TotalHours >= 2.5)
                {
                    cantBloquesExtra = Convert.ToInt32((duracion.TotalHours - 2.5) / 0.5);
                }

                resultado = cantBloquesExtra * reserva.Evento.PrecioBloqueExtra;

                return resultado;
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#16
0
        public double CalcularCostoServicios(Reserva reserva)
        {
            double resultado = 0;

            try
            {

                foreach (Servicio servicio in reserva.Servicios)
                {
                    resultado += servicio.Precio;
                }

                return resultado;
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#17
0
        private void CargarDatos(Reserva reserva)
        {
            this.lblMontoPagado2.Text = reserva.MontoPagado.ToString("C2");
            this.lblMontoTotalAnt2.Text = reserva.MontoTotal.ToString("C2");

            if (reserva.Estado == "R" || reserva.Estado == "P")
            {
                gbCotizacion.Enabled = true;
            }
            else
            {
                gbCotizacion.Enabled = false;
            }
        }
示例#18
0
        private void LimpiarControles()
        {
            reserva = null;

            this.txtClienteDU.Clear();
            this.txtPago.Clear();

            this.gridReserva.DataSource = null;

            this.listServicios.DataSource = null;

            this.gbDetalleEvento.Enabled = false;

            this.lblTipoEvento2.Text = "-";
            this.lblAdultos2.Text = "0";
            this.lblNiños2.Text = "0";
            this.listServicios.DataSource = null;
            this.lblFecha2.Text = "-";
            this.lblHoraInicio2.Text = "-";
            this.lblHoraFin2.Text = "-";
            this.lblCantidadHoras2.Text = "-";
            this.lblMontoPagado2.Text = 0.ToString("C2");
            this.lblMontoTotalAnt2.Text = 0.ToString("C2");
            this.lblMontoTotalNvo2.Text = 0.ToString("C2");

            this.chkCancelar.Checked = false;
        }
示例#19
0
        private void LimpiarControles()
        {
            reserva = null;

            this.txtClienteDU.Clear();
            this.txtExcedente.Clear();

            this.lblMontoPagado2.Text = 0.ToString("C2");
            this.lblMontoTotalAnt2.Text = 0.ToString("C2");
            this.lblMontoTotalNvo2.Text = 0.ToString("C2");
        }
示例#20
0
        public double CalcularCostoExcedentes(Reserva reserva)
        {
            double resultado = 0;

            try
            {

                foreach (Excedente excedente in reserva.Excedentes)
                {
                    resultado += excedente.Monto;
                }

                return resultado;
            }
            catch (Exception)
            {
                throw;
            }
        }
示例#21
0
        private void gridReserva_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (this.gridReserva.Rows.Count > 0)
                {
                    reserva = (Reserva)this.gridReserva.CurrentRow.DataBoundItem;

                    if (reserva != null)
                    {
                        CargarDatos(reserva);
                    }
                }
            }
            catch (Exception ex)
            {
                ErrorManager.ObtenerInstancia().LoguearErrorBD(ex);
                MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#22
0
        public bool ValidarHorarioReserva(Reserva reserva, DateTime fechaDesde, DateTime fechaHasta)
        {
            bool resultado = true;

            try
            {

                List<Reserva> reservas = reservaDAO.TraerReservas(fechaDesde.Date);

                reservas.RemoveAll(x => x.ID == reserva.ID);

                if (reservas != null)
                {
                    foreach (Reserva res in reservas)
                    {

                        if (fechaHasta < res.FechaHoraInicio || fechaDesde > res.FechaHoraFin)
                        {
                            resultado = true && resultado;
                        }
                        else
                        {
                            resultado = false && resultado;
                        }

                    }
                }

                return resultado;

            }
            catch (Exception)
            {
                throw;
            }
        }
示例#23
0
        private void btnBuscarReserva_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(this.txtIdReserva.Text))
                {
                    MessageBox.Show("Debe ingresar un ID de reserva.", "Cotización", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    this.txtIdReserva.Focus();
                    return;
                }

                long idReserva = 0;

                if (Int64.TryParse(this.txtIdReserva.Text, out idReserva))
                {
                    reserva = GestorReserva.ObtenerInstancia().ConsultarReserva(idReserva);

                    if (reserva != null)
                    {
                        CargarDatosReserva(reserva);
                        CargarControles();
                    }
                    else
                    {

                        DialogResult dialogo = MessageBox.Show("Reserva inexistente. ¿Desea generar una nueva reserva?", "Cotización", MessageBoxButtons.YesNo);

                        if (dialogo == System.Windows.Forms.DialogResult.Yes)
                        {
                            FormHelper.ObtenerInstancia().MostrarFormulario(this.MdiParent, new FReserva());
                        }

                    }

                }
                else
                {
                    MessageBox.Show("Debe ingresar un valor númerico.", "Cotización", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    this.txtIdReserva.Focus();
                    return;
                }
            }
            catch (Exception ex)
            {
                string mensajeError = ErrorManager.ObtenerInstancia().LoguearGenerarMensajeError(ex, MensajeError.ConsultaReservasFallida, FormHelper.ObtenerInstancia().TraerUltimoIdioma());
                MessageBox.Show(mensajeError, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
示例#24
0
        public List<String> GenerarListaDatos(Reserva reserva)
        {
            try
            {

                List<String> datos = new List<string>();

                datos.Add(reserva.ID.ToString(CultureInfo.InvariantCulture));
                if (reserva.Evento != null) { datos.Add(reserva.Evento.ID.ToString(CultureInfo.InvariantCulture)); }
                if (reserva.Cliente != null) { datos.Add(reserva.Cliente.DU.ToString(CultureInfo.InvariantCulture)); }
                datos.Add(reserva.CantidadNiños.ToString(CultureInfo.InvariantCulture));
                datos.Add(reserva.CantidadAdultos.ToString(CultureInfo.InvariantCulture));
                datos.Add(reserva.MontoPagado.ToString(CultureInfo.InvariantCulture));
                datos.Add(reserva.MontoTotal.ToString(CultureInfo.InvariantCulture));
                datos.Add(reserva.FechaHoraInicio.ToString(CultureInfo.InvariantCulture));
                datos.Add(reserva.FechaHoraFin.ToString(CultureInfo.InvariantCulture));
                datos.Add(reserva.CantidadBebidas.ToString(CultureInfo.InvariantCulture));
                datos.Add(reserva.Estado.ToString(CultureInfo.InvariantCulture));
                datos.Add(reserva.Usuario.ToString(CultureInfo.InvariantCulture));
                datos.Add(reserva.FechaHora.ToString(CultureInfo.InvariantCulture));

                return datos;
            }
            catch (AccesoBDException ex)
            {
                throw new DALException("ReservaDAO", "GenerarListaDatos", "AccesoBD", ex.Message, ex);
            }
            catch (Exception ex)
            {
                throw new DALException("ReservaDAO", "GenerarListaDatos", "General: " + ex.GetType().ToString(), ex.Message, ex);
            }
        }
示例#25
0
        private void LimpiarControles(bool todos)
        {
            if (todos)
            {
                reserva = null;

                this.txtIdReserva.Clear();

                HabilitarControles(false);

                this.lblFecha2.Text = "-";
                this.lblHoraInicio2.Text = "-";
                this.lblHoraFin2.Text = "-";
                this.lblNombre.Text = "-";
                this.lblDuracion2.Text = "-";

                this.lblCantidadAdultos2.Text = "0";
                this.lblCantidadNiños2.Text = "0";
            }

            this.lblAdultosExtra2.Text = "0";
            this.lblNiñosExtra2.Text = "0";

            this.listServiciosAgregados.DataSource = null;
            this.listEmpleadosAsignados.DataSource = null;

            this.txtPagoAdelantado.Clear();

            this.lblPrecioEvento2.Text = 0.ToString("C2");
            this.lblPrecioPersonasExtra2.Text = 0.ToString("C2");
            this.lblPrecioServiciosExtra2.Text = 0.ToString("C2");
            this.lblPrecioTiempoExtra2.Text = 0.ToString("C2");
            this.lblTotal2.Text = 0.ToString("C2");

            this.lblBebidas2.Text = "0";
        }
示例#26
0
        public void AsignarEmpleadosDisponibles(Reserva reserva)
        {
            try
            {

                double cantidadPersonas = reserva.CantidadAdultos + reserva.CantidadNiños;
                int cantCocineros = (int)Math.Ceiling(cantidadPersonas / 30);
                int cantMozos = (int)Math.Ceiling(cantidadPersonas / 15);

                List<Empleado> empleadosAsignados = new List<Empleado>(reserva.Empleados);
                List<Empleado> empleadosDisponibles = reservaDAO.ConsultarEmpleadosDisponibles(reserva.FechaHoraInicio, reserva.FechaHoraFin);

                foreach (Empleado empleado in empleadosDisponibles)
                {
                    if (!empleadosAsignados.Contains(empleado))
                    {
                        empleadosAsignados.Add(empleado);
                    }
                }

                reserva.Empleados.Clear();
                reserva.Empleados.AddRange(empleadosAsignados.Where(e => e.Cargo.ID == 1).Take(cantCocineros));
                reserva.Empleados.AddRange(empleadosAsignados.Where(e => e.Cargo.ID == 2).Take(cantMozos));

            }
            catch (Exception)
            {
                throw;
            }
        }