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(); }
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, }); }
internal static TranslateContentView GetPendingTranslates(int id) { PendingTranslate translate = DBHelper.GetPendingTranslate(id); return(ModelConverter.TranslateToView(translate)); }