Example #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="body"></param>
        /// <returns>BsCreateViewModel</returns>
        public BsCreateViewModel Post(BsCreateViewModel body)
        {
            var path = "/api/v1/Bs";

            path = path.Replace("{format}", "json");

            var    queryParams  = new Dictionary <String, String>();
            var    headerParams = new Dictionary <String, String>();
            var    formParams   = new Dictionary <String, String>();
            var    fileParams   = new Dictionary <String, FileParameter>();
            String postBody     = null;

            postBody = ApiClient.Serialize(body); // http body (model) parameter

            // authentication setting, if any
            String[] authSettings = new String[] { };

            // make the HTTP request
            IRestResponse response = (IRestResponse)ApiClient.CallApi(path, Method.POST, queryParams, postBody, headerParams, formParams, fileParams, authSettings);

            if (((int)response.StatusCode) >= 400)
            {
                throw new ApiException((int)response.StatusCode, "Error calling Post: " + response.Content, response.Content);
            }
            else if (((int)response.StatusCode) == 0)
            {
                throw new ApiException((int)response.StatusCode, "Error calling Post: " + response.ErrorMessage, response.ErrorMessage);
            }

            return((BsCreateViewModel)ApiClient.Deserialize(response.Content, typeof(BsCreateViewModel), response.Headers));
        }
Example #2
0
        public async Task <IActionResult> AddBs([FromBody][SwaggerParameter(Description = "BS Item", Required = true)]
                                                BsCreateViewModel item)
        {
            try
            {
                var bsItemAddResult = await _bsButtonService.AddBsItem(item);

                if (!bsItemAddResult.IsSuccess)
                {
                    return(StatusCode(StatusCodes.Status400BadRequest));
                }
                if (bsItemAddResult.ReturnValue == null)
                {
                    return(StatusCode(StatusCodes.Status404NotFound));
                }
                return(Ok(bsItemAddResult.ReturnValue));
            }
            catch (Exception ex)
            {
                _logger.LogCritical(ex, ex.Message);
                return(StatusCode(StatusCodes.Status400BadRequest));
            }
        }
Example #3
0
        public IActionResult CreateView(BsCreateViewModel viewModel)
        {
            var result = Api.Post(viewModel);

            return(RedirectToAction("Index"));
        }
Example #4
0
        public async Task <MethodResultValue <BsVerifyViewModel> > AddBsItem(BsCreateViewModel item)
        {
            var result     = new MethodResultValue <BsVerifyViewModel>();
            var reasonCode = await QueryRepository.GetReasonCodeAsync(item.ReportReasonCode);

            if (reasonCode == null)
            {
                reasonCode = new BsReasonCode
                {
                    ReasonCode     = BsButtonQueryRepository.OtherValue,
                    ReasonCodeGuid = Guid.NewGuid(),
                    ReasonCodeText = BsButtonQueryRepository.OtherValue
                };
                var addResult = await CommandRepository.Add <BsReasonCode>(reasonCode);

                var saveBsReasonCodeResult = await CommandRepository.SaveChangesAsync();

                reasonCode = addResult.ReturnValue;
            }
            var reason = new BsReason
            {
                ReasonCodeId = reasonCode.ReasonCodeId,
                ReasonGuid   = Guid.NewGuid(),
                ReasonText   = item.ReportReason
            };
            var reasonResult = await CommandRepository.Add(reason);

            var reasonSaveResult = await CommandRepository.SaveChangesAsync();

            var socialMediaSource = await QueryRepository.GetSocialMediaSource(item.ReportedFrom);

            if (socialMediaSource == null)
            {
                socialMediaSource = new BsSocialMediaSource()
                {
                    SourceCodeGuid = Guid.NewGuid(),
                    SourceCodeName = BsButtonQueryRepository.OtherValue
                };
                var addSocialResult = await CommandRepository.Add <BsSocialMediaSource>(socialMediaSource);

                var saveSocialRResult = await CommandRepository.SaveChangesAsync();

                socialMediaSource = addSocialResult.ReturnValue;
            }

            var source = new BsSource
            {
                SourceGuid = Guid.NewGuid(), SocialMediaSourceId = socialMediaSource.SourceCodeId, SourceUrl = item.ReportedFromUrl
            };
            var sourceResult = await CommandRepository.Add(source);

            var sourceSaveResult = await CommandRepository.SaveChangesAsync();

            var unconfirmedReport = new BsUnconfirmedReport
            {
                ReportGuid           = Guid.NewGuid(),
                SourceId             = source.SocialMediaSourceId,
                ReasonId             = reason.ReasonCodeId,
                ReportReason         = item.ReportReason,
                ReportedDateTime     = item.ReportedDateTime,
                ReportText           = item.ReportText,
                ReporterUserName     = item.ReporterUserName,
                ReportedNameOfPoster = item.ReportedNameOfPoster
            };
            var addReportResult = await CommandRepository.Add(unconfirmedReport);

            var saveResult = await CommandRepository.SaveChangesAsync();

            var vm = new BsVerifyViewModel {
                ReportReason = addReportResult.ReturnValue.ReportReason
            };

            result.ReturnValue = vm;
            return(result);
        }