コード例 #1
0
        public ActionResult ReservaEnLinea(DateTime fechaEntrada, DateTime fechaSalida, string tipoHabitacion)
        {
            if (tipoHabitacion.CompareTo("1") != 0 && tipoHabitacion.CompareTo("2") != 0)
            {
                ViewBag.mensaje = "Seleccione un Tipo de Habitacion";
                return(View("ReservaEnLinea"));
            }
            TipoHabitacion tipoHab = new TipoHabitacion();

            Models.Reservacion reservar = new Models.Reservacion();
            String[]           fe       = (fechaEntrada.ToString()).Split(' ');
            reservar.FechaEntrada1 = fe[0];
            String[] fs = (fechaSalida.ToString()).Split(' ');
            reservar.FechaSalida1 = fs[0];
            reservar.Tipo1        = tipoHabitacion;

            tipoHab = tipoHab.ObtenerHabitacionReserva(reservar);
            if (tipoHab.Descripcion1.CompareTo("") == 0 || tipoHab.Imagen1.CompareTo("") == 0 || tipoHab.PrecioColones1.CompareTo("") == 0)
            {
                ViewBag.infoReserva = "Lo sentimos!No tenemos en ese rango de fechas no tenemos habitaciones disponibles.";
                return(View("ReservaNegativa"));
            }
            else
            {
                float            precioColones = float.Parse(tipoHab.PrecioColones1);
                Models.Temporada temp          = new Models.Temporada();
                temp = temp.ObtenerTemporada(fe[0], fs[0]);
                double variacion = temp.VariacionPrecio;
                if (variacion != 0)
                {
                    double variacionColones = precioColones - (precioColones * variacion);
                    tipoHab.PrecioColones1 = variacionColones.ToString();

                    tipoHab.FechaEntrada1 = fechaEntrada.ToString();
                    tipoHab.FechaSalida1  = fechaSalida.ToString();
                    ViewBag.infoReserva   = tipoHab;
                    return(View("ReservaPositiva"));
                }
                else
                {
                    tipoHab.PrecioColones1 = precioColones.ToString();

                    tipoHab.FechaEntrada1 = fechaEntrada.ToString();
                    tipoHab.FechaSalida1  = fechaSalida.ToString();
                    ViewBag.infoReserva   = tipoHab;
                    return(View("ReservaPositiva"));
                }
            }
        }
コード例 #2
0
        public ActionResult ReservaPositiva(string idHabitacion, string precio, string nombre, string apellidos, string email, string tarjeta, string fechaEntrada, string fechaSalida)
        {
            Models.Reservacion reservacion = new Models.Reservacion();
            Models.Cliente     cliente     = new Models.Cliente();

            reservacion.IdCliente1    = cliente.registrarCliente(nombre, apellidos, email);
            reservacion.IdHabitacion1 = int.Parse(idHabitacion);

            string[] fes = (fechaEntrada.ToString()).Split(' ');
            string[] fss = (fechaSalida.ToString()).Split(' ');
            reservacion.FechaEntrada1 = fes[0];
            reservacion.FechaSalida1  = fss[0];

            DateTime fe = DateTime.Parse(fechaEntrada);
            DateTime fs = DateTime.Parse(fechaSalida);

            TimeSpan difFechas = fs - fe;
            int      dias      = difFechas.Days;

            reservacion.CantidadDias1   = dias + 1;
            reservacion.CantidadNoches1 = dias;
            reservacion.Precio1         = float.Parse(precio);
            if (tarjeta.CompareTo(" ") == 0)
            {
                reservacion.Estado1 = "Pendiente";
            }
            else
            {
                reservacion.Estado1 = "Pagado";
            }
            Models.Temporada temporada = new Models.Temporada();
            temporada = temporada.ObtenerTemporada(reservacion.FechaEntrada1, reservacion.FechaSalida1);
            reservacion.IdTemporada1       = temporada.Id;
            reservacion.NumeroReservacion1 = reservacion.generarNumeroReservacion(nombre);
            string[] numeros    = reservacion.reservarHabitacion(reservacion);
            string   numReserva = numeros[0];
            //enviar correo
            String correoEnviar = email;
            String correo       = ConfigurationManager.ConnectionStrings["Correo"].ConnectionString;
            String contrasenia  = ConfigurationManager.ConnectionStrings["Contrasenia"].ConnectionString;

            String      mensaje      = "<p>Hola " + nombre + "!</p><br><p>Su reservacion fue exitosa</p><br><p>Numero de reservacion: " + numReserva + "</p><br><p>Numero de habitacion: " + numeros[1] + "</p><br><p>Gracias por preferirnos. Te esperamos!</p>";
            MailMessage oMailMessage = new MailMessage();

            oMailMessage.To.Add(new MailAddress(correoEnviar));
            oMailMessage.From       = new MailAddress(correo);
            oMailMessage.IsBodyHtml = true;
            oMailMessage.Priority   = MailPriority.Normal;
            oMailMessage.Subject    = "Asunto: Reservacion en Hotel Colibri";
            oMailMessage.Body       = mensaje;

            SmtpClient oSmtpClient = new SmtpClient();

            oSmtpClient.Host                  = "smtp.gmail.com";
            oSmtpClient.Port                  = 587;
            oSmtpClient.EnableSsl             = true;
            oSmtpClient.UseDefaultCredentials = false;
            oSmtpClient.Credentials           = new System.Net.NetworkCredential(correo, contrasenia);

            oSmtpClient.Send(oMailMessage);
            oMailMessage.Dispose();


            //respuesta a la vista
            ViewBag.nombre        = nombre;
            ViewBag.numReserva    = numReserva;
            ViewBag.numHabitacion = numeros[1];
            ViewBag.email         = email;
            return(View("ReservaInformacion"));
        }