Пример #1
0
        internal static void ApproveTranslate(int id)
        {
            var context = ApplicationDbContext.Create();
            PendingTranslate translate = GetPendingTranslate(id, context);
            var document = new HtmlDocument();

            document.LoadHtml(translate.Data);
            var user = DBHelper.GetUser(translate.ApplicationUserId, context);

            document.DocumentNode.FirstChild.InnerHtml = document.DocumentNode.FirstChild.InnerHtml + "<span class=\"contributor\">" + user.Email + "</span>";
            context.TranslatedContents.Add(new TranslatedContent
            {
                ApplicationUserId = translate.ApplicationUserId,
                BookId            = translate.BookId,
                Code     = translate.Code,
                Data     = translate.Data,
                Id       = translate.Id,
                Location = translate.Location
            });

            if (translate.ApplicationUserId != null)
            {
                var    regex = new Regex("<[^>]+>", RegexOptions.IgnoreCase);
                string raw   = System.Web.HttpUtility.HtmlDecode((regex.Replace(translate.Data, ""))).Trim();

                int expGain = raw.Split(' ').Count();

                AddUserEXP(translate.ApplicationUserId, expGain);
                AddUserCIF(translate.ApplicationUserId, expGain);
            }

            context.PendingTranslates.Remove(translate);
            context.SaveChanges();
        }
Пример #2
0
 public static TranslateContentView TranslateToView(PendingTranslate translate)
 {
     return(new TranslateContentView
     {
         BookId = translate.BookId,
         Code = translate.Code,
         Data = translate.Data,
         Id = translate.Id,
         Location = translate.Location,
         UserId = translate.ApplicationUserId,
     });
 }
Пример #3
0
        internal static TranslateContentView GetPendingTranslates(int id)
        {
            PendingTranslate translate = DBHelper.GetPendingTranslate(id);

            return(ModelConverter.TranslateToView(translate));
        }