Ejemplo n.º 1
0
        public IActionResult UpdateArray(TranslationGroupQuery query, IEnumerable <Translation> translationArray)
        {
            foreach (var translation in translationArray)
            {
                var found = _context.Translation.FirstOrDefault(t => t.ClientKey == translation.ClientKey &&
                                                                t.LanguageKey == translation.LanguageKey &&
                                                                t.ContainerKey == translation.ContainerKey &&
                                                                t.Key == translation.Key);


                // @note if not found, we create a new translation.
                if (found == null)
                {
                    _context.Translation.Add(translation);
                }
                else
                {
                    found.Key        = translation.Key;
                    found.Text       = translation.Text;
                    found.IsComplete = translation.IsComplete;
                    _context.Translation.Update(found);
                }

                _context.SaveChanges();
            }
            return(new StatusCodeResult(204));
        }
Ejemplo n.º 2
0
        public IActionResult UpdateArray([FromQuery] TranslationGroupQuery query, [FromBody] IEnumerable <Translation> translationArray)
        {
            if (query == null || translationArray == null || query.ClientKey != translationArray.First().ClientKey ||
                query.ContainerKey != translationArray.First().ContainerKey ||
                query.TranslationKey != translationArray.First().Key)
            {
                return(BadRequest());
            }

            return(_translationRepo.UpdateArray(query, translationArray));
        }
Ejemplo n.º 3
0
        public IActionResult DeleteGroup([FromQuery] TranslationGroupQuery query)
        {
            if (query == null || query.ClientKey == null ||
                query.ContainerKey == null ||
                query.TranslationKey == null)
            {
                return(BadRequest());
            }

            return(_translationRepo.DeleteGroup(query));
        }
Ejemplo n.º 4
0
        public IActionResult DeleteGroup(TranslationGroupQuery query)
        {
            var translationGroup = _context.Translation.Where(
                t => t.ClientKey == query.ClientKey &&
                t.ContainerKey == query.ContainerKey &&
                t.Key == query.TranslationKey);

            if (translationGroup == null)
            {
                return(new StatusCodeResult(404)); // Notfoundresult
            }
            _context.Translation.RemoveRange(translationGroup);
            _context.SaveChanges();
            return(new StatusCodeResult(200));
        }
Ejemplo n.º 5
0
 public IEnumerable <TranslationGroupMeta> GetGroupMeta(TranslationGroupQuery query)
 {
     return((from t in _context.Translation
             where t.ClientKey == query.ClientKey || query.ClientKey == null
             where t.ContainerKey == query.ContainerKey || query.ContainerKey == null
             where t.Key == query.TranslationKey || query.TranslationKey == null
             group t by t.Key
             into grp
             select new TranslationGroupMeta
     {
         Key = grp.Key,
         ClientKey = query.ClientKey,
         ContainerKey = query.ContainerKey,
         Items = grp.Select(t => new TranslationGroupMeta.Item
         {
             LanguageKey = t.LanguageKey,
             IsComplete = t.IsComplete
         }).ToArray()
     }).ToArray());
 }
Ejemplo n.º 6
0
 public IEnumerable <TranslationGroupMeta> GetGroupMeta([FromQuery] TranslationGroupQuery query)
 {
     return(_translationRepo.GetGroupMeta(query));
 }