示例#1
0
        private EliminarEtiquetasAUnDiccionarioRespuesta ArrangeYActEliminarEtiquetasAUnDiccionario()
        {
            //Arrange
            diccionarioInicialDeLasPruebas = InicializarDiccionario();
            diccionarioRepositorio.ObtenerUnDiccionario(diccionarioInicialDeLasPruebas.Id).Returns(diccionarioInicialDeLasPruebas);
            diccionarioRepositorio.SalvarUnDiccionario(diccionarioInicialDeLasPruebas).Returns(diccionarioRespuestaEliminarEtiquetasDiccionario);

            EliminarEtiquetasAUnDiccionarioPeticion peticion = EliminarEtiquetasAUnDiccionarioPeticion.CrearNuevaInstancia();

            peticion.DiccionarioId    = diccionarioInicialDeLasPruebas.Id;
            peticion.ListaDeEtiquetas = ListaDeEtiquetaAEliminar();

            //Act
            AplicacionServicio serviciosApi = new AplicacionServicio(diccionarioRepositorio);
            var respuesta = serviciosApi.EliminarEtiquetasAUnDiccionario(peticion);

            return(respuesta);
        }
示例#2
0
        /// <summary>
        /// Fecha creación:	Mayo, 2015.
        /// Descripción:	Método que elimina una o más etiquetas de un diccionario.
        /// </summary>
        /// <param name="peticion">Se recibe un objeto de tipo EliminarEtiquetasAUnDiccionarioPeticion que contiene la lista de etiquetas a eliminar de un diccionario.</param>
        /// <returns>Retorna un objeto de tipo EliminarEtiquetasAUnDiccionarioRespuesta que contiene la lista de etiquetas que contiene el diccionario.</returns>
        public EliminarEtiquetasAUnDiccionarioRespuesta EliminarEtiquetasAUnDiccionario(EliminarEtiquetasAUnDiccionarioPeticion peticion)
        {
            var eliminarEtiquetasDiccionario = EliminarEtiquetasAUnDiccionarioRespuesta.CrearNuevaInstancia();

            try
            {
                var diccionario = diccionarioRepositorio.ObtenerUnDiccionario(peticion.DiccionarioId);

                if (diccionario != null)
                {
                    if ((diccionario.Id.ToString() != Guid.Empty.ToString()) && (diccionario.Id.ToString() == peticion.DiccionarioId.ToString()))
                    {
                        var etiquetasDiccionario = peticion.ListaDeEtiquetas;

                        diccionario = etiquetasDiccionario.Aggregate(diccionario, (current, etiquetaDiccionario) => current.EliminarEtiqueta(etiquetaDiccionario));

                        var diccionarioModificado = diccionarioRepositorio.SalvarUnDiccionario(diccionario);

                        if (diccionarioModificado != null)
                        {
                            eliminarEtiquetasDiccionario.ListaDeEtiquetas          = diccionarioModificado.Etiquetas.ToList();
                            eliminarEtiquetasDiccionario.Relaciones["diccionario"] = diccionarioModificado.Id;
                            eliminarEtiquetasDiccionario.Respuesta = null;
                        }
                        else
                        {
                            throw new Exception("Ocurrió un error guardando los cambios en el diccionario.");
                        }
                    }
                    else
                    {
                        throw new Exception("La consulta no retornó el diccionario solicitado.");
                    }
                }
                else
                {
                    throw new Exception("Ocurrió un error consultando los diccionarios.");
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(eliminarEtiquetasDiccionario);
        }