예제 #1
0
        public HttpResponseMessage Post(BannerDTO value)
        {
            HttpResponseMessage result = null;

            try
            {
                var banner = bannerService.Add(value);
                result = Request.CreateResponse <Banner>(HttpStatusCode.OK, banner);
                string newItemURL = Url.Link("BannerApi", new { id = banner.Id });
                result.Headers.Location = new Uri(newItemURL);
            }
            catch (Exception ex)
            {
                Trace.TraceError(ex.Message, ex);
                result = Request.CreateResponse <string>(HttpStatusCode.InternalServerError, ex.Message);
            }

            return(result);
        }
예제 #2
0
        public async Task AddBanner_WithInvalidHtml_ShouldReturnErrorWithDescription()
        {
            var validationFailed = new ValidationResult(false, new List <string> {
                "Error"
            });

            _htmlValidator.Setup(x => x.Validate(It.IsAny <string>())).Returns(Task.FromResult(validationFailed));

            var bannerService = new BannerService(_htmlValidator.Object, _repository.Object);
            var bannerToAdd   = new CreateBannerModel
            {
                Html = "ABC123"
            };

            var result = await bannerService.Add(bannerToAdd);

            Assert.False(result.Sucessful);
            Assert.NotEmpty(result.Errors);
            Assert.Contains("Error", result.Errors);
        }
예제 #3
0
 /// <summary>
 /// 添加轮播图
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public TResult Add(BannerDto model)
 {
     return(_bannerService.Add(model));
 }