public GenerarReporteSalida GenerarReporte(GenerarReporteEntrada entrada) { var salida = new GenerarReporteSalida(); var fabrica = new FabricaReportes(_gestorPersistencia); var reporte = fabrica.TraerReporte(entrada.Tipo); if (reporte == null) { return(SalidaBase.Fallo(salida, string.Format(Cadenas.reporte_tipo_no_encontrado, entrada.Tipo))); } var resultValidar = reporte.Validar(entrada.Parametros); if (!string.IsNullOrEmpty(resultValidar)) { return(SalidaBase.Fallo(salida, string.Format("{0}\n{1}", Cadenas.reporte_error_parametros, resultValidar))); } var consulta = reporte.Consultar(); salida.Consulta = consulta; return(SalidaBase.Exito(salida)); }
public RegistrarUsuarioSalida RegistrarUsuario(RegistrarUsuarioEntrada entrada) { var salida = new RegistrarUsuarioSalida(); if (entrada.Clave != entrada.ClaveRepetida) { return(SalidaBase.Fallo(salida, "La clave no coincide, por favor verifique")); } var usuario = _gestorPersistencia.TraerUsuario(entrada.Correo); if (usuario != null) { return(SalidaBase.Fallo(salida, "Usuario con correo " + entrada.Correo + " ya está registrado")); } var claveHash = TraerHash(entrada.Clave); usuario = new Usuario { Nombre = entrada.Nombre, Correo = entrada.Correo, Clave = claveHash }; _gestorPersistencia.Guardar(usuario); return(SalidaBase.Exito(salida)); }
public RegistrarVotoCancionesSalida RegistrarVotoCanciones(RegistrarVotoCancionesEntrada entrada) { var salida = new RegistrarVotoCancionesSalida(); int cancionError = int.MinValue; var canciones = TraerCanciones(entrada.Canciones, (noEncontrado => cancionError = noEncontrado)); if (cancionError != int.MinValue) { return(SalidaBase.Fallo(salida, string.Format(Cadenas.cancion_id_no_encontrado, cancionError))); } var usuario = _gestorPersistencia.TraerCancion(entrada.UsuarioId); if (usuario == null) { return(SalidaBase.Fallo(salida, string.Format(Cadenas.usuario_id_no_encontrado, entrada.UsuarioId))); } foreach (var cancion in canciones) { RegistrarVoto(cancion.VotableId, entrada.UsuarioId, entrada.Accion == RegistrarVotoCancionesEntrada.Acciones.Asociar); } return(SalidaBase.Exito(salida)); }
public RegistrarVotoAlbumesSalida RegistrarVotoAlbumes(RegistrarVotoAlbumesEntrada entrada) { var salida = new RegistrarVotoAlbumesSalida(); int albumError = int.MinValue; var albumes = TraerAlbumes(entrada.Albumes, (noEncontrado => albumError = noEncontrado)); if (albumError != int.MinValue) { return(SalidaBase.Fallo(salida, string.Format(Cadenas.album_id_no_encontrado, albumError))); } var usuario = _gestorPersistencia.TraerUsuario(entrada.UsuarioId); if (usuario == null) { return(SalidaBase.Fallo(salida, string.Format(Cadenas.usuario_id_no_encontrado, entrada.UsuarioId))); } foreach (var album in albumes) { RegistrarVoto(album.VotableId, entrada.UsuarioId, entrada.Accion == RegistrarVotoAlbumesEntrada.Acciones.Asociar); } return(SalidaBase.Exito(salida)); }
public CrearCancionesEnAlbumSalida CrearCancionesEnAlbum(CrearCancionesEnAlbumEntrada entrada) { var salida = new CrearCancionesEnAlbumSalida(); if (entrada.Canciones.Any(string.IsNullOrEmpty)) { return(SalidaBase.Fallo(salida, Cadenas.album_cancion_sin_nombre)); } var album = _gestorPersistencia.TraerAlbum(entrada.AlbumId); if (album == null) { return(SalidaBase.Fallo(salida, string.Format(Cadenas.album_id_no_encontrado, entrada.AlbumId))); } var cancionesGuardar = from c in entrada.Canciones select new Cancion { Nombre = c, AlbumId = album.Id, FchCreacion = DateTime.Now }; foreach (var cancion in cancionesGuardar) { CrearVotable(cancion); _gestorPersistencia.Guardar(cancion); } return(SalidaBase.Exito(salida)); }
public EditarInterpreteSalida EditarInterprete(EditarInterpreteEntrada entrada) { var salida = new EditarInterpreteSalida(); if (string.IsNullOrEmpty(entrada.Nombre)) { return(SalidaBase.Fallo(salida, Cadenas.interprete_falta_nombre)); } Interprete interprete; if (entrada.InterpreteId > 0) { interprete = _gestorPersistencia.TraerInterprete(entrada.InterpreteId); if (interprete == null) { return(SalidaBase.Fallo(salida, string.Format(Cadenas.interprete_id_no_encontrado, entrada.InterpreteId))); } interprete.Nombre = entrada.Nombre; } else { interprete = new Interprete { Nombre = entrada.Nombre, FchCreacion = DateTime.Now, }; } _gestorPersistencia.Guardar(interprete); salida.Interprete = interprete; return(SalidaBase.Exito(salida)); }
public RelacionarInterpretesACancionSalida RelacionarInterpretesACancion( RelacionarInterpretesACancionEntrada entrada) { var salida = new RelacionarInterpretesACancionSalida(); var cancion = _gestorPersistencia.TraerCancion(entrada.CancionId); if (cancion == null) { return(SalidaBase.Fallo(salida, string.Format(Cadenas.cancion_id_no_encontrado, entrada.CancionId))); } if (cancion.AlbumId != null) { return(SalidaBase.Fallo(salida, string.Format(Cadenas.cancion_asociada_a_album, cancion.AlbumId))); } if (entrada.Interpretes == null || entrada.Interpretes.Count == 0) { return(SalidaBase.Fallo(salida, Cadenas.album_falta_interprete)); } int interpreteError = int.MinValue; var interpretes = TraerInterpretes(entrada.Interpretes, (noEncontrado => interpreteError = noEncontrado)); if (interpreteError != int.MinValue) { return(SalidaBase.Fallo(salida, string.Format(Cadenas.interprete_id_no_encontrado, interpreteError))); } if (entrada.Accion == RelacionarInterpretesACancionEntrada.Acciones.Agregar) { var relaciones = interpretes.Select(i => _gestorPersistencia.TraerCancionInterprete(cancion.Id, i.Id)); foreach (var relacion in relaciones) { _gestorPersistencia.Guardar(relacion); } } else if (entrada.Accion == RelacionarInterpretesACancionEntrada.Acciones.Eliminar) { var relaciones = interpretes.Select(i => _gestorPersistencia.TraerCancionInterprete(cancion.Id, i.Id)); foreach (var relacion in relaciones) { _gestorPersistencia.EliminarCancionInterprete(relacion.InterpreteId, relacion.CancionId); } } return(SalidaBase.Exito(salida)); }
public IdentificarUsuarioSalida IdentificarUsuario(IdentificarUsuarioEntrada entrada) { var salida = new IdentificarUsuarioSalida(); var claveHash = TraerHash(entrada.Clave); var usuario = _gestorPersistencia.TraerUsuario(entrada.Correo, claveHash); if (usuario == null) { return(SalidaBase.Fallo(salida, "Autenticación fallida")); } salida.Usuario = usuario; return(SalidaBase.Exito(salida)); }
public EditarCancionSalida EditarCancion(EditarCancionEntrada entrada) { var salida = new EditarCancionSalida(); if (string.IsNullOrEmpty(entrada.Nombre)) { return(SalidaBase.Fallo(salida, Cadenas.cancion_falta_nombre)); } if (entrada.AlbumId != null) { Album album = _gestorPersistencia.TraerAlbum(entrada.AlbumId.Value); if (album == null) { return(SalidaBase.Fallo(salida, string.Format(Cadenas.album_id_no_encontrado, entrada.AlbumId))); } } Cancion cancion; if (entrada.CancionId > 0) { cancion = _gestorPersistencia.TraerCancion(entrada.CancionId); if (cancion == null) { return(SalidaBase.Fallo(salida, string.Format(Cadenas.cancion_id_no_encontrado, entrada.CancionId))); } cancion.AlbumId = entrada.AlbumId; cancion.Nombre = entrada.Nombre; } else { cancion = new Cancion { Id = entrada.CancionId, FchCreacion = DateTime.Now, Nombre = entrada.Nombre, AlbumId = entrada.AlbumId }; } CrearVotable(cancion); _gestorPersistencia.Guardar(cancion); return(SalidaBase.Exito(salida)); }
public EditarAlbumSalida EditarAlbum(EditarAlbumEntrada entrada) { var salida = new EditarAlbumSalida(); if (string.IsNullOrEmpty(entrada.Nombre)) { return(SalidaBase.Fallo(salida, Cadenas.album_falta_nombre)); } Album album; if (entrada.AlbumId > 0) { album = _gestorPersistencia.TraerAlbum(entrada.AlbumId); if (album == null) { return(SalidaBase.Fallo(salida, string.Format(Cadenas.album_id_no_encontrado, entrada.AlbumId))); } album.Nombre = entrada.Nombre; album.AñoLanzamiento = entrada.AñoLanzamiento; } else { album = new Album { Nombre = entrada.Nombre, FchCreacion = DateTime.Now, AñoLanzamiento = entrada.AñoLanzamiento, }; } salida.Album = album; CrearVotable(album); _gestorPersistencia.Guardar(album); return(SalidaBase.Exito(salida)); }
public AsociarCancionYAlbumSalida AsociarCancionYAlbum(AsociarCancionYAlbumEntrada entrada) { var salida = new AsociarCancionYAlbumSalida(); int cancionError = int.MinValue; var canciones = TraerCanciones(entrada.Canciones, (noEncontrado => cancionError = noEncontrado)); if (cancionError != int.MinValue) { return(SalidaBase.Fallo(salida, string.Format(Cadenas.cancion_id_no_encontrado, cancionError))); } if (entrada.Accion == AsociarCancionYAlbumEntrada.Acciones.Asociar) { var album = _gestorPersistencia.TraerAlbum(entrada.AlbumId); if (album == null) { return(SalidaBase.Fallo(salida, string.Format(Cadenas.album_id_no_encontrado, entrada.AlbumId))); } foreach (var cancion in canciones) { cancion.AlbumId = album.Id; _gestorPersistencia.Guardar(cancion); } } else if (entrada.Accion == AsociarCancionYAlbumEntrada.Acciones.Desasociar) { foreach (var cancion in canciones) { cancion.AlbumId = null; _gestorPersistencia.Guardar(cancion); } } return(SalidaBase.Exito(salida)); }
public ModificarUsuarioSalida ModificarUsuario(ModificarUsuarioEntrada entrada) { var salida = new ModificarUsuarioSalida(); return(SalidaBase.Fallo(salida, "No implementado")); }
protected bool Equals(SalidaBase other) { return(Resultado == other.Resultado && string.Equals(Mensaje, other.Mensaje)); }