Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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);
            }
        }