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)); }
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)); }
public IActionResult DeleteGroup([FromQuery] TranslationGroupQuery query) { if (query == null || query.ClientKey == null || query.ContainerKey == null || query.TranslationKey == null) { return(BadRequest()); } return(_translationRepo.DeleteGroup(query)); }
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)); }
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()); }
public IEnumerable <TranslationGroupMeta> GetGroupMeta([FromQuery] TranslationGroupQuery query) { return(_translationRepo.GetGroupMeta(query)); }