public JsonResult LoadPopupTrainer(long userId, UserLanguages userLanguages) { if (IsInvalid(userId, userLanguages)) { return(JsonResultHelper.Error()); } List <TrainerItem> items = GetOverdueItems(userId, userLanguages); return (JsonResultHelper.GetUnlimitedJsonResult( new { sourceLanguageId = userLanguages.From.Id, items, html = OurHtmlHelper.RenderRazorViewToString(ControllerContext, "PartialTrainer", new PartialTrainerParams { NeedShow = true, BtnClass = "btn-xs", LeftBtnContainerClass = "popup-knowledge-panel-mark-btn", CenterBtnContainerClass = "popup-knowledge-panel-mark-btn", RightBtnContainerClass = "popup-knowledge-panel-mark-btn", TrainerPanelClass = "", TagTitle = "h3", TagTranslation = "h4" }) })); }
public ActionResult CheckPurchasedGoods(long userId, string uniqueDownloadId) { if (IdGenerator.IsInvalidDownloadId(uniqueDownloadId)) { return(JsonResultHelper.Error()); } var purchasedGoogsQuery = new PurchasedGoodsQuery(); PurchasedGoods purchasedGoods = purchasedGoogsQuery.GetPaid(uniqueDownloadId); LoggerWrapper.LogTo(LoggerName.Errors).ErrorFormat( "PaymentController.Check. Пользователь {0} проверял уникальный идентификатор покупки {1}. Статус: {2}!", userId, uniqueDownloadId, purchasedGoods != null ? "ОПЛАЧЕНО" : "НЕ оплачен"); if (purchasedGoods == null) { return(JsonResultHelper.Error()); } string html = OurHtmlHelper.RenderRazorViewToString(ControllerContext, "PartialDownloadPurchasedGoods", new SuccessPaymentModel( purchasedGoods.ShortDescription, purchasedGoods.UniqueDownloadId, (GoodsId)purchasedGoods.GoodsId)); return(JsonResultHelper.GetUnlimitedJsonResult(new { success = true, result = html })); }
public JsonResult AddComment(long userId, long authorId, string key, string comment, int lastShowedComment) { if (IdValidator.IsInvalid(authorId) || string.IsNullOrWhiteSpace(comment) || WebSettingsConfig.Instance.IsSectionForbidden(SectionId.UserTasks)) { return(JsonResultHelper.Error()); } if (comment.Length > UserTasksSettings.COMMENT_MAX_LENGTH) { return(JsonResultHelper.Error()); } RepositoryFactory repositoryFactory = WebSettingsConfig.Instance.GetRepositoryFactory(); BanRepository banRepository = repositoryFactory.GetBanRepository(); var banHelper = new BanHelper(Request); bool isBanned = banHelper.IsBanned(SectionId.UserTasks, userId, banRepository); if (isBanned) { return(JsonResultHelper.Error()); } banHelper.RegisterEvent(SectionId.UserTasks, "AddComment", userId, banRepository); UserTasksRepository userTasksRepository = repositoryFactory.CreateUserRepository(authorId); //TODO: получить пользователя и если у него указано имя, то заполнить Author comment = OurHtmlHelper.PrepareStringFromUser(comment); //TODO: дописывать (автор) к имени пользователя var taskComment = new TaskComment { Author = null, AuthorId = userId, CreationDate = DateTime.Now.Ticks, Text = comment }; bool isAddedComment = userTasksRepository.AddComment(key, taskComment); List <TaskComment> comments = userTasksRepository.GetComments(key, lastShowedComment); SendMail(string.Format("Пользователь {0} оставил комментарий к таску {1} автора {2}:\r\n{3}", userId, key, authorId, comment)); var htmlItems = new StringBuilder(); foreach (TaskComment newComment in comments) { string item = OurHtmlHelper.RenderRazorViewToString(ControllerContext, "PartialTaskComment", newComment); htmlItems.Insert(0, item); } return (JsonResultHelper.GetUnlimitedJsonResult( new { success = isAddedComment, newComments = htmlItems.ToString(), countNewComments = comments.Count })); }
private static string GetHtml(ControllerContext controllerContext, KnowledgeDataType knowledgeDataType, List <SourceWithTranslation> items) { return(OurHtmlHelper.RenderRazorViewToString(controllerContext, "PartialKnowledgeItems", new Tuple <KnowledgeDataType, List <SourceWithTranslation> >( knowledgeDataType, items))); }
public JsonResult Load(long userId, UserLanguages userLanguages, long prevId) { if (IdValidator.IsInvalid(userId) || UserLanguages.IsInvalid(userLanguages) || IdValidator.IsInvalid(prevId)) { return(JsonResultHelper.Error(INVALID_DATA)); } IUserKnowledgeQuery userKnowledgeQuery = CreateUserKnowledgeQuery(userId); List <UserKnowledgeItem> items = GetData(userKnowledgeQuery, userLanguages, prevId); var htmlItems = new List <string>(); foreach (UserKnowledgeItem userKnowledgeItem in items ?? new List <UserKnowledgeItem>(0)) { string item = OurHtmlHelper.RenderRazorViewToString(ControllerContext, "PartialWallItem", userKnowledgeItem); htmlItems.Add(item); } return (JsonResultHelper.GetUnlimitedJsonResult( new { sourceLanguageId = userLanguages.From.Id, items = htmlItems })); }