예제 #1
0
 private void ValidarDatosGralesRol(Rol rol, Resultado resultado)
 {
     if ((string.IsNullOrEmpty(rol.Nombre)) || (string.IsNullOrEmpty(rol.Descripcion)))
     {
         resultado.AgregarMensaje("Debe ingresar todos los datos del rol.");
     }
 }
예제 #2
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.");
     }
 }
예제 #3
0
        public Resultado ActualizarDisponibilidadGeneralPlaya(int playa, int tipoVehiculo, int disponibilidad, int evento, DateTime fechaHora, int dia)
        {
            Resultado resultado = new Resultado();


            Servicio servicio = servicioDAO.FindWhere(s => s.PlayaDeEstacionamientoId == playa && s.TipoVehiculoId == tipoVehiculo).First();

            servicio.DisponibilidadPlayas.Disponibilidad = disponibilidad;

            //creamos el nuevo registro para el historial
            HistorialDisponibilidadPlayas registroHistorial = new HistorialDisponibilidadPlayas();

            registroHistorial.PlayaDeEstacionamietoId = playa;
            registroHistorial.TipoVehiculoId          = tipoVehiculo;
            registroHistorial.EventoId       = evento;
            registroHistorial.FechaHora      = fechaHora;
            registroHistorial.Disponibilidad = disponibilidad;

            //lo insertamos en la BD
            historialDisponibilidadPlayas.Create(registroHistorial);

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

            return(resultado);
        }
예제 #4
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);
        }
예제 #5
0
        /// <summary>
        /// Valida los datos de usuario para registrarlo
        /// </summary>
        /// <param name="usuario">playa que se esta registrando</param>
        /// <returns>Resultado</returns>
        private Resultado ValidarRegistracion(Usuario usuario)
        {
            var resultado = new Resultado();

            if (ValidarUsuarioIngresado(usuario.NombreUsuario) != null)
            {
                resultado.AgregarMensaje("Ya existe un usuario con ese nombre.");
            }

            if (usuario.Nombre == "" && usuario.Mail == "" && usuario.NombreUsuario == "" && usuario.Contraseña == "" &&
                usuario.Apellido == "")
            {
                resultado.AgregarMensaje("Debe ingresar todos los datos para la registracion.");
            }

            return(resultado);
        }
예제 #6
0
        private Resultado ValidarZona(Zona zona)
        {
            Resultado resultado = new Resultado();

            if (String.IsNullOrWhiteSpace(zona.Nombre))
            {
                resultado.AgregarMensaje("Debe especificar un nombre para la zona ingresada.");
            }
            return(resultado);
        }
예제 #7
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.");
        }
예제 #8
0
        private Resultado ValidarUpdate(Usuario usuario)
        {
            var resultado = new Resultado();

            if (usuario.Nombre == "" && usuario.Mail == "" && usuario.NombreUsuario == "" && usuario.Contraseña == "" &&
                usuario.Apellido == "")
            {
                resultado.AgregarMensaje("Debe ingresar todos los datos para la registracion.");
            }

            return(resultado);
        }
예제 #9
0
        public Resultado verificarAutenticacion(int idPlaya, string token)
        {
            Resultado resultado = new Resultado();

            var conexion = repositorioDao.FindWhere(c => c.PlayaDeEstacionamientoId == idPlaya & c.Token == token).FirstOrDefault();

            if (conexion == null)
            {
                resultado.AgregarMensaje("no existe conexion");
            }

            return(resultado);
        }
예제 #10
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);
        }
예제 #11
0
        /// <summary>
        /// actualiza el precio de una playa de estacionamiento teniendo
        /// en cuenta el tiempo y el tipo de vahiculo
        /// </summary>
        /// <param name="idPlaya"></param>
        /// <param name="idTiempo"></param>
        /// <param name="idTipoVehiculo"></param>
        /// <param name="precio"></param>
        /// <returns></returns>
        public Resultado ActualizarPrecioPlaya(int idPlaya, int idTiempo, int idTipoVehiculo, double precio)
        {
            Resultado resultado = new Resultado();

            try
            {
                Precio precioRecuperado = precioDao.FindWhere(p => p.TiempoId == idTiempo && p.Servicio.TipoVehiculoId == idTipoVehiculo && p.Servicio.PlayaDeEstacionamientoId == idPlaya).First();
                precioRecuperado.Monto = Decimal.Parse(precio.ToString());
                precioDao.Update(precioRecuperado);
            }
            catch (Exception e)
            {
                resultado.AgregarMensaje("Se ha producido un error de base de datos.");
            }

            return(resultado);
        }
예제 #12
0
        public Resultado EliminarZona(int zonaId)
        {
            var resultado = new Resultado();

            if (resultado.Ok)
            {
                try
                {
                    zonasDao.Delete(z => z.Id == zonaId);
                }
                catch (DataBaseException e)
                {
                    resultado.AgregarMensaje("Se ha producido un error de base de datos");
                }
            }
            return(resultado);
        }
예제 #13
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);
        }
예제 #14
0
        /// <summary>
        /// Actualiza la capacidad de un servicio
        /// </summary>
        /// <param name="idPlaya">id de la playa a modificar</param>
        /// <param name="idTipoVechiculo">id del tipo de vehiculo del servicio</param>
        /// <param name="capacidad">nueva capacidad</param>
        /// <returns>Objeto resultado configurado de acuerdo a como se realizo la operacion</returns>
        public Resultado ActualizarCapacidadServicio(int idPlaya, int idTipoVechiculo, int capacidad)
        {
            Resultado resultado = new Resultado();

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

                servicioRecuperado.Capacidad.Cantidad = capacidad;

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

            return(resultado);
        }
예제 #15
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);
        }
예제 #16
0
        public Resultado RegistrarPrecioPlaya(int idPlaya, int idTiempo, int idTipoVehiculo, double precio)
        {
            Resultado resultado = new Resultado();

            try
            {
                Servicio servicioParaPrecio = servicioDao.FindWhere(s => s.PlayaDeEstacionamientoId == idPlaya && s.TipoVehiculoId == idTipoVehiculo).First();

                Precio precioNuevo = new Precio();
                precioNuevo.TiempoId = idTiempo;
                precioNuevo.Monto    = Decimal.Parse(precio.ToString());

                servicioParaPrecio.Precios.Add(precioNuevo);

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

            return(resultado);
        }
예제 #17
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);
        }
예제 #18
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);
        }