public async Task <JsonResult> Comment(CommentMeta commentMeta) { if (!ModelState.IsValid) { return(Json(GetErrorsInModelState())); } var apiService = _configuration.GetApiServiceInfo(); var listSettings = await _settingService.GetWebsiteSettingsAsync(apiService.TenantId, CultureInfo.CurrentCulture.Name); var settings = listSettings.Items.Select(x => new Setting { Key = x.Key, ConcurrencyStamp = x.ConcurrencyStamp, DisplayName = x.DisplayName, GroupId = x.GroupId, LanguageId = x.LanguageId, Value = x.Value }).ToList(); var websiteSetting = new WebsiteSetting(); string convention = typeof(WebsiteSetting).Namespace; var commentNotAllow = Common.GetSettingValue(settings, string.Format("{0}.CommentNotAllow", convention)); if (!string.IsNullOrEmpty(commentNotAllow)) { var listComment = commentNotAllow.Split(','); if (listComment != null && listComment.Any()) { foreach (var comment in listComment) { if (commentMeta.Content.Contains(comment)) { return(Json($"Bạn không được phép bình luận từ {comment}")); } } } } var commentMetaData = JsonConvertHelper.GetObjectFromObject <WebsiteClient.Api.Domain.ModelMetas.CommentMeta>(commentMeta); commentMetaData.TenantId = apiService.TenantId; var result = await _feedbackService.InsertComment(commentMetaData); return(Json(result)); }
public async Task <int> InsertComment(CommentMeta commentMeta) { try { using (SqlConnection con = new SqlConnection(_connectionString)) { if (con.State == ConnectionState.Closed) { await con.OpenAsync(); } DynamicParameters param = new DynamicParameters(); param.Add("@TenantId", commentMeta.TenantId); param.Add("@Email", commentMeta.Email); param.Add("@ObjectId", commentMeta.ObjectId); param.Add("@ObjectType", commentMeta.ObjectType); param.Add("@FullName", commentMeta.FullName); param.Add("@Email", commentMeta.Email); param.Add("@Avartar", commentMeta.Avatar); param.Add("@Content", commentMeta.Content); param.Add("@ParentId", commentMeta.ParentId); param.Add("@UserId", commentMeta.UserId); param.Add("@UserType", commentMeta.UserType); param.Add("@Url", commentMeta.Url); var result = con.Query <int>("[dbo].[Comment_Insert]", param, commandType: CommandType.StoredProcedure).FirstOrDefault(); return(result); } } catch (Exception ex) { _logger.LogError(ex, "[dbo].[spAgencyInfos_Insert] InsertAsync AgencyInfoRepository Error."); return(-1); } }