Esempio n. 1
0
        public async Task <Response <Idioma> > UpdateDataAsync(Idioma idioma)
        {
            var traduccionesRepository = new TraduccionesRepository();

            foreach (var traduccion in idioma.Traducciones)
            {
                await traduccionesRepository.UpdateDataAsync(traduccion);
            }
            return(Response <Idioma> .Ok(idioma));
        }
Esempio n. 2
0
        public async Task <Response <List <Idioma> > > Get()
        {
            var traduccionesRepository = new TraduccionesRepository();
            var idiomas = await GetAsync();

            var traducciones = (await traduccionesRepository.Get(idiomas.Result));
            var keys         = (await traduccionesRepository.GetAllKeys());
            var keysToInsert = keys.Result.Where(p => !traducciones.Result.GroupBy(f => f.KeyValue).Any(h => h.Key == p.KeyValue));

            foreach (var traduccion in keysToInsert)
            {
                foreach (var idioma in idiomas.Result)
                {
                    try
                    {
                        await traduccionesRepository.InsertDataAsync(idioma, traduccion);
                    }
                    catch (Exception ex)
                    {
                    }
                }
            }


            traducciones = (await traduccionesRepository.Get(idiomas.Result));


            traducciones.Result.GroupBy(x => x.IdiomaId)
            .ToList()
            .ForEach(terminosInIdioma =>
            {
                var idioma = idiomas.Result.First(x => x.Id == terminosInIdioma.Key);
                idioma.SetTraducciones(terminosInIdioma.ToList());
            });
            return(idiomas);
        }