Exemple #1
0
        public static async Task <DataSet> ExcuteAsync(RequestCollection requests, string session)
        {
            var response = new DataSet();

            SqlTransaction transaction   = null;
            string         connectString = string.Format(@"Server={0};User Id=sa;
Password=@Dkcnyh20081992;", servername);


            using (SqlConnection connection = new SqlConnection(connectString))
            {
                try
                {
                    await connection.OpenAsync();

                    transaction = connection.BeginTransaction();

                    foreach (var request in requests)
                    {
                        var category   = request["Attributes"]["Category"].Value;
                        var command    = request["Attributes"]["Command"].Value;
                        var parameters = request["Parameters"];

                        if (1 == 1 || command.StartsWith("sp_"))
                        {
                            if (ProcessNative(session, category, command, parameters, response) == false)
                            {
                                await ProcessSqlAsync(connection, transaction, session, category, command, parameters, response);
                            }
                        }
                    }

                    transaction.Commit();
                    connection.Close();
                }
                catch (Exception e)
                {
                    var table = new DataTable("Error");
                    table.Columns.Add("Message");
                    table.Columns.Add("Source");
                    table.Columns.Add("StackTrace");
                    table.Columns.Add("HelpLink");

                    var row = table.NewRow();
                    row["Message"]    = e.Message;
                    row["Source"]     = e.Source;
                    row["StackTrace"] = e.StackTrace;
                    row["HelpLink"]   = e.HelpLink;

                    table.Rows.Add(row);

                    response = new DataSet();
                    response.Tables.Add(table);
                }
                finally
                {
                    connection.Close();
                }
            }



            return(response);
        }