public void BuscarPlayaPorIdPrueba() { //Busca la playa con ID = 1, si retorna un objeto pasa el test. PlayaDeEstacionamiento result = gestor.BuscarPlayaPorId(1); Assert.IsNotNull(result); }
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"); }
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"); } } } }
/// <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."); } }
/// <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(); }
// GET api/playas/5 public string Get(int id) { //busco en la BD PlayaDeEstacionamiento playas = new PlayaDeEstacionamiento(); playas = gestor.buscarPlayaPorId(id); return(playas.ToJSONRepresentation()); }
/// <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); }
/// <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."); }
/// <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; }
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); }
/// <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); }
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); }
/// <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); }
/// <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); }
/// <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); }
/// <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(); } } }
/// <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); }
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); }
/// <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); }
/// <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); }
public int Update(PlayaDeEstacionamiento t) { throw new NotImplementedException(); }
/// <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); }
/// <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 }