예제 #1
0
 public ActionResult Login([FromBody] BodyParams body)
 {
     if (sqlHelper.Login(body.Username, body.Password))
     {
         return(Ok());
     }
     else
     {
         return(Unauthorized());
     }
 }
예제 #2
0
 public ActionResult AddChat([FromBody] BodyParams body)
 {
     if (sqlHelper.AddChat(body.RoomCode, body.Chat))
     {
         return(Ok());
     }
     else
     {
         return(BadRequest());
     }
 }
예제 #3
0
 public ActionResult CreateUser([FromBody] BodyParams body)
 {
     if (sqlHelper.CreateUser(body.Username, body.Password, body.FirstName, body.LastName))
     {
         return(Ok());
     }
     else
     {
         return(BadRequest());
     }
 }
 protected RestRequest(HttpMethod method, UrlParams urlParameters, HeaderParams headerParameters, QueryParams queryParameters,
                       BodyParams bodyParameters, DataParams dataParameters)
 {
     Method           = method;
     UrlParameters    = urlParameters.ThrowIfNull(nameof(urlParameters)).ToList();
     HeaderParameters = headerParameters.ThrowIfNull(nameof(headerParameters)).ToList();
     QueryParameters  = queryParameters.ThrowIfNull(nameof(queryParameters)).ToList();
     BodyParameters   = bodyParameters.ThrowIfNull(nameof(bodyParameters))
                        .Select(p => new FieldRequestData(p.Name, p.Value))
                        .Concat(dataParameters.ThrowIfNull(nameof(dataParameters)))
                        .ToList();
 }
예제 #5
0
        public ActionResult CreateRoom([FromBody] BodyParams body)
        {
            string roomCode = sqlHelper.CreateRoom(body.RoomInfo);

            if (roomCode != null)
            {
                return(Ok(new { roomCode }));
            }
            else
            {
                return(BadRequest());
            }
        }
        private void ButtonSelectConfigFile_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog fileDialog = new OpenFileDialog
            {
                InitialDirectory = Environment.CurrentDirectory,
                Filter           = "ini 配置文件|*.ini",
                Multiselect      = false,
            };

            if (fileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                ViewModel.ConfigFilePath = fileDialog.FileName;
            }
            ;
            PushMessage("加载配置文件中。\n");
            if (Workbook != null)
            {
                Workbook.Save();
                Workbook.Close();
                SheetName2ExcelSheet.Clear();
                SheetConfigModels.Clear();
                BodyParams.Clear();
                SubjectParams.Clear();
                MailToParams.Clear();
                OutPutText.Clear();
                ParamsDict.Clear();
                buttonStart.Click        -= ButtonStart_Click;
                buttonSendTestMail.Click -= ButtonSendTestMail_Click;
            }
            bool loadSuccess = LoadConfig();

            if (loadSuccess)
            {
                buttonStart.Click        += ButtonStart_Click;
                buttonSendTestMail.Click += ButtonSendTestMail_Click;
            }
        }
        public override LocalDeclarationStatementSyntax GetSyntax()
        {
            var paramArgList = new List <SyntaxNodeOrToken>();

            paramArgList.Add(GetLiteralArg("path", Path));
            paramArgList.Add(SyntaxFactory.Token(SyntaxKind.CommaToken));

            if (PathParams.Any())
            {
                paramArgList.Add(GetVariableArg("pathParams", "pathParams"));
                paramArgList.Add(SyntaxFactory.Token(SyntaxKind.CommaToken));
            }

            if (QueryParams.Any())
            {
                paramArgList.Add(GetVariableArg("queryParams", "queryParams"));
                paramArgList.Add(SyntaxFactory.Token(SyntaxKind.CommaToken));
            }

            if (BodyParams.Any())
            {
                paramArgList.Add(GetVariableArg("bodyParams", "bodyParams"));
                paramArgList.Add(SyntaxFactory.Token(SyntaxKind.CommaToken));
            }

            paramArgList.Add(GetMemberAccessArg("method", "HttpMethods", HttpMethod));

            return(SyntaxFactory.LocalDeclarationStatement(
                       SyntaxFactory.VariableDeclaration(
                           SyntaxFactory.GenericName(
                               SyntaxFactory.Identifier("Func"))
                           .WithTypeArgumentList(
                               SyntaxFactory.TypeArgumentList(
                                   SyntaxFactory.SeparatedList <TypeSyntax>(
                                       new SyntaxNodeOrToken[] {
                SyntaxFactory.IdentifierName(ListOptionsName),
                SyntaxFactory.Token(SyntaxKind.CommaToken),
                SyntaxFactory.GenericName(
                    SyntaxFactory.Identifier("Task"))
                .WithTypeArgumentList(
                    SyntaxFactory.TypeArgumentList(
                        SyntaxFactory.SingletonSeparatedList <TypeSyntax>(
                            SyntaxFactory.GenericName(
                                SyntaxFactory.Identifier("ResponsePage"))
                            .WithTypeArgumentList(
                                SyntaxFactory.TypeArgumentList(
                                    SyntaxFactory.SingletonSeparatedList <TypeSyntax>(
                                        SyntaxFactory.IdentifierName(Returns)))))))
            }))))
                       .WithVariables(
                           SyntaxFactory.SingletonSeparatedList <VariableDeclaratorSyntax>(
                               SyntaxFactory.VariableDeclarator(
                                   SyntaxFactory.Identifier("paginatedFunc"))
                               .WithInitializer(
                                   SyntaxFactory.EqualsValueClause(
                                       SyntaxFactory.ParenthesizedLambdaExpression(
                                           getFunctionBlock(paramArgList)
                                           )
                                       .WithAsyncKeyword(
                                           SyntaxFactory.Token(SyntaxKind.AsyncKeyword))
                                       .WithParameterList(
                                           SyntaxFactory.ParameterList(
                                               SyntaxFactory.SingletonSeparatedList <ParameterSyntax>(
                                                   SyntaxFactory.Parameter(
                                                       SyntaxFactory.Identifier("_options"))
                                                   .WithType(
                                                       SyntaxFactory.IdentifierName(ListOptionsName)))))))))));
        }
        /// <summary>
        /// 加载配置文件
        /// </summary>
        /// <returns></returns>
        private bool LoadConfig()
        {
            string configPath = ViewModel.ConfigFilePath;

            if (File.Exists(configPath))
            {
                try
                {
                    MainConfigModel = new MainConfigModel
                    {
                        FilePath              = IniFileReadUtil.ReadIniData("Main", "FilePath", null, configPath),
                        SuccessSimple         = IniFileReadUtil.ReadIniData("Main", "SuccessSimple", null, configPath),
                        SuccessSimpleLocation = IniFileReadUtil.ReadIniData("Main", "SuccessSimpleLocation", null, configPath),
                        SheetNames            = IniFileReadUtil.ReadIniData("Main", "SheetNames", null, configPath).Split(',').ToList(),
                        MainSheetName         = IniFileReadUtil.ReadIniData("Main", "MainSheetName", null, configPath),
                        TemplatePath          = IniFileReadUtil.ReadIniData("Main", "TemplatePath", null, configPath),
                        BodyParamCount        = int.Parse(IniFileReadUtil.ReadIniData("Main", "BodyParamCount", null, configPath)),
                        SubjectParamCount     = int.Parse(IniFileReadUtil.ReadIniData("Main", "SubjectParamCount", null, configPath)),
                        MailToParamCount      = int.Parse(IniFileReadUtil.ReadIniData("Main", "MailToParamCount", null, configPath)),
                        AttachmentCount       = int.Parse(IniFileReadUtil.ReadIniData("Main", "AttachmentCount", null, configPath)),
                    };
                    MailConfigModel = new MailConfigModel
                    {
                        MailTo       = IniFileReadUtil.ReadIniData("Mail", "MailTo", null, configPath),
                        MailAddress  = IniFileReadUtil.ReadIniData("Mail", "MailAddress", null, configPath),
                        MailPassword = IniFileReadUtil.ReadIniData("Mail", "MailPassword", null, configPath),
                        MailSubject  = IniFileReadUtil.ReadIniData("Mail", "MailSubject", null, configPath),
                        SMTPAddress  = IniFileReadUtil.ReadIniData("Mail", "SMTPAddress", null, configPath),
                        Port         = int.Parse(IniFileReadUtil.ReadIniData("Mail", "Port", null, configPath)),
                        EnableSsl    = bool.Parse(IniFileReadUtil.ReadIniData("Mail", "EnableSsl", null, configPath)),
                        Priority     = int.Parse(IniFileReadUtil.ReadIniData("Mail", "Priority", null, configPath)),
                    };
                    foreach (var sheetName in MainConfigModel.SheetNames)
                    {
                        SheetConfigModel sheetConfigModel = new SheetConfigModel
                        {
                            StartingLine           = int.Parse(IniFileReadUtil.ReadIniData(sheetName, "StartingLine", null, configPath)),
                            EndLine                = int.Parse(IniFileReadUtil.ReadIniData(sheetName, "EndLine", null, configPath)),
                            UniquelyIdentifiesLine = IniFileReadUtil.ReadIniData(sheetName, "UniquelyIdentifiesLine", null, configPath),
                        };
                        SheetConfigModels[sheetName] = sheetConfigModel;
                    }
                    for (int i = 0; i < MainConfigModel.BodyParamCount; i++)
                    {
                        BodyParams.Add(IniFileReadUtil.ReadIniData("BodyParams", i.ToString(), null, configPath));
                    }
                    for (int i = 0; i < MainConfigModel.SubjectParamCount; i++)
                    {
                        SubjectParams.Add(IniFileReadUtil.ReadIniData("SubjectParams", i.ToString(), null, configPath));
                    }
                    for (int i = 0; i < MainConfigModel.MailToParamCount; i++)
                    {
                        MailToParams.Add(IniFileReadUtil.ReadIniData("MailToParams", i.ToString(), null, configPath));
                    }
                    for (int i = 0; i < MainConfigModel.AttachmentCount; i++)
                    {
                        Attachments.Add(IniFileReadUtil.ReadIniData("Attachments", i.ToString(), null, configPath));
                    }
                    //加载工作簿相关内容
                    Workbook = LoadWorkbook(MainConfigModel.FilePath);
                    foreach (var sheetName in MainConfigModel.SheetNames)
                    {
                        SheetName2ExcelSheet[sheetName] = LoadWorksheet(Workbook, sheetName);
                    }
                    PushMessage("读取成功。\n");
                    return(true);
                }
                catch (Exception ex)
                {
                    PushMessage("读取失败。\n");
                    PushMessage(ex.Message + "\n");
                    return(false);
                }
            }
            else
            {
                PushMessage("找不到配置文件!\n");
                return(false);
            }
        }
        public override StatementSyntax GetSyntax()
        {
            var paramArgList = new List <SyntaxNodeOrToken>();

            paramArgList.Add(GetLiteralArg("path", Path));
            paramArgList.Add(SyntaxFactory.Token(SyntaxKind.CommaToken));

            if (PathParams.Any())
            {
                paramArgList.Add(GetVariableArg("pathParams", "pathParams"));
                paramArgList.Add(SyntaxFactory.Token(SyntaxKind.CommaToken));
            }

            if (QueryParams.Any())
            {
                paramArgList.Add(GetVariableArg("queryParams", "queryParams"));
                paramArgList.Add(SyntaxFactory.Token(SyntaxKind.CommaToken));
            }

            if (FileParams.Any())
            {
                paramArgList.Add(GetVariableArg("fileParams", "fileParams"));
                paramArgList.Add(SyntaxFactory.Token(SyntaxKind.CommaToken));
            }

            if (FormParams.Any())
            {
                paramArgList.Add(GetVariableArg("formParams", "formParams"));
                paramArgList.Add(SyntaxFactory.Token(SyntaxKind.CommaToken));
            }

            if (BodyParams.Any(b => b.External != true))
            {
                paramArgList.Add(GetVariableArg("bodyParams", "bodyParams"));
                paramArgList.Add(SyntaxFactory.Token(SyntaxKind.CommaToken));
            }

            if (BodyParams.Any(b => b.External == true && !b.Key.EndsWith("request")))
            {
                paramArgList.Add(GetVariableArg("externalBodyParams", "externalBodyParams"));
                paramArgList.Add(SyntaxFactory.Token(SyntaxKind.CommaToken));
            }

            if (HasRequest)
            {
                paramArgList.Add(GetVariableArg("request", "objectToUnpack"));
                paramArgList.Add(SyntaxFactory.Token(SyntaxKind.CommaToken));
            }

            paramArgList.Add(GetMemberAccessArg("method", "HttpMethods", HttpMethod));

            var statementBody = SyntaxFactory.AwaitExpression(
                SyntaxFactory.InvocationExpression(
                    SyntaxFactory.MemberAccessExpression(
                        SyntaxKind.SimpleMemberAccessExpression,
                        SyntaxFactory.IdentifierName("Client"),
                        SyntaxFactory.GenericName(
                            SyntaxFactory.Identifier("CallApi"))
                        .WithTypeArgumentList(
                            SyntaxFactory.TypeArgumentList(
                                SyntaxFactory.SingletonSeparatedList <TypeSyntax>(
                                    SyntaxFactory.IdentifierName(Returns))))))
                .WithArgumentList(
                    SyntaxFactory.ArgumentList(
                        SyntaxFactory.SeparatedList <ArgumentSyntax>(
                            paramArgList.ToArray()
                            ))));

            if (IsVoidTask)
            {
                return(SyntaxFactory.ExpressionStatement(statementBody));
            }

            return(SyntaxFactory.ReturnStatement(statementBody));
        }
        protected List <StatementSyntax> GetMethodBodyParams(bool ignoreQuery = false)
        {
            var methodBody = new List <StatementSyntax>();

            if (PathParams.Any())
            {
                var pathDeclaration = new DictionaryParamaterLocalDeclarationSyntax
                {
                    Name     = "pathParams",
                    MyParams = PathParams,
                }.GetSyntax();

                methodBody.Add(pathDeclaration);
            }

            if (QueryParams.Any() && !ignoreQuery)
            {
                var queryParamDeclaration = new DictionaryParamaterLocalDeclarationSyntax
                {
                    Name     = "queryParams",
                    MyParams = QueryParams,
                }.GetSyntax();

                methodBody.Add(queryParamDeclaration);
            }

            if (FileParams.Any())
            {
                var fileParamDeclaration = new DictionaryParamaterLocalDeclarationSyntax
                {
                    Name     = "fileParams",
                    MyParams = FileParams,
                    VarType  = "Stream",
                }.GetSyntax();

                methodBody.Add(fileParamDeclaration);
            }

            if (FormParams.Any())
            {
                var formParamDeclaration = new DictionaryParamaterLocalDeclarationSyntax
                {
                    Name     = "formParams",
                    MyParams = FormParams,
                }.GetSyntax();

                methodBody.Add(formParamDeclaration);
            }

            if (BodyParams.Any(b => b.External != true))
            {
                var bodyParamDeclaration = new BodyParameterContainer
                {
                    Name       = "bodyParams",
                    BodyType   = UseAnnonBody ? "Annonymous" : Returns,
                    BodyParams = BodyParams.Where(b => b.External != true && !b.Key.EndsWith("request")).ToList(),
                }.GetSyntax();

                methodBody.Add(bodyParamDeclaration);
            }

            // add external body params
            if (BodyParams.Any(b => b.External == true && !b.Key.EndsWith("request")))
            {
                var bodyParamDeclaration = new BodyParameterContainer
                {
                    Name       = "externalBodyParams",
                    BodyType   = "Annonymous",
                    BodyParams = BodyParams.Where(b => b.External == true && !b.Key.EndsWith("request")).ToList(),
                }.GetSyntax();

                methodBody.Add(bodyParamDeclaration);
            }

            return(methodBody);
        }
예제 #11
0
 /// <summary>
 /// Create a new multipart POST request.
 /// </summary>
 /// <param name="urlParams">The parameters in the URL.</param>
 /// <param name="headerParams">The parameters in the HTTP headerParams.</param>
 /// <param name="bodyParams">The parameters in the HTTP body.</param>
 /// <param name="dataParams">The data parameters.</param>
 protected MultipartPostRestRequest(UrlParams urlParams, HeaderParams headerParams, BodyParams bodyParams, DataParams dataParams)
     : base(HttpMethod.Post, urlParams, headerParams, bodyParams, dataParams) { }
예제 #12
0
 /// <summary>
 /// Create a new REST request whose body is a JSON object containing the parameters.
 /// </summary>
 /// <param name="method">The method to use.</param>
 /// <param name="urlParameters">The URL parameters.</param>
 /// <param name="headers">The header parameters.</param>
 /// <param name="body">The body parameters.</param>
 protected JsonRestRequest(HttpMethod method, UrlParams urlParameters, HeaderParams headers, BodyParams body)
     : base(method, urlParameters, headers, QueryParams.Empty, body, DataParams.Empty)
 {
 }
 /// <summary>
 /// Create a new <see cref="JsonPostRestRequest"/>.
 /// </summary>
 /// <param name="urlParameters">The URL parameters.</param>
 /// <param name="headers">The header parameters.</param>
 /// <param name="body">The body parameters.</param>
 protected JsonPostRestRequest(UrlParams urlParameters, HeaderParams headers, BodyParams body)
     : base(HttpMethod.Post, urlParameters, headers, body)
 {
 }
 /// <summary>
 /// Create a new MultipartRequest.
 /// </summary>
 /// <param name="method">The HTTP method for this request.</param>
 /// <param name="urlParams">Template replacements for an API's URL.</param>
 /// <param name="headers">HTTP headers to add to the request.</param>
 /// <param name="post">Parameters for the body.</param>
 /// <param name="data">File references to be sent as part of the request.</param>
 protected MultipartRestRequest(HttpMethod method, UrlParams urlParams, HeaderParams headers, BodyParams post, DataParams data) :
     base(method, urlParams, headers, QueryParams.Empty, post, data)
 {
 }