Beispiel #1
0
        public async Task <ActionResultResponse <string> > Insert(string tenantId, FeedbackMeta feedbackMeta)
        {
            var unsignNameMeta = feedbackMeta.FullName + " " + feedbackMeta.PhoneNumber + " " + feedbackMeta.Email + " " +
                                 feedbackMeta.Title;

            var feedBack = new Feedback
            {
                Email       = feedbackMeta.Email,
                PhoneNumber = feedbackMeta.PhoneNumber,
                FullName    = feedbackMeta.FullName,
                Title       = feedbackMeta.Title,
                Content     = feedbackMeta.Content,
                IsView      = feedbackMeta.IsView,
                UnsignName  = unsignNameMeta.StripVietnameseChars(),
                TenantId    = tenantId
            };

            var result = await _feedbackRepository.Insert(feedBack);

            if (result <= 0)
            {
                return(new ActionResultResponse <string>(result,
                                                         _sharedResourceService.GetString(ErrorMessage.SomethingWentWrong)));
            }

            return(new ActionResultResponse <string>(1,
                                                     _websiteResourceService.GetString("Add new feedback successful."),
                                                     string.Empty, feedBack.Id));
        }
Beispiel #2
0
        public async Task <ActionResultResponse <string> > Insert(string tenantId, FeedbackMeta feedbackMeta)
        {
            var unsignNameMeta = feedbackMeta.FullName + " " + feedbackMeta.PhoneNumber + " " + feedbackMeta.Email + " " +
                                 feedbackMeta.Title;

            var feedBack = new Feedback
            {
                Id               = Guid.NewGuid().ToString(),
                Email            = feedbackMeta.Email.Trim(),
                FullName         = feedbackMeta.FullName.Trim(),
                PhoneNumber      = feedbackMeta.PhoneNumber.Trim(),
                Title            = feedbackMeta.Title.Trim(),
                Content          = feedbackMeta.Content.Trim(),
                IsView           = feedbackMeta.IsView,
                UnsignName       = unsignNameMeta.StripVietnameseChars(),
                TenantId         = tenantId,
                ConcurrencyStamp = Guid.NewGuid().ToString(),
                CreateTime       = DateTime.Now
            };

            var result = await InsertAsync(feedBack);

            if (result <= 0)
            {
                return(new ActionResultResponse <string>(result,
                                                         _websiteResourceService.GetString(ErrorMessage.SomethingWentWrong)));
            }

            return(new ActionResultResponse <string>(1,
                                                     _websiteResourceService.GetString("Add new feedback successful."),
                                                     string.Empty, feedBack.Id));
        }
Beispiel #3
0
        public async Task <IActionResult> Update(string id, [FromBody] FeedbackMeta feedbackMeta)
        {
            var result = await _feedbackService.Update(CurrentUser.TenantId, id, feedbackMeta);

            if (result.Code <= 0)
            {
                return(BadRequest(result));
            }

            return(Ok(result));
        }
Beispiel #4
0
        public async Task <IActionResult> Insert(string tenantId, [FromBody] FeedbackMeta feedbackMeta)
        {
            var result = await _feedbackService.Insert(tenantId, feedbackMeta);

            if (result.Code <= 0)
            {
                return(BadRequest(result));
            }

            return(Ok(result));
        }
Beispiel #5
0
        public async Task <JsonResult> Send(FeedbackMeta feedback)
        {
            if (!ModelState.IsValid)
            {
                return(Json(GetErrorsInModelState()));
            }

            var apiService = _configuration.GetApiServiceInfo();

            var feedbackMetaData = JsonConvertHelper.GetObjectFromObject <GHM.WebsiteClient.Api.Domain.ModelMetas.FeedbackMeta>(feedback);
            var result           = await _feedbackService.Insert(apiService.TenantId, feedbackMetaData);

            return(Json(result));
        }
Beispiel #6
0
        public async Task <JsonResult> Send(string fullName, string phoneNumber, string email, string title, string content)
        {
            if (string.IsNullOrWhiteSpace(fullName))
            {
                return(Json(-1));
            }
            if (string.IsNullOrWhiteSpace(phoneNumber))
            {
                return(Json(-2));
            }

            var emailPattern = "^([0-9a-zA-Z]([-\\.\\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\\w]*[0-9a-zA-Z]\\.)+[a-zA-Z]{2,9})$";

            if (!string.IsNullOrWhiteSpace(email) && !Regex.IsMatch(email, emailPattern))
            {
                return(Json(-3));
            }

            //if (string.IsNullOrWhiteSpace(title))
            //{
            //    return Json(-4);
            //}

            if (string.IsNullOrWhiteSpace(content))
            {
                return(Json(-5));
            }
            var requestUrl   = _configuration.GetApiUrl();
            var apiService   = _configuration.GetApiServiceInfo();
            var feedbackMeta = new FeedbackMeta
            {
                FullName    = fullName,
                PhoneNumber = phoneNumber,
                Email       = email,
                Title       = title,
                Content     = content,
            };

            var feedbackMetaData = JsonConvert.DeserializeObject <GHM.WebsiteClient.Api.Domain.ModelMetas.FeedbackMeta>(JsonConvert.SerializeObject(feedbackMeta));

            //var result = await new HttpClientService()
            //    .PostAsync<ActionResultResponse<string>>($"{requestUrl.ApiGatewayUrl}/api/v1/website/feedbacks/{apiService.TenantId}", feedbackMeta);
            var result = await _feedbackService.Insert(apiService.TenantId, feedbackMetaData);

            return(Json(result));
        }
Beispiel #7
0
        public async Task <ActionResultResponse <string> > Update(string tenantId, string id, FeedbackMeta feedbackMeta)
        {
            var info = await _feedbackRepository.GetInfo(id, false);

            if (info == null)
            {
                return(new ActionResultResponse <string>(-1, "Feed back does not exist"));
            }

            info.ConcurrencyStamp = Guid.NewGuid().ToString();
            info.IsView           = feedbackMeta.IsView;
            return(await _feedbackRepository.Update(info) < 0 ? new ActionResultResponse <string>(-5, _sharedResourceService.GetString(ErrorMessage.SomethingWentWrong))
                : new ActionResultResponse <string>(1, _websiteResourceService.GetString("Feed back update successfully"), "", info.ConcurrencyStamp));
        }