public void Can_Not_Handle_Response_Template_With_Default_Properties()
        {
            var responseTemplate = new ResponseTemplate();

            _strategy.CanHandle(responseTemplate)
            .Should().BeFalse();
        }
        public static MailTemplate GetTemplate(ResponseTemplate template)
        {
            var values = Values;

            switch (template)
            {
            case ResponseTemplate.MiniMailOnUnknownProvider:
                return(new MailTemplate(template, values.ResponseSubjectMiniMailOnUnknownProvider, values.ResponseBodyMiniMailOnUnknownProvider));

            case ResponseTemplate.MiniMailOnEmptyRecipients:
                return(new MailTemplate(template, values.ResponseSubjectMiniMailOnEmptyRecipients, values.ResponseBodyMiniMailOnEmptyRecipients));

            case ResponseTemplate.MiniMailOnMaxAttachment:
                return(new MailTemplate(template, values.ResponseSubjectMiniMailOnMaxAttachment, values.ResponseBodyMiniMailOnMaxAttachment));

            case ResponseTemplate.MiniMailOnAllowedExtensions:
                return(new MailTemplate(template, values.ResponseSubjectMiniMailOnAllowedExtensions, values.ResponseBodyMiniMailOnAllowedExtensions));

            case ResponseTemplate.MiniMailOnEmptyLetter:
                return(new MailTemplate(template, values.ResponseSubjectMiniMailOnEmptyLetter, values.ResponseBodyMiniMailOnEmptyLetter));

            default:
                throw new ArgumentOutOfRangeException("template");
            }
        }
Пример #3
0
        protected Activity ToAdaptiveCardForTaskDeletedFlow(
            List <TaskItem> todos,
            int allTasksCount,
            string taskContent,
            string listType,
            bool isDeleteAll)
        {
            var cardReply = BuildTodoCard(null, todos, allTasksCount, listType);

            var response = new ResponseTemplate();

            if (isDeleteAll)
            {
                response        = ResponseManager.GetResponseTemplate(DeleteToDoResponses.AfterAllTasksDeleted);
                cardReply.Speak = ResponseManager.Format(response.Reply.Speak, new StringDictionary()
                {
                    { "listType", listType }
                });
            }
            else
            {
                response        = ResponseManager.GetResponseTemplate(DeleteToDoResponses.AfterTaskDeleted);
                cardReply.Speak = ResponseManager.Format(response.Reply.Speak, new StringDictionary()
                {
                    { "taskContent", taskContent }, { "listType", listType }
                });
            }

            cardReply.Text = cardReply.Speak;
            return(cardReply);
        }
Пример #4
0
        public JsonResult Login(LoginRequestBody body)
        {
            User             user     = new User();
            ResponseTemplate response = null;

            if (!user.CheckIfEmailExist(body.Email))
            {
                response = new ResponseTemplate
                {
                    Status  = "404",
                    Message = "No User is registered with the email given."
                };
                return(Json(response));
            }
            user.RetrieveUserByEmail(body.Email);
            if (SingletonObjects.Hasher.CompareHash(user.Password.ToString(), Encoding.UTF8.GetBytes(body.Password.ToString())))
            {
                response = new ResponseTemplate
                {
                    Status  = "200",
                    Message = "Success"
                };
                Session.Add("User", user.UserGUID.ToString());
            }
            else
            {
                response = new ResponseTemplate
                {
                    Status  = "400",
                    Message = "Password is Incorrect"
                };
            }
            return(Json(response));
        }
        protected Activity ToAdaptiveCardForReadMore(
            ITurnContext turnContext,
            List <TaskItem> todos,
            int allTasksCount,
            string listType)
        {
            var cardReply = BuildTodoCard(turnContext, null, todos, allTasksCount, listType);

            // Build up speach
            var speakText = string.Empty;
            var response  = new ResponseTemplate();

            if (todos.Count == 1)
            {
                response  = ResponseManager.GetResponseTemplate(ShowToDoResponses.NextTask);
                speakText = response.Reply.Speak;
            }
            else if (todos.Count >= 2)
            {
                response  = ResponseManager.GetResponseTemplate(ShowToDoResponses.NextTasks);
                speakText = response.Reply.Speak;
            }

            speakText      += todos.ToSpeechString(CommonStrings.And, li => li.Topic);
            cardReply.Speak = speakText;

            return(cardReply);
        }
Пример #6
0
        public JsonResponseBodyStrategyTest()
        {
            _strategy = new JsonResponseBodyStrategy();

            _validJsonResponseTemplate = new ResponseTemplate {
                Body = JToken.Parse(UnindentedValidJson)
            };
        }
Пример #7
0
        public async Task <JsonResult> Logout()
        {
            HttpContext.Session.Remove("Token");
            ResponseTemplate response = new ResponseTemplate();

            response.Success = true;
            return(Json(response));
        }
Пример #8
0
        // GET
        public JsonResult AddCooper(Cooper cooper)
        {
            _db.Coopers.Add(cooper);
            var total = _db.SaveChanges();
            ResponseTemplate response = new ResponseTemplate();

            response.Data = total;
            return(Json(response));
        }
Пример #9
0
        /// <summary>
        /// 插入一条信息数据
        /// </summary>
        /// <param name="message"></param>
        /// <returns></returns>
        public JsonResult InsertMessage(Message message)
        {
            ResponseTemplate response = new ResponseTemplate();

            _db.Messages.Add(message);
            response.Data    = _db.SaveChanges();
            response.Success = true;
            return(Json(response));
        }
Пример #10
0
        /// <summary>
        /// 删除封面接口
        /// </summary>
        /// <param name="cover"></param>
        /// <returns></returns>
        public JsonResult DeleteCover(List <Image> covers)
        {
            _db.Images.RemoveRange(covers);
            ResponseTemplate response = new ResponseTemplate();

            response.Success = true;
            response.Data    = _db.SaveChanges();
            return(Json(response));
        }
Пример #11
0
        /// <summary>
        /// 删除留言
        /// </summary>
        /// <returns></returns>
        public JsonResult DeleteMessages(List <Message> messages)
        {
            ResponseTemplate response = new ResponseTemplate();

            _db.Messages.RemoveRange(messages);
            response.Data    = _db.SaveChanges();
            response.Success = true;
            return(Json(response));
        }
Пример #12
0
        public void Can_Not_Handle_Response_Template_With_Other_Content_Type()
        {
            var responseTemplate = new ResponseTemplate();

            responseTemplate.Headers.Add(HttpHeaders.ContentType, "any/content-type");

            _strategy.CanHandle(responseTemplate)
            .Should().BeFalse();
        }
Пример #13
0
        public void Can_Handle_Response_Template_With_Text_Xml_Content_Type()
        {
            var responseTemplate = new ResponseTemplate();

            responseTemplate.Headers.Add(HttpHeaders.ContentType, HttpContentTypes.TextXml);

            _strategy.CanHandle(responseTemplate)
            .Should().BeTrue();
        }
Пример #14
0
        public DefaultResponseBodyStrategyTest()
        {
            _strategy = new DefaultResponseBodyStrategy();

            _defaulResponseTemplate = new ResponseTemplate();

            _responseTemplateWithContentType = new ResponseTemplate();
            _responseTemplateWithContentType.Headers.Add(HttpHeaders.ContentType, HttpContentTypes.ApplicationJson);
        }
        public void Can_Not_Handle_Templates_With_Response_Body_Attribute_And_No_Content_Type()
        {
            var responseTemplate = new ResponseTemplate {
                Body = "randomdata"
            };

            _strategy.CanHandle(responseTemplate)
            .Should()
            .BeFalse();
        }
Пример #16
0
        /// <summary>
        /// 更新公司信息
        /// </summary>
        /// <param name="companyInfo"></param>
        /// <returns></returns>
        public async Task <JsonResult> UpdateCompanyInfo(CompanyInfo companyInfo)
        {
            _db.Company.Update(companyInfo);
            ResponseTemplate response = new ResponseTemplate();

            response.Success = true;
            response.Data    = await _db.SaveChangesAsync();

            return(Json(response));
        }
Пример #17
0
        /// <summary>
        /// 公司信息管理页面
        /// </summary>
        /// <returns></returns>
        public async Task <IActionResult> CompanyManager()
        {
            var data = await _db.Company.FirstOrDefaultAsync();

            ResponseTemplate response = new ResponseTemplate();

            response.Success = true;
            response.Data    = data;
            return(View(response));
        }
Пример #18
0
        /// <summary>
        /// 修改封面接口
        /// </summary>
        /// <param name="cover"></param>
        /// <returns></returns>
        public JsonResult UpdateCover(Image cover)
        {
            cover.ImageType = ImageType.Cover;
            _db.Images.Update(cover);
            ResponseTemplate response = new ResponseTemplate();

            response.Success = true;
            response.Data    = _db.SaveChanges();
            return(Json(response));
        }
Пример #19
0
        /// <summary>
        /// 已经阅读
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public JsonResult ReadMessage(int id)
        {
            ResponseTemplate response = new ResponseTemplate();
            var data = _db.Messages.SingleOrDefault(m => m.Id == id);

            data.IsRead      = IsRead.AlreadyRead;
            response.Success = true;
            response.Data    = _db.SaveChanges();
            return(Json(response));
        }
        public void Can_Handle_Templates_With_Response_File_Attribute()
        {
            var responseTemplate = new ResponseTemplate {
                File = "somefile.bin"
            };

            _strategy.CanHandle(responseTemplate)
            .Should()
            .BeTrue();
        }
Пример #21
0
        /// <summary>
        /// 批量删除新闻
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <JsonResult> DeleteNewses(List <News> newses)
        {
            _db.Newses.RemoveRange(newses);
            ResponseTemplate response = new ResponseTemplate();

            response.Data = await _db.SaveChangesAsync();

            response.Success = true;
            return(Json(response));
        }
        private async Task SetupResponseForOrderPlacedRequest(string id1, string id2 = null)
        {
            id2 = string.IsNullOrWhiteSpace(id2) ? "" : id2;

            var response = ResponseTemplate
                           .Replace("{Id1}", id1)
                           .Replace("{Id2}", id2);

            await SetupResponseForRequestToReturnBody("/", response, HttpMethod.Post);
        }
Пример #23
0
        public void Returns_Null_For_Null_Body()
        {
            var nullBodyResponseTemplate = new ResponseTemplate {
                Body = null
            };

            var response = _strategy.GetResponseBodyStringFromTemplate(nullBodyResponseTemplate);

            response.Should()
            .BeNull();
        }
Пример #24
0
        /// <summary>
        /// 插入新闻
        /// </summary>
        /// <param name="news"></param>
        /// <returns></returns>
        public async Task <JsonResult> InsertNews(News news)
        {
            news.NewsAuthor = HttpContext.Session.GetString("Token");
            _db.Newses.Add(news);
            ResponseTemplate response = new ResponseTemplate();

            response.Success = true;
            response.Data    = await _db.SaveChangesAsync();

            return(Json(response));
        }
        public async Task Returns_Null_For_Null_Body()
        {
            var nullBodyResponseTemplate = new ResponseTemplate {
                Body = null
            };

            var response = await _strategy.GetResponseBodyBytesFromTemplate(nullBodyResponseTemplate);

            response.Should()
            .BeNull();
        }
        public async Task Throws_When_Both_Body_And_File_Attributes_Are_Set()
        {
            var responseTemplate = new ResponseTemplate {
                File = "somefile.bin", Body = "randomdata"
            };

            Func <Task> action = async() => await _strategy.GetResponseBodyBytesFromTemplate(responseTemplate);

            await action.Should()
            .ThrowAsync <InvalidOperationException>();
        }
Пример #27
0
        public void Returns_Response_With_Indented_Valid_Xml_By_Default()
        {
            var responseTemplate = new ResponseTemplate();

            responseTemplate.Headers.Add(HttpHeaders.ContentType, HttpContentTypes.ApplicationXml);
            responseTemplate.Body = JToken.FromObject(UnindentedValidXml);

            var response = _strategy.GetResponseBodyStringFromTemplate(responseTemplate);

            response
            .Should().Be(IndentedValidXml);
        }
Пример #28
0
        /// <summary>
        /// 更新公司信息
        /// </summary>
        /// <param name="companyInfo"></param>
        /// <returns></returns>
        public async Task <JsonResult> UpdateCompanyLocation(PointDto point)
        {
            var company = await _db.Company.FirstOrDefaultAsync();

            company.Lng = point.Lng;
            company.Lat = point.Lat;
            ResponseTemplate response = new ResponseTemplate();

            response.Success = true;
            response.Data    = await _db.SaveChangesAsync();

            return(Json(response));
        }
        public void Can_Handle_Templates_With_Response_Body_Attribute_And_Application_Octet_Stream_Content_Type()
        {
            var responseTemplate = new ResponseTemplate
            {
                Headers = new StringDictionary {
                    { HttpHeaders.ContentType, HttpContentTypes.ApplicationOctetStream }
                },
                Body = "randomdata"
            };

            _strategy.CanHandle(responseTemplate)
            .Should()
            .BeTrue();
        }
        public async Task Returns_Response_For_Binary_File()
        {
            const string responseFilePath = "Templating/Response/mockaco.jpg";

            var responseTemplate = new ResponseTemplate {
                File = responseFilePath
            };

            var bodyBytes = await _strategy.GetResponseBodyBytesFromTemplate(responseTemplate);

            var fileBytes = await File.ReadAllBytesAsync(responseFilePath);

            bodyBytes.Should()
            .BeEquivalentTo(fileBytes);
        }