//METODO LISTAR RESERVAS public IEnumerable <ReservaModel> GetReservas() { try { using (var context = new BDReservasEntities()) { List <ReservaModel> listReservas = (from i in context.reservas select new ReservaModel { Fecha = i.fecha.Trim(), H_ini = i.h_ini.Trim(), H_fin = i.h_fin.Trim(), Id_Reserva = i.id_reserva, Id_Pista = i.id_pista, Id_Usuario = i.id_usuario, Id_Estado = i.id_estado, Precio = (decimal)i.precio, Horas = (decimal)i.horas, }).ToList <ReservaModel>(); return(listReservas); } } catch (Exception ex) { throw ex; } }
//METODO CAMBIO PASSWORD /* * //MÉTODO DE LISTADO DE TODOS LOS USUARIOS * public IEnumerable<User> GetUsers() * { * try * { * using (var context = new BDReservasEntities()) * { * List<User> listUsuarios = (from i in context.usuarios * select new User * { * Nombre = i.nombre.Trim(), * Apellido1 = i.apellido1.Trim(), * Apellido2 = i.apellido2.Trim(), * Id_Usuario = i.id_usuario, * Id_Perfil = (int)i.id_perfil, * Email = i.email.Trim(), * Dni = i.dni.Trim() * * * }).ToList<User>(); * return listUsuarios; * } * } * catch (Exception ex) * { * throw ex; * } * * } */ //MÉTODO DE LISTADO DE TODOS LOS USUARIOS public IEnumerable <User> GetUsers() { List <User> listUsuarios = new List <User>(); try { using (var context = new BDReservasEntities()) { listUsuarios = (from V_USUARIOS_PERFILES in context.V_USUARIOS_PERFILES select new User { Nombre = V_USUARIOS_PERFILES.nombre.Trim(), Apellido1 = V_USUARIOS_PERFILES.apellido1.Trim(), Apellido2 = V_USUARIOS_PERFILES.apellido2.Trim(), Perfil = V_USUARIOS_PERFILES.perfil.Trim(), Id_Usuario = V_USUARIOS_PERFILES.id_usuario, Id_Perfil = (int)V_USUARIOS_PERFILES.id_perfil, Email = V_USUARIOS_PERFILES.email.Trim(), Dni = V_USUARIOS_PERFILES.dni.Trim(), Activo = (bool)V_USUARIOS_PERFILES.activo }).ToList <User>(); return(listUsuarios); } } catch (Exception ex) { listUsuarios.Add(new User() { Mensaje = "No se pudo realizar la consulta. Error: " + ex }); return(listUsuarios); } }
//METODO LISTAR TARIFAS public IEnumerable <TarifaModel> GetTarifas() { try { using (var context = new BDReservasEntities()) { List <TarifaModel> listaTarifas = (from TARIFAS in context.tarifas select new TarifaModel { Tarifa = TARIFAS.tarifa.Trim(), Valor = TARIFAS.valor, Id_tarifa = TARIFAS.id_tarifa }).ToList <TarifaModel>(); if (listaTarifas.Count < 1) { listaTarifas.Add(new TarifaModel { Mensaje = "No existen tarifas" }); } return(listaTarifas); } } catch (Exception ex) { throw ex; } }
//METODO CREAR RESERVA public CreateReservaResponse CreateReserva(CreateReservaRequest nuevaReserva) { try { using (var context = new BDReservasEntities()) { ObjectParameter ID_RESERVA = new ObjectParameter("ID_RESERVA", typeof(int)); ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); //var cultureInfo = new CultureInfo("es-ES"); //CAMBIO DE STRING A FORMATO FECHA /* * var fecha = DateTime.Parse(nuevaReserva.Fecha, cultureInfo); * var h_ini = TimeSpan.ParseExact(nuevaReserva.H_ini, "HH:mm:ss", cultureInfo); * var h_fin = TimeSpan.ParseExact(nuevaReserva.H_fin, "HH:mm:ss", cultureInfo); * var createdAt = DateTime.ParseExact(nuevaReserva.Created_at, "MM/dd/yyyy HH:mm:ss", cultureInfo); * var updatedAt = DateTime.Parse(nuevaReserva.Updated_at, cultureInfo); */ context.PA_INSERT_RESERVA( nuevaReserva.Fecha, nuevaReserva.H_ini, nuevaReserva.H_fin, nuevaReserva.Id_Pista, nuevaReserva.Id_Usuario, nuevaReserva.Id_Estado, nuevaReserva.Precio, nuevaReserva.Horas, ID_RESERVA, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString()); } return(new CreateReservaResponse() { Id_Reserva = (int)ID_RESERVA.Value, Mensaje = MENSAJE.Value.ToString(), Retcode = (int)RETCODE.Value }); } } catch (Exception ex) { return(new CreateReservaResponse() { Mensaje = ex.Message.Trim(), Retcode = -1 }); } }
//METODO CREAR INSTALACION public CreateInstResponse CreateInst(CreateInstRequest nuevaInstalacion) { try { using (var context = new BDReservasEntities()) { ObjectParameter ID = new ObjectParameter("ID", typeof(int)); ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); byte[] imagen = null; if (nuevaInstalacion.Imagen != null) { imagen = new ImageConverter().base64ToByte(nuevaInstalacion.Imagen); } else { nuevaInstalacion.Imagen = null; } context.PA_INSERT_INSTALACION( nuevaInstalacion.Instalacion, nuevaInstalacion.Direccion, nuevaInstalacion.Operativa, nuevaInstalacion.Id_Horario, imagen, ID, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString()); } return(new CreateInstResponse() { Id_Instalacion = (int)ID.Value, Mensaje = MENSAJE.Value.ToString(), Retcode = (int)RETCODE.Value }); } } catch (Exception ex) { return(new CreateInstResponse() { Mensaje = ex.Message.Trim(), Retcode = -1 }); } }
//HISTORICO RESERVAS //dependiendo del valor de datos.Email se muestran todos las reservas(admin) o //solo las del usuario public IEnumerable <ReservaPistaModel> HistoricoReservas(HistoricoReservasRequest datos) { using (var context = new BDReservasEntities()) { List <ReservaPistaModel> listaReservas = null; try { //PETICION USUARIO if (datos.Email != "todos") { listaReservas = (from i in context.V_RESERVAS_PISTAS where i.email == datos.Email where i.estado == datos.Estado select new ReservaPistaModel { Id_Reserva = i.id_reserva, Instalacion = i.instalacion.Trim(), Pista = i.pista.Trim(), Fecha = i.fecha.Trim(), H_ini = i.h_ini.Trim(), H_fin = i.h_fin.Trim(), Estado = i.estado.Trim() }).ToList <ReservaPistaModel>(); return(listaReservas); } else//PETICION ADMIN { listaReservas = (from i in context.V_RESERVAS_PISTAS select new ReservaPistaModel { Fecha = i.fecha, H_ini = i.h_ini, H_fin = i.h_fin, Id_Reserva = i.id_reserva, Pista = i.pista, Instalacion = i.instalacion, Email = i.email.Trim(), Precio = (decimal)i.precio }).ToList <ReservaPistaModel>(); return(listaReservas); } } catch (Exception) { listaReservas.Add(new ReservaPistaModel() { Mensaje = "No se pudo realizar la consulta." }); return(listaReservas); } } }
//MÉTODO REGISTRO USUARIO public RegistroResponse Registro(RegistroRequest registro) { try { using (var context = new BDReservasEntities()) { //la imagen del usuario se añadirá desde su perfil, no al registrarse byte[] imagen = (registro.Imagen != "") ? new ImageConverter().base64ToByte(registro.Imagen) : null; //byte[] imagen = null; ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); context.PA_INSERT_USUARIO( registro.Nombre, registro.Apellido1, registro.Apellido2, registro.Dni, registro.Email, registro.Password, registro.Id_perfil, imagen, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString()); } var consulta = context.usuarios.Where(dni => dni.dni == registro.Dni).FirstOrDefault(); return(new RegistroResponse() { Nombre = consulta.nombre.Trim(), Apellido1 = consulta.apellido1.Trim(), Email = consulta.email.Trim(), Retcode = (int)RETCODE.Value, Mensaje = MENSAJE.Value.ToString().Trim() }); } } catch (Exception ex) { return(new RegistroResponse() { Mensaje = ex.Message.Trim(), Retcode = -1 }); } }
//MÉTODO DE LOGIN public LoginResponse Login(LoginRequest login) { try { using (var context = new BDReservasEntities()) { ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter ID = new ObjectParameter("ID", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); context.PA_LOGIN(login.Email, login.Password, ID, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString()); } var consulta = context.usuarios.Where(user => user.id_usuario == (int)ID.Value).FirstOrDefault(); var imagen = ""; if (consulta.imagen != null) { imagen = new ImageConverter().byteTobase64(consulta.imagen); } return(new LoginResponse() { Id_Usuario = consulta.id_usuario, Nombre = consulta.nombre.Trim(), Apellido1 = consulta.apellido1.Trim(), Apellido2 = consulta.apellido2.Trim(), Dni = consulta.dni.Trim(), Email = consulta.email.Trim(), Id_Perfil = consulta.id_perfil, Imagen = imagen, Mensaje = MENSAJE.Value.ToString().Trim() }); } } catch (Exception ex) { return(new LoginResponse() { Mensaje = ex.Message.Trim(), //mensaje de error Id_Perfil = -1 //no añadirá token }); } }
//MÉTODO DE ACTUALIZAR USUARIO public UpdateUserResponse UpdateUser(UpdateUserRequest upUser) { try { using (var context = new BDReservasEntities()) { ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); byte[] imagen = null; if (upUser.Imagen != null) { imagen = new ImageConverter().base64ToByte(upUser.Imagen); } else { upUser.Imagen = null; } context.PA_MODIFICAR_USUARIO(upUser.Id_Usuario, upUser.Nombre, upUser.Apellido1, upUser.Apellido2, upUser.Id_Perfil, imagen, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString()); } var consulta = context.usuarios.Where(user => user.id_usuario == upUser.Id_Usuario).FirstOrDefault(); return(new UpdateUserResponse() { Email = consulta.email.Trim(), Mensaje = MENSAJE.Value.ToString(), Retcode = (int)RETCODE.Value }); } } catch (Exception ex) { return(new UpdateUserResponse() { Mensaje = ex.Message, Retcode = -1 }); } }
//METODO ACTUALIZAR INSTALACION public UpdateInstResponse UpdateInst(UpdateInstRequest upInst) { try { using (var context = new BDReservasEntities()) { ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); byte[] imagen = null; if (upInst.Imagen != null) { imagen = new ImageConverter().base64ToByte(upInst.Imagen); } else { upInst.Imagen = null; } context.PA_MODIFICAR_INSTALACION(upInst.Id_instalacion, upInst.Instalacion, upInst.Direccion, upInst.Operativa, upInst.Id_horario, imagen, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString()); } var consulta = context.instalaciones.Where(instalacion => instalacion.id_instalacion == upInst.Id_instalacion).FirstOrDefault(); return(new UpdateInstResponse() { Nombre = consulta.nombre, Retcode = (int)RETCODE.Value, Mensaje = MENSAJE.Value.ToString() }); } } catch (Exception ex) { return(new UpdateInstResponse() { Mensaje = ex.Message }); } }
//METODO UPDATE RESERVA public UpdateReservaResponse UpdateReserva(UpdateReservaRequest upReserva) { try { using (var context = new BDReservasEntities()) { ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); context.PA_MODIFICAR_RESERVA( upReserva.Id_reserva, upReserva.Fecha, upReserva.H_ini, upReserva.H_fin, upReserva.Id_estado, upReserva.Precio, upReserva.Horas, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString()); } return(new UpdateReservaResponse() { Retcode = (int)RETCODE.Value, Mensaje = MENSAJE.Value.ToString() }); } } catch (Exception ex) { return(new UpdateReservaResponse() { Mensaje = ex.Message, Retcode = -1 }); } }
//METODO LISTAR PISTAS public IEnumerable <PistaModel> GetPistas() { List <PistaModel> listaPistas = null; try { using (var context = new BDReservasEntities()) { listaPistas = (from i in context.V_INSTALACIONES_HORARIOS where i.id_actividad != 23 select new PistaModel { Instalacion = i.instalacion.Trim(), Horario = i.horario, Nombre = i.pista.Trim(), Actividad = i.actividad.Trim(), Tipo_pista = i.tipo_pista.Trim(), Precio_hora = i.precio_hora, Id_actividad = i.id_actividad, Id_instalacion = i.id_instalacion, Id_pista = i.id_pista, Id_tarifa = i.id_tarifa, Tarifa = i.tarifa, Operativa = (bool)i.pista_operativa }).Distinct().ToList(); if (listaPistas.Count < 1) { listaPistas.Add(new PistaModel { Mensaje = "No existen instalaciones" }); } return(listaPistas); } } catch (Exception ex) { listaPistas.Add(new PistaModel { Mensaje = "No se pudo realizar la consulta -- " + ex.Message }); return(listaPistas); } }
//METODO LISTAR INSTALACIONES public IEnumerable <InstModel> GetInsts() { try { using (var context = new BDReservasEntities()) { List <InstModel> listaInstalaciones = (from i in context.instalaciones select new InstModel { Nombre = i.nombre.Trim(), Id_instalacion = i.id_instalacion, Id_horario = i.id_horario, Direccion = i.direccion.Trim(), Imgtmp = i.imagen, Operativa = i.operativa }).ToList <InstModel>(); if (listaInstalaciones.Count < 1) { listaInstalaciones.Add(new InstModel { Mensaje = "No existen instalaciones" }); } else { //parche para convertir cada imagen del array de instalaciones foreach (InstModel instalacion in listaInstalaciones) { instalacion.Imagen = (instalacion.Imgtmp != null) ? new ImageConverter().byteTobase64(instalacion.Imgtmp) : null; instalacion.Imgtmp = null; } } return(listaInstalaciones); } } catch (Exception ex) { List <InstModel> listaInstalaciones = new List <InstModel>(); listaInstalaciones.Add(new InstModel { Mensaje = "No existen instalaciones" }); return(listaInstalaciones); } }
//METODO CREAR PISTA public CreatePistaResponse CreatePista(CreatePistaRequest nuevaPista) { try { using (var context = new BDReservasEntities()) { ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); context.PA_INSERT_PISTA( nuevaPista.Nombre, nuevaPista.Id_instalacion, nuevaPista.Operativa, nuevaPista.Id_tarifa, nuevaPista.Id_actividad, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString()); } return(new CreatePistaResponse() { Retcode = (int)RETCODE.Value, Mensaje = MENSAJE.Value.ToString() }); } } catch (Exception ex) { return(new CreatePistaResponse() { Mensaje = ex.Message.Trim() }); } }
//METODO CREAR ACTIVIDAD public CreateActividadResponse CreateActividad(CreateActividadRequest nuevaActividad) { try { using (var context = new BDReservasEntities()) { ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); context.PA_INSERT_ACTIVIDAD( nuevaActividad.Actividad, nuevaActividad.Tipo_pista, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString()); } return(new CreateActividadResponse() { Retcode = (int)RETCODE.Value, Mensaje = MENSAJE.Value.ToString() }); } } catch (Exception ex) { return(new CreateActividadResponse() { Mensaje = ex.Message.Trim(), Retcode = -1 }); } }
//METODO CREAR HORARIO public CreateHorarioResponse CreateHorario(CreateHorarioRequest nuevoHorario) { try { using (var context = new BDReservasEntities()) { ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); context.PA_INSERT_HORARIO( nuevoHorario.Nombre, nuevoHorario.Horario, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString()); } return(new CreateHorarioResponse() { Retcode = (int)RETCODE.Value, Mensaje = MENSAJE.Value.ToString() }); } } catch (Exception ex) { return(new CreateHorarioResponse() { Mensaje = ex.Message.Trim(), Retcode = -1 }); } }
//METODO CAMBIO CONTRASEÑA public ChangePassResponse ChangePass(ChangePassRequest datos) { try { using (var context = new BDReservasEntities()) { ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); context.PA_CAMBIO_PASSWORD( datos.Id_usuario, datos.Oldpass, datos.Newpass, RETCODE, MENSAJE ); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString()); } return(new ChangePassResponse() { Retcode = (int)RETCODE.Value, Mensaje = MENSAJE.Value.ToString().Trim() }); } } catch (Exception ex) { return(new ChangePassResponse() { Mensaje = ex.Message.Trim(), Retcode = -1 }); } }
public IEnumerable <InstModel> GetInstsVista() { try { using (var context = new BDReservasEntities()) { List <InstModel> listaInstalaciones = (from i in context.V_INSTALACIONES_HORARIOS select new InstModel { Instalacion = i.instalacion.Trim(), Direccion = i.direccion.Trim(), Horario = i.horario.Trim(), Id_instalacion = i.id_instalacion, Operativa = i.instalación_operativa, Tipo_horario = i.tipo_horario.Trim() }).Distinct().ToList <InstModel>(); if (listaInstalaciones.Count < 1) { listaInstalaciones.Add(new InstModel { Mensaje = "No existen instalaciones" }); } else { //parche para convertir cada imagen del array de instalaciones foreach (InstModel instalacion in listaInstalaciones) { instalacion.Imagen = (instalacion.Imgtmp != null) ? new ImageConverter().byteTobase64(instalacion.Imgtmp) : null; instalacion.Imgtmp = null; } } return(listaInstalaciones); } } catch (Exception ex) { throw ex; } }
/* * //METODO LISTAR PISTAS * public IEnumerable<PistaModel> GetPistas() * { * List<PistaModel> listaPistas = null; * * try * { * using (var context = new BDReservasEntities()) * { * * listaPistas = (from i in context.pistas * select new PistaModel * { * Nombre = i.nombre.Trim(), * Id_actividad = (int)i.id_actividad, * Id_instalacion = i.id_instalacion, * Id_pista = i.id_pista, * Id_tarifa = (int)i.id_tarifa, * Operativa = (bool)i.operativa * * }).ToList(); * * if (listaPistas.Count < 1) * { * listaPistas.Add(new PistaModel * { * Mensaje = "No existen instalaciones" * }); * * } * * return listaPistas; * * } * * * } * catch (Exception ex) * { * listaPistas.Add(new PistaModel * { * Mensaje = "No se pudo realizar la consulta -- " + ex.Message * }); * * return listaPistas; * * } * }*/ //METODO ACTUALIZAR PISTA public UpdatePistaResponse UpdatePista(UpdatePistaRequest upPista) { try { using (var context = new BDReservasEntities()) { ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); context.PA_MODIFICAR_PISTA(upPista.Id_pista, upPista.Nombre, upPista.Id_instalacion, upPista.Operativa, upPista.Id_tarifa, upPista.Id_actividad, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString()); } var consulta = context.pistas.Where(pista => pista.nombre == upPista.Nombre).FirstOrDefault(); return(new UpdatePistaResponse() { Nombre = consulta.nombre.Trim(), Retcode = (int)RETCODE.Value, Mensaje = MENSAJE.Value.ToString() }); } } catch (Exception ex) { return(new UpdatePistaResponse() { Mensaje = ex.Message }); } }
//MÉTODO DE BORRAR USUARIO public DeleteUserResponse DeleteUser(DeleteUserRequest delUser) { try { using (var context = new BDReservasEntities()) { ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); var consulta = context.usuarios.Where(user => user.id_usuario == delUser.Id_Usuario).FirstOrDefault(); context.PA_DELETE_USUARIO(delUser.Id_Usuario, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString().Trim()); } return(new DeleteUserResponse() { Retcode = (int)RETCODE.Value, Mensaje = MENSAJE.Value.ToString().Trim() }); } } catch (Exception ex) { return(new DeleteUserResponse() { Retcode = -1, Mensaje = ex.Message }); } }
//METODO ACTUALIZAR TARIFA public UpdateTarifaResponse UpdateTarifa(UpdateTarifaRequest upTarifa) { try { using (var context = new BDReservasEntities()) { ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); context.PA_MODIFICAR_TARIFA(upTarifa.Id_Tarifa, upTarifa.Tarifa, upTarifa.Valor, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString()); } return(new UpdateTarifaResponse() { Retcode = (int)RETCODE.Value, Mensaje = MENSAJE.Value.ToString() }); } } catch (Exception ex) { return(new UpdateTarifaResponse() { Mensaje = ex.Message }); } }
//MÉTODO DE BORRAR INSTALACION public DeleteInstResponse DeleteInst(DeleteInstRequest delInstalacion) { try { using (var context = new BDReservasEntities()) { ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); context.PA_DELETE_INSTALACION(delInstalacion.Id_Instalacion, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString().Trim()); } return(new DeleteInstResponse() { Retcode = (int)RETCODE.Value, Mensaje = MENSAJE.Value.ToString().Trim() }); } } catch (Exception ex) { return(new DeleteInstResponse() { Retcode = -1, Mensaje = ex.Message }); } }
//METODO ACTUALIZAR ACTIVIDAD public UpdateActividadResponse UpdateActividad(UpdateActividadRequest upActividad) { try { using (var context = new BDReservasEntities()) { ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); context.PA_MODIFICAR_ACTIVIDAD(upActividad.Id_actividad, upActividad.Actividad, upActividad.Tipo_pista, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString()); } return(new UpdateActividadResponse() { Retcode = (int)RETCODE.Value, Mensaje = MENSAJE.Value.ToString() }); } } catch (Exception ex) { return(new UpdateActividadResponse() { Mensaje = ex.Message }); } }
//METODO LISTAR ACTIVIDADES public IEnumerable <ActividadModel> GetActividades() { List <ActividadModel> listaActividades = null; try { using (var context = new BDReservasEntities()) { listaActividades = (from i in context.actividades select new ActividadModel { Id_actividad = i.id_actividad, Actividad = i.actividad.Trim(), Tipo_pista = i.tipo_pista.Trim(), }).ToList <ActividadModel>(); if (listaActividades.Count < 1) { listaActividades.Add(new ActividadModel { Mensaje = "No existen actividades" }); } return(listaActividades); } } catch (Exception ex) { listaActividades.Add(new ActividadModel { Mensaje = "No se pudo realizar la consulta -- " + ex.Message }); return(listaActividades); } }
//METODO LISTAR HORARIOS public IEnumerable <HorarioModel> GetHorarios() { List <HorarioModel> listaHorarios = null; try { using (var context = new BDReservasEntities()) { listaHorarios = (from i in context.horarios select new HorarioModel { Id_horario = i.id_horario, Horario = i.horario.Trim(), Nombre = i.nombre.Trim(), }).ToList(); if (listaHorarios.Count < 1) { listaHorarios.Add(new HorarioModel { Mensaje = "No existen actividades" }); } return(listaHorarios); } } catch (Exception ex) { listaHorarios.Add(new HorarioModel { Mensaje = "No se pudo realizar la consulta -- " + ex.Message }); return(listaHorarios); } }
//MÉTODO DE BORRAR TARIFA public DeleteTarifaResponse DeleteTarifa(DeleteTarifaRequest delTarifa) { try { using (var context = new BDReservasEntities()) { ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); context.PA_DELETE_TARIFA(delTarifa.Id_tarifa, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString().Trim()); } return(new DeleteTarifaResponse() { Retcode = (int)RETCODE.Value, Mensaje = MENSAJE.Value.ToString().Trim() }); } } catch (Exception ex) { return(new DeleteTarifaResponse() { Mensaje = ex.Message, Retcode = -1 }); } }
//MÉTODO DE CREAR USUARIO public CreateUserResponse CreateUser(CreateUserRequest newUser) { try { using (var context = new BDReservasEntities()) { ObjectParameter RETCODE = new ObjectParameter("RETCODE", typeof(int)); ObjectParameter MENSAJE = new ObjectParameter("MENSAJE", typeof(string)); byte[] imagen = null; /* * if(newUser.Imagen != "") * { * imagen = new ImageConverter().base64ToByte(newUser.Imagen); * } */ context.PA_INSERT_USUARIO( newUser.Nombre, newUser.Apellido1, newUser.Apellido2, newUser.Dni, newUser.Email, newUser.Password, newUser.Id_Perfil, imagen, RETCODE, MENSAJE); if ((int)RETCODE.Value < 0) { throw new Exception("Error no controlado"); } if ((int)RETCODE.Value > 0) { throw new Exception(MENSAJE.Value.ToString()); } var consulta = context.V_USUARIOS_PERFILES.Where(dni => dni.dni == newUser.Dni).FirstOrDefault(); return(new CreateUserResponse() { Id_Usuario = consulta.id_usuario, Nombre = consulta.nombre.Trim(), Apellido1 = consulta.apellido1.Trim(), Apellido2 = consulta.apellido2.Trim(), Dni = consulta.dni.Trim(), Email = consulta.email.Trim(), Perfil = consulta.perfil.Trim(), Id_Perfil = consulta.id_perfil, Mensaje = MENSAJE.Value.ToString(), Retcode = (int)RETCODE.Value }); } } catch (Exception ex) { return(new CreateUserResponse() { Mensaje = ex.Message, Retcode = -1 }); } }
//RECUPERAR PISTAS DISPONIBLES PARA RESERVA //recibimos deporte y fecha en datos //devolvemos array de pistas con las horas libres y reservadas para fecha y deporte recibidos public IEnumerable <PistasReservaResponse> pistasParaReserva(PistasReservaRequest datos) { List <PistasReservaResponse> pistasConReserva = new List <PistasReservaResponse>(); List <PistasReservaResponse> listaPistas = null;//lista de pistas disponibles para el deporte List <PistasReservaResponse> response = new List <PistasReservaResponse>(); try { //recuperamos listado pistas using (var context = new BDReservasEntities()) { listaPistas = (from i in context.V_INSTALACIONES_HORARIOS where i.actividad == datos.Actividad where i.pista_operativa == true where i.instalación_operativa == true select new PistasReservaResponse { Pista = i.pista.Trim(), Id_pista = i.id_pista, Horario = i.horario.Trim(), Instalacion = i.instalacion.Trim(), Precio_hora = i.precio_hora, Fecha = datos.Fecha.Trim() }).ToList(); //si no se encuentran pistas se devuelve msje informativo if (listaPistas.Count < 1) { pistasConReserva.Add(new PistasReservaResponse() { Mensaje = "No existen pistas disponibles " }); } else { //recuperamos horas reservadas/libres para cada pista el dia indicado foreach (var p in listaPistas) { List <PistasReservaResponse> tmp = (from i in context.V_RESERVAS_PISTAS where i.pista == p.Pista where i.fecha == datos.Fecha where i.estado != "cancelada" select new PistasReservaResponse { Pista = i.pista.Trim(), Id_pista = i.id_pista, H_ini = i.h_ini.Trim(), H_fin = i.h_fin.Trim(), Horas = (decimal)i.horas, Horario = p.Horario.Trim(), Instalacion = p.Instalacion.Trim(), Precio_hora = p.Precio_hora, Fecha = datos.Fecha, }).ToList(); //si no hay reservas para la pista if (tmp.Count < 1) { List <PistasReservaResponse> vacia = new List <PistasReservaResponse> { p }; pistasConReserva.AddRange(vacia); } else { pistasConReserva.AddRange(tmp); } } string[] ph = new string[13]; string nomPista = ""; PistasReservaResponse pisres = null; //recorremos las pistas con reserva encontradas for (var x = 0; x <= pistasConReserva.Count(); x++) { if (x != pistasConReserva.Count()) { if (pistasConReserva[x].Pista != nomPista)//es pista distinta { if (pisres != null) { pisres.H_ini = null; pisres.H_fin = null; pisres.Horas = 0; response.Add(pisres);//guardamos pista con sus reservas } ph = new string[13]; pisres = null; nomPista = pistasConReserva[x].Pista; pisres = pistasConReserva[x]; ph = this.checkHorasReserva(pistasConReserva[x], ph); pisres.LibresReservadas = ph; } else { ph = this.checkHorasReserva(pistasConReserva[x], ph); pisres.LibresReservadas = ph; } } else { pisres.H_ini = null; pisres.H_fin = null; pisres.Horas = 0; response.Add(pisres);//guardamos pista con sus reservas } } } return(response); } } catch (Exception ex) { response.Add(new PistasReservaResponse() { Mensaje = "No se pudo realizar la consulta. -- " + ex.Message }); return(pistasConReserva); } }