/// <summary> /// Método: ObtenerUnDiccionario /// Desarrollador: Johans Cuéllar /// Creado: 14/05/2015 /// Descripción: Método que busca los diccionarios en el xml repositario. /// </summary> /// <param name="idDiccionario">Recibe el id del diccionario a buscar de tipo Guid</param> /// <returns>Un diccionario de tipo EntidadDom.Diccionario.Diccionario</returns> public Babel.Nucleo.Dominio.Entidades.Diccionario.Diccionario ObtenerUnDiccionario(Guid idDiccionario) { EntidadDom.Diccionario.Diccionario diccionarioDom = null; EntidadRepo.Diccionarios diccionarioRep = XmlDeSerializador(); foreach (var diccionario in diccionarioRep.ListaDiccionarios) { if (diccionario.Id == new Guid(idDiccionario.ToString())) { diccionarioDom = MapearRepositorioConDiccionario(diccionario); } } return(diccionarioDom); }
// Johans public void ProbarCrearListadeDiccionariosExistentesEnElXMLRepositorioRetornaListaDiccionarios() { try { DiccionarioRepositorioXmlImpl repositorio = new DiccionarioRepositorioXmlImpl(Directory); var listaDiccionarios = new List <Babel.Nucleo.Dominio.Entidades.Diccionario.Diccionario>(); Babel.Nucleo.Dominio.Entidades.Etiquetas.Etiqueta EtqDom = Babel.Nucleo.Dominio.Entidades.Etiquetas.Etiqueta.CrearNuevaEtiqueta("app.test"); Babel.Nucleo.Dominio.Entidades.Etiquetas.Traduccion traduccionDom2 = Babel.Nucleo.Dominio.Entidades.Etiquetas.Traduccion.CrearNuevaTraduccion(Babel.Nucleo.Dominio.Entidades.Etiquetas.Cultura.CrearNuevaCultura("en-US"), "accept", "accept"); EtqDom.AgregarTraduccion(traduccionDom2); Babel.Nucleo.Dominio.Entidades.Etiquetas.Etiqueta EtqDom2 = Babel.Nucleo.Dominio.Entidades.Etiquetas.Etiqueta.CrearNuevaEtiqueta("app.test2"); Babel.Nucleo.Dominio.Entidades.Etiquetas.Traduccion traduccionDom22 = Babel.Nucleo.Dominio.Entidades.Etiquetas.Traduccion.CrearNuevaTraduccion(Babel.Nucleo.Dominio.Entidades.Etiquetas.Cultura.CrearNuevaCultura("en-US"), "accept", "accept"); EtqDom2.AgregarTraduccion(traduccionDom22); DiccionarioDominio = Babel.Nucleo.Dominio.Entidades.Diccionario.Diccionario.CrearNuevoDiccionario(Guid.NewGuid(), ambienteTestPrueba); DiccionarioDominio.AgregarEtiqueta(EtqDom); DiccionarioDominio.AgregarEtiqueta(EtqDom2); DiccionarioDominio2 = Babel.Nucleo.Dominio.Entidades.Diccionario.Diccionario.CrearNuevoDiccionario(Guid.NewGuid(), ambienteTestDesarrollo); DiccionarioDominio2.AgregarEtiqueta(EtqDom); DiccionarioDominio2.AgregarEtiqueta(EtqDom2); listaDiccionarios.Add(DiccionarioDominio); listaDiccionarios.Add(DiccionarioDominio2); repositorio.SalvarDiccionarios(listaDiccionarios).ShouldBeType <List <Babel.Nucleo.Dominio.Entidades.Diccionario.Diccionario> >(); } catch (Exception ex) { ex.ShouldBeType <SystemException>(); } }
/// <summary> /// Método: MapearDiccionarioConRepositorio /// Desarrollador: Johans Cuéllar /// Creado: 15/05/2015 /// Descripción: Método que mapea dinámicamente objetos dominio a objetos repositorio. /// </summary> /// <param name="diccionarioDom">Dicionario de tipo dominio</param> /// <returns>Diccionario mapeado de tipo repositorio</returns> private EntidadRepo.Diccionario MapearDiccionarioConRepositorio(Babel.Nucleo.Dominio.Entidades.Diccionario.Diccionario diccionarioDom) { var dicctionarioRepo = new EntidadRepo.Diccionario() { Id = diccionarioDom.Id, Ambiente = diccionarioDom.Ambiente }; dicctionarioRepo.Etiquetas = new EntidadRepo.Etiquetas(); foreach (var etiqueta in diccionarioDom.Etiquetas) { var EtiquetaMapper = new EntidadRepo.Etiqueta() { Activo = etiqueta.Activo, Descripcion = etiqueta.Descripcion, Id = etiqueta.Id, IdiomaPorDefecto = etiqueta.IdiomaPorDefecto, Nombre = etiqueta.Nombre, NombreEtiqueta = etiqueta.Nombre, Traducciones = new EntidadRepo.Traducciones() }; foreach (var texto in etiqueta.Textos) { var TextoMapper = new EntidadRepo.Traduccion() { Cultura = texto.Cultura.CodigoIso.ToString(), Tooltip = texto.ToolTip, Value = texto.Texto }; EtiquetaMapper.Traducciones.Traducciones1.Add(TextoMapper); } dicctionarioRepo.Etiquetas.ListaEtiquetas.Add(EtiquetaMapper); } return(dicctionarioRepo); }
/// <summary> /// Método: MapearRepositorioConDiccionario /// Desarrollador: Johans Cuéllar /// Creado: 14/05/2015 /// Descripción: Método que mapea dinámicamente objetos repositorios a objetos dominio. /// </summary> /// <param name="diccionarioRepo">Diccionario de tipo repositorio</param> /// <returns>Un diccionario de tipo objetos de dominio</returns> private EntidadDom.Diccionario.Diccionario MapearRepositorioConDiccionario(EntidadRepo.Diccionario diccionarioRepo) { EntidadDom.Diccionario.Diccionario DiccionarioDominio = null; DiccionarioDominio = EntidadDom.Diccionario.Diccionario.CrearNuevoDiccionario(diccionarioRepo.Id, diccionarioRepo.Ambiente); for (int i = 00; i < diccionarioRepo.Etiquetas.ListaEtiquetas.Count(); i++) { DiccionarioDominio.AgregarEtiqueta(Mapper.Map <EntidadDom.Etiquetas.Etiqueta> (diccionarioRepo.Etiquetas.ListaEtiquetas [i])); for (int x = 0; x < diccionarioRepo.Etiquetas.ListaEtiquetas [i].Traducciones.Traducciones1.Count(); x++) { var cultura = EntidadDom.Etiquetas.Cultura.CrearNuevaCultura(diccionarioRepo.Etiquetas.ListaEtiquetas [i].Traducciones.Traducciones1 [x].Cultura); var traduccion = Mapper.Map <EntidadDom.Etiquetas.Traduccion> (diccionarioRepo.Etiquetas.ListaEtiquetas [i].Traducciones.Traducciones1 [x]); traduccion.Cultura = cultura; DiccionarioDominio.Etiquetas [i].AgregarTraduccion(traduccion); } } return(DiccionarioDominio); }
/// <summary> /// Método: SalvarUnDiccionario /// Desarrollador: Johans Cuéllar /// Creado: 21/05/2015 /// Descripción: Método que salva un diccionario en el xml repositario. /// </summary> /// <param name="diccionario">Diccionario de tipo EntidadDom.Diccionario.Diccionario</param> /// <returns>Diccionario de tipo EntidadDom.Diccionario.Diccionario</returns> public EntidadDom.Diccionario.Diccionario SalvarUnDiccionario(EntidadDom.Diccionario.Diccionario diccionario) { var exist = false; EntidadDom.Diccionario.Diccionario dicDom = null; EntidadRepo.Diccionarios diccionarioRep = XmlDeSerializador(); if (diccionario == null) { throw new Exception(); } var test = diccionarioRep.ListaDiccionarios.Find(e => e.Ambiente == diccionario.Ambiente); if (diccionarioRep.ListaDiccionarios.Find(e => e.Ambiente == diccionario.Ambiente) != null) { throw new Exception(); } foreach (EntidadRepo.Diccionario direp in diccionarioRep.ListaDiccionarios) { if (direp.Id == diccionario.Id) { var dirRepoReplace = MapearDiccionarioConRepositorio(diccionario); direp.Etiquetas.ListaEtiquetas.Clear(); foreach (var etiquetas in dirRepoReplace.Etiquetas.ListaEtiquetas) { direp.Etiquetas.ListaEtiquetas.Add(etiquetas); } exist = true; } } if (exist == false) { diccionarioRep.ListaDiccionarios.Add(MapearDiccionarioConRepositorio(diccionario)); } XmlSerializador(diccionarioRep); EntidadRepo.Diccionarios diccionarioRepDom = XmlDeSerializador(); foreach (EntidadRepo.Diccionario dirRep in diccionarioRepDom.ListaDiccionarios) { if (dirRep.Id == diccionario.Id) { dicDom = MapearRepositorioConDiccionario(dirRep); break; } } return(dicDom); }