Esempio n. 1
0
        public void BuscarPlayaPorIdPrueba()
        {
            //Busca la playa con ID = 1, si retorna un objeto pasa el test.
            PlayaDeEstacionamiento result = gestor.BuscarPlayaPorId(1);

            Assert.IsNotNull(result);
        }
Esempio n. 2
0
        public static string GuardarPlaya(string playaJSON)
        {
            Resultado resultado = new Resultado();
            var       playa     = new PlayaDeEstacionamiento().ToObjectRepresentation(playaJSON);

            if (playa.Id == 0)
            {
                resultado = gestor.RegistrarPlaya(playa);
            }
            else
            {
                resultado = gestor.ActualizarPlaya(playa);
            }

            if (resultado.Ok)
            {
                return("true");
            }
            HttpResponse Response = HttpContext.Current.Response;

            Response.Clear();
            Response.StatusCode = 200;
            Response.Write(resultado.MensajesString());

            return("false");
        }
Esempio n. 3
0
 protected void btnCrearConexion_Click(object sender, EventArgs e)
 {
     if (txtNombrePlaya.Text != "" && txtCiudad.Text != "" && txtDireccion.Text != "")
     {
         Usuario  usuario       = gestorUsuario.BuscarUsuarioByNombreOEmail(txtUsuario.Text);
         Conexion NuevaConexion = new Conexion();
         NuevaConexion.EstadoConfirmacion       = false;
         NuevaConexion.PlayaDeEstacionamientoId = gestorPlaya.BuscarPlayaPorNombreYDireccion(txtNombrePlaya.Text, txtCiudad.Text, txtDireccion.Text, Int32.Parse(txtNumero.Text));
         NuevaConexion.UsuarioResponsable       = usuario.Mail;
         NuevaConexion.Token = encriptacion.Encriptar(NuevaConexion.Id.ToString() + usuario.Id.ToString() + usuario.Nombre);
         if (usuario != null && NuevaConexion != null)
         {
             var resultado = gestorConexion.RegistrarNuevaConexion(NuevaConexion);
             if (resultado == true)
             {
                 PlayaDeEstacionamiento playa     = gestorPlaya.BuscarPlayaPorId(NuevaConexion.PlayaDeEstacionamientoId);
                 SolicitudConexion      solicitud = gestorSolicitud.BuscarSolicitudByUsuario(usuario.Mail);
                 solicitud.EstadoId = 7;
                 gestorSolicitud.UpdateSolicitud(solicitud);
                 gvSolicitudes.DataSource = GetSolicitudes();
                 gvSolicitudes.DataBind();
                 gvConexiones.DataSource = GetConexiones();
                 gvConexiones.DataBind();
                 string url = HttpContext.Current.Request.Url.ToString();
                 Uri    uri = new Uri(url);
                 gestorMandarEmail.EnviarEmail("Se ha creado la conexion con la playa " + playa.Nombre + " de Direccion: " + playa.Direcciones.FirstOrDefault().Calle + " " + playa.Direcciones.FirstOrDefault().Numero + " " + playa.Direcciones.FirstOrDefault().Ciudad + ". Verifique la información cargada y confirme la conexion con su playa. \n\nPresione el siguiente link para ingresar y ver sus conexiones " + uri.GetLeftPart(UriPartial.Authority) + "/Index.aspx .\n\nDatos de Acceso a la API GEOPARKING: \nIdentificador de Playa: " + playa.Id + " \nNumero de Acceso: " + NuevaConexion.Token + "", usuario.Mail, "Creacion de Conexion en Geoparking");
             }
         }
     }
 }
Esempio n. 4
0
 /// <summary>
 /// Valida que se hayan ingresado todos los datos generales de manera correcta.
 /// </summary>
 /// <param name="playa">Playa cuyos datos se quieren validar</param>
 /// <param name="resultado">Resultado</param>
 private void ValidarDatosGrales(PlayaDeEstacionamiento playa, Resultado resultado)
 {
     if (string.IsNullOrEmpty(playa.Nombre) || ((string.IsNullOrEmpty(playa.Mail) || string.IsNullOrEmpty(playa.Telefono)) || ((string.IsNullOrEmpty(playa.Mail) && string.IsNullOrEmpty(playa.Telefono)))) || playa.TipoPlayaId == 0)
     {
         resultado.AgregarMensaje("Debe ingresar todos los datos de la playa.");
     }
 }
Esempio n. 5
0
 /// <summary>
 /// Carga las direcciones, precios, horarios y servicios de una playa.
 /// </summary>
 /// <param name="playa">playa a la que se le van a cargar los datos.</param>
 private void CargarPlaya(PlayaDeEstacionamiento playa)
 {
     //playa.Direcciones = BuscarDireccionesPorPlaya(playa.Id);
     ////playa.Precios = BuscarPreciosPorPlaya(playa.Id);
     //playa.Horario = BuscarHorariosPorPlaya(playa.Id);
     //playa.Servicios = BuscarServiciosPorPlaya(playa.Id);
     //playa.TipoPlaya = BuscarTipoPlayas().Where(t => t.Id == playa.TipoPlayaId).First();
 }
Esempio n. 6
0
        // GET api/playas/5
        public string Get(int id)
        {
            //busco en la BD
            PlayaDeEstacionamiento playas = new PlayaDeEstacionamiento();

            playas = gestor.buscarPlayaPorId(id);

            return(playas.ToJSONRepresentation());
        }
Esempio n. 7
0
        /// <summary>
        /// Valida los datos de la playa que se esta actualizando
        /// </summary>
        /// <param name="playa">playa a validar</param>
        /// <returns>Resultado</returns>
        private Resultado ValidarActualizacion(PlayaDeEstacionamiento playa)
        {
            var resultado = new Resultado();

            ValidarDatosGrales(playa, resultado);
            ValidarDiasDeAtencion(playa, resultado);
            //ValidarTiposDeVehiculos(playa, resultado);
            ValidarDirecciones(playa, resultado);

            return(resultado);
        }
Esempio n. 8
0
        /// <summary>
        /// Valida que se hayan ingresado los precios para todos los tipos de vehiculos aceptados y viceversa
        /// </summary>
        /// <param name="playa">playa cuyos datos se estan validando</param>
        /// <param name="resultado">Resultado</param>
        //private void ValidarTiposDeVehiculos(PlayaDeEstacionamiento playa, Resultado resultado)
        //{
        //    var servicios = playa.Servicios.Select(p => p.TipoVehiculoId).Distinct();
        //    var precios = playa.Precios.Select(h => h.TipoVehiculoId).Distinct();
        //    var contador = 0;

        //    if (servicios.Count() != precios.Count())
        //    {
        //        if (servicios.Count() > precios.Count()) { resultado.AgregarMensaje("Debe cargar precios para todos los tipos de vehiculos aceptados."); }
        //        else if (servicios.Count() < precios.Count()) { resultado.AgregarMensaje("Se cargaron precios para vehiculos no aceptados en la playa."); }
        //    }
        //    else
        //    {
        //        foreach (var servicio in servicios)
        //        {
        //            foreach (var precio in precios)
        //            {
        //                if (precio == servicio)
        //                {
        //                    contador++;
        //                    break;
        //                }
        //            }
        //        }
        //        if (contador != precios.Count())
        //        {
        //            resultado.AgregarMensaje("Debe cargar precios para todos los tipos de vehiculos aceptados.");
        //            resultado.AgregarMensaje("Se cargaron precios para vehiculos no aceptados en la playa.");
        //        }
        //    }
        //}

        /// <summary>
        /// Valida que se haya ingresado al menos una direccion con sus respectivo punto en el mapa
        /// </summary>
        /// <param name="playa">Playa cuyos datos se estan validando</param>
        /// <param name="resultado">Resultado</param>
        private void ValidarDirecciones(PlayaDeEstacionamiento playa, Resultado resultado)
        {
            foreach (var direccion in playa.Direcciones)
            {
                if (!String.IsNullOrEmpty(direccion.Longitud) && !String.IsNullOrEmpty(direccion.Latitud))
                {
                    return;
                }
            }
            resultado.AgregarMensaje("Debe indicar al menos una direccion en el mapa.");
        }
Esempio n. 9
0
 /// <summary>
 /// Carga los campos del formulario con los datos enviados por parametro
 /// </summary>
 /// <param name="playaEditar">Playa a editar, se usa para tomar los datos y cargar el formulario</param>
 public void CargarCamposFormulario(PlayaDeEstacionamiento playaEditar)
 {
     IdPlaya  = playaEditar.Id;
     Nombre   = playaEditar.Nombre;
     Telefono = playaEditar.Telefono;
     Mail     = playaEditar.Mail;
     //TipoPlayaSeleccionada = playaEditar.TipoPlayaId.Value;
     Servicios = playaEditar.Servicios;
     //Horarios = playaEditar.Horario;
     //Precios = playaEditar.Precios;
     Direcciones = playaEditar.Direcciones;
 }
Esempio n. 10
0
        public void GuardarConsulta(int idPlaya, int idTipoVehiculo, string latitud, string longitud)
        {
            EstadisticaConsultas consulta = new EstadisticaConsultas();

            consulta.Hora = DateTime.Now;
            PlayaDeEstacionamiento playa = playaDao.FindWhere(p => p.Id == idPlaya)[0];

            consulta.IdTipoVehiculo = idTipoVehiculo;

            consulta.IdPlaya     = idPlaya;
            consulta.IdTipoPlaya = (int)playa.TipoPlayaId;
            consulta.Posicion    = DbGeography.FromText(string.Format("POINT({0} {1})", longitud, latitud));

            estadisticaConsultasDao.Create(consulta);
        }
Esempio n. 11
0
        /// <summary>
        /// Actualiza el tipo de la playa
        /// </summary>
        /// <param name="idPlaya">id de la playa a modificar</param>
        /// <param name="idTipoPlaya">id del nuevo tipo de la playa</param>
        /// <returns>Objeto resultado configurado de acuerdo a como se realizo la operacion</returns>
        public Resultado ActualizarTipoPlaya(int idPlaya, int idTipoPlaya)
        {
            Resultado resultado = new Resultado();

            try
            {
                PlayaDeEstacionamiento playa = playaDao.FindById(idPlaya);
                playa.TipoPlayaId = idTipoPlaya;
                playaDao.Update(playa);
            }
            catch (Exception)
            {
                resultado.AgregarMensaje("Se ha producido un error en la Base de Datos");
            }

            return(resultado);
        }
Esempio n. 12
0
        public Resultado RegistrarServicioPlaya(int idPlaya, int idTipoVechiculo, int capacidad, List <Precio> precios)
        {
            Resultado resultado = new Resultado();

            try
            {
                Servicio servicio = new Servicio();
                servicio.TipoVehiculoId = idTipoVechiculo;

                //capacidad
                Capacidad cap = new Capacidad();
                cap.Cantidad       = capacidad;
                servicio.Capacidad = cap;

                //precios
                List <Precio> listaPrecios = precios;
                servicio.Precios = listaPrecios;

                servicio.DisponibilidadPlayas = new DisponibilidadPlayas();
                servicio.DisponibilidadPlayas.Disponibilidad = servicio.Capacidad.Cantidad;

                //buscamos la playa a la que agregamos el servicio
                PlayaDeEstacionamiento playa = playaDao.FindById(idPlaya);

                servicio.PlayaDeEstacionamiento = playa;

                if (playa.FechaBaja == null)
                {
                    //agregamos el servicio
                    playa.Servicios.Add(servicio);

                    //actualizamos la playa
                    playaDao.Update(playa);
                }
                else
                {
                    resultado.AgregarMensaje("La playa de estacionamiento esta dada de baja.");
                }
            }
            catch (Exception)
            {
                resultado.AgregarMensaje("Se ha producido un error de base de datos.");
            }

            return(resultado);
        }
Esempio n. 13
0
        /// <summary>
        /// Carga la entidad PlayaDeEstacionamiento con los valores del formulario
        /// </summary>
        /// <returns>Retorna una playa de estacionamiento</returns>
        public PlayaDeEstacionamiento CargarEntidad()
        {
            PlayaDeEstacionamiento playa = new PlayaDeEstacionamiento
            {
                Id          = IdPlaya,
                Nombre      = Nombre,
                Mail        = Mail,
                Telefono    = Telefono,
                TipoPlayaId = TipoPlayaSeleccionada,
                Servicios   = Servicios,
                Direcciones = Direcciones
                              //Precios = Precios,
                              //Horarios = Horarios
            };

            return(playa);
        }
Esempio n. 14
0
        /// <summary>
        /// Actualiza los datos de una playa
        /// </summary>
        /// <param name="playa">Playa que se esta actualizando</param>
        /// <returns>Resultado</returns>
        public Resultado ActualizarPlaya(PlayaDeEstacionamiento playa)
        {
            var resultado = ValidarActualizacion(playa);

            if (resultado.Ok)
            {
                try
                {
                    playaDao.Update(playa);
                }
                catch (DataBaseException e)
                {
                    resultado.AgregarMensaje("Se ha producido un error de base de datos.");
                }
            }
            return(resultado);
        }
Esempio n. 15
0
        /// <summary>
        /// Actualiza el Nombre y el Email de la playa
        /// </summary>
        /// <param name="idPlaya">id de la playa a modificar</param>
        /// <param name="nombrePlaya">nuevo nombre de la playa</param>
        /// <param name="emailPlaya">nuevo email de la playa</param>
        /// <returns>Objeto resultado configurado de acuerdo a como se realizo la operacion</returns>
        public Resultado ActualizarNombreEmailPlaya(int idPlaya, string nombrePlaya, string emailPlaya)
        {
            Resultado resultado = new Resultado();

            try
            {
                PlayaDeEstacionamiento playa = playaDao.FindById(idPlaya);
                playa.Nombre = nombrePlaya;
                playa.Mail   = emailPlaya;
                playaDao.Update(playa);
            }
            catch (Exception)
            {
                resultado.AgregarMensaje("Se ha producido un error en la Base de Datos");
            }

            return(resultado);
        }
Esempio n. 16
0
        /// <summary>
        /// Guarda o Actualiza un Playa de Estacionemiento
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnGuardar_Click(object sender, EventArgs e)
        {
            if (IdPlaya == 0)//creo una nueva playa
            {
                //Creo el objeto de la nueva PlayaDeEstacionamiento
                PlayaDeEstacionamiento playa = CargarEntidad();

                //registro la playa a travez del gestor
                var resultado = gestor.RegistrarPlaya(playa);

                if (resultado.Ok)
                {
                    //Mensaje de registracion correcta
                    ActualizarGrilla();
                    limpiarCampos();
                    Exito = "La playa fue registrada correctamente.";
                }
                else
                {
                    //Mensajes de error
                    Error = resultado.MensajesString();
                }
            }
            else //edito el objeto playa editar
            {
                var playa = CargarEntidad();

                //actualizo la playa a travez del gestor
                var resultado = gestor.ActualizarPlaya(playa);

                if (resultado.Ok)
                {
                    //Mensaje de actualizacion correcta
                    ActualizarGrilla();
                    limpiarCampos();//limpio el formulario
                    Exito = "La playa fue modificada correctamente.";
                }
                else
                {
                    //Mensajes de Error
                    Error = resultado.MensajesString();
                }
            }
        }
Esempio n. 17
0
        /// <summary>
        /// Cancela y da de baja el servicio de la playa de estacionamiento.
        /// </summary>
        /// <param name="idPlaya">id de la playa</param>
        /// <param name="idTipoVechiculo">id de tipo de vehiculo</param>
        /// <returns>'True' si la operacion se realizo correctamente</returns>
        public Resultado CancelarServicioPlaya(int idPlaya, int idTipoVechiculo)
        {
            Resultado resultado = new Resultado();

            try
            {
                Servicio servicioRecuperado = servicioDao.FindWhere(s => s.PlayaDeEstacionamientoId == idPlaya && s.TipoVehiculoId == idTipoVechiculo).First();
                servicioRecuperado.FechaBaja = DateTime.Now;

                PlayaDeEstacionamiento playa = playaDao.FindWhere(p => p.Id == idPlaya).First();
                playa.Servicios.Remove(servicioRecuperado);

                playaDao.Update(playa);
            }
            catch (Exception)
            {
                resultado.AgregarMensaje("Se ha producido un error de base de datos.");
            }

            return(resultado);
        }
Esempio n. 18
0
        private static DataTable GetMisConexiones(string usuario)
        {
            DataTable dt        = new DataTable();
            var       resultado = gestorConexion.BuscarMisConexiones(usuario);

            dt.Columns.Add("Id");
            dt.Columns.Add("Playa");
            dt.Columns.Add("UsuarioResponsable");
            dt.Columns.Add("Estado");
            foreach (var item in resultado)
            {
                PlayaDeEstacionamiento playa = gestorPlaya.BuscarPlayaPorId(item.PlayaDeEstacionamientoId);
                DataRow row = dt.NewRow();
                row["Id"]    = item.Id;
                row["Playa"] = playa.Nombre + " - Direccion: " + playa.Calle + " " + playa.Numero + " " + playa.Ciudad;
                row["UsuarioResponsable"] = item.UsuarioResponsable;
                row["Estado"]             = item.EstadoConfirmacion;
                dt.Rows.Add(row);
            }
            return(dt);
        }
Esempio n. 19
0
        /// <summary>
        /// Valida los datos de la playa, y de ser correctos la registra.
        /// </summary>
        /// <param name="playa">playa a registrar</param>
        /// <returns>Resultado</returns>
        public Resultado RegistrarPlaya(PlayaDeEstacionamiento playa)
        {
            var resultado = ValidarRegistracion(playa);

            if (resultado.Ok)
            {
                try
                {
                    foreach (var item in playa.Servicios)
                    {
                        item.DisponibilidadPlayas = new DisponibilidadPlayas();
                        item.DisponibilidadPlayas.Disponibilidad = item.Capacidad.Cantidad;
                    }

                    playaDao.Create(playa);
                }
                catch (DataBaseException e)
                {
                    resultado.AgregarMensaje("Se ha producido un error de base de datos");
                }
            }
            return(resultado);
        }
Esempio n. 20
0
        /// <summary>
        /// Actualiza el horario de la playa
        /// </summary>
        /// <param name="idPlaya">id de la playa a modificar</param>
        /// <param name="idDiaAtencion">id del nuevo dia de atencion</param>
        /// <param name="horaDesde">nueva hora de apertura</param>
        /// <param name="horaHasta">nueva hora de cierre</param>
        /// <returns>Objeto resultado configurado de acuerdo a como se realizo la operacion</returns>
        public Resultado ActualizarHorarioPlaya(int idPlaya, int idDiaAtencion, string horaDesde, string horaHasta)
        {
            Resultado resultado = new Resultado();

            try
            {
                PlayaDeEstacionamiento playa = playaDao.FindById(idPlaya);

                Horario horario = playa.Horario;
                horario.DiaAtencionId = idDiaAtencion;
                horario.HoraDesde     = horaDesde;
                horario.HoraHasta     = horaHasta;

                playa.Horario = horario;
                playaDao.Update(playa);
            }
            catch (Exception)
            {
                resultado.AgregarMensaje("Se ha producido un error en la Base de Datos");
            }

            return(resultado);
        }
Esempio n. 21
0
 public int Update(PlayaDeEstacionamiento t)
 {
     throw new NotImplementedException();
 }
Esempio n. 22
0
        /// <summary>
        /// Registro de un nuevo servicio
        /// </summary>
        /// <param name="idPlaya">id de la playa</param>
        /// <param name="idTipoVechiculo">id del tipo de vehiculo</param>
        /// <param name="capacidad">capacidad (lugares para el tipo de vehiculo)</param>
        /// <param name="x1">precio por hora</param>
        /// <param name="x6">precio por 6 horas</param>
        /// <param name="x12">precio por 12 horas</param>
        /// <param name="x24">precio por 24 horas</param>
        /// <param name="abono">precio por mes</param>
        /// <returns>Objeto resultado configurado de acuerdo a como se realizo la operacion</returns>
        public Resultado RegistrarServicioPlaya(int idPlaya, int idTipoVechiculo, int capacidad, double x1, double x6, double x12, double x24, double abono)
        {
            Resultado resultado = new Resultado();

            try
            {
                Servicio servicio = new Servicio();
                servicio.TipoVehiculoId = idTipoVechiculo;

                //capacidad
                Capacidad cap = new Capacidad();
                cap.Cantidad       = capacidad;
                servicio.Capacidad = cap;

                //precios
                List <Precio> precios = new List <Precio>();

                //por hora
                if (x1 != 0)
                {
                    Precio p1 = new Precio();
                    p1.TiempoId = 1;
                    p1.Monto    = Decimal.Parse(x1.ToString());

                    precios.Add(p1);
                }

                //por 6 horas
                if (x6 != 0)
                {
                    Precio p2 = new Precio();
                    p2.TiempoId = 2;
                    p2.Monto    = Decimal.Parse(x6.ToString());

                    precios.Add(p2);
                }

                //por 12 horas
                if (x12 != 0)
                {
                    Precio p3 = new Precio();
                    p3.TiempoId = 3;
                    p3.Monto    = Decimal.Parse(x12.ToString());

                    precios.Add(p3);
                }

                //por 24 horas
                if (x24 != 0)
                {
                    Precio p4 = new Precio();
                    p4.TiempoId = 1;
                    p4.Monto    = Decimal.Parse(x24.ToString());

                    precios.Add(p4);
                }

                //abono mensual
                if (abono != 0)
                {
                    Precio p5 = new Precio();
                    p5.TiempoId = 1;
                    p5.Monto    = Decimal.Parse(abono.ToString());

                    precios.Add(p5);
                }

                servicio.Precios = precios;

                servicio.DisponibilidadPlayas = new DisponibilidadPlayas();
                servicio.DisponibilidadPlayas.Disponibilidad = servicio.Capacidad.Cantidad;

                //buscamos la playa a la que agregamos el servicio
                PlayaDeEstacionamiento playa = playaDao.FindById(idPlaya);

                //agregamos el servicio
                playa.Servicios.Add(servicio);

                //actualizamos la playa
                playaDao.Update(playa);
            }
            catch (Exception)
            {
                resultado.AgregarMensaje("Se ha producido un error de base de datos.");
            }

            return(resultado);
        }
Esempio n. 23
0
 /// <summary>
 /// Valida que se hayan ingresado los precios para los dias de atencion y viceversa
 /// </summary>
 /// <param name="playa">playa cuyos datos se estan validando</param>
 /// <param name="resultado">Resultado</param>
 private void ValidarDiasDeAtencion(PlayaDeEstacionamiento playa, Resultado resultado)
 {
     //IMPORTANTE: todo esto cambia por que no hay dias atencion por precio y hay un solo horario, reveer
 }