Beispiel #1
0
        public ActionResult Destroy(int id, string language)
        {
            var translator  = TranslatorService.FindByEmail(HttpContext.User.Identity.Name);
            var translation = TranslationService.FindByKeyForTranslator(id, language, translator);

            if (translation == null)
            {
                return(HttpNotFound());
            }

            if (translation.Translator != translator)
            {
                return(new HttpUnauthorizedResult());
            }

            if (translation.IsPublished == false)
            {
                int setId = translation.Key.Set.Id;
                int keyId = translation.Key.Id;

                using (var t = DbSession.BeginTransaction())
                {
                    DbSession.Delete(translation);

                    t.Commit();
                }

                return(TranslationRow(setId, language, keyId));
            }

            return(TranslationRow(translation));
        }