Exemplo n.º 1
0
        private async Task ExecuteNonQuery(DataSItem temp)
        {
            using (frmparamLoad load = new frmparamLoad(_selectedProcedure))
            {
                if (load.ShowDialog() == DialogResult.OK)
                {
                    if (load.Result != null)
                    {
                        _selectedProcedure = load.Result;

                        lblStatues.Text = "Loading NonQuery procedure ";
                        ExecAsyncResult result = await _selectedProcedure.ExecuteNonQueryAsync(_currentAgent);


                        lblStatues.Text = "Done.";
                        rTxtresult.AppendColorText(result.ToString(), Color.Blue);


                        if (_selectedProcedure.HasOutputParam)
                        {
                            rTxtresult.AppendColorText("Output Params", Color.GreenYellow);
                            foreach (DataParam dataParam in _selectedProcedure.OutputParams.Values)
                            {
                                rTxtresult.AppendColorText(dataParam.Name + " = " + dataParam.Value, Color.Green);
                            }
                            rTxtresult.AppendColorText(new string('-', 30), Color.GreenYellow);
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        static void ModelsGET(DbAgent agent)
        {
            DataSItem _selectedProcedure = new DataSItem();

            _selectedProcedure.Schema = "auto";
            _selectedProcedure.Name   = "Models_Get";

            DataSet ds = new DataSet();

            //  _selectedProcedure.FillPRocedureParamsFromSQLAgent(agent);
            _selectedProcedure.ExecDataSet(agent, out ds);

            DataTable dt = ds.Tables[0];


            foreach (DataRow rw in dt.Rows)
            {
                foreach (var s in rw.ItemArray)
                {
                    Console.Write(s.ToString() + " - ");
                }
                Console.WriteLine();
                // Console.WriteLine(rw[0].ToString());
            }
        }
Exemplo n.º 3
0
        private async Task ExecuteDs(DataSItem temp)
        {
            using (frmparamLoad load = new frmparamLoad(temp))
            {
                if (load.ShowDialog() == DialogResult.OK)
                {
                    if (load.Result != null)
                    {
                        _selectedProcedure = load.Result;

                        lblStatues.Text = "Loading dataSetExecution ...";
                        ExecAsyncResult result = await _selectedProcedure.ExecDataSetAsync(_currentAgent);

                        lblStatues.Text = "Done.";
                        rTxtresult.AppendColorText(result.ToString(), Color.Blue);

                        DataSet rsSet = result.Object as DataSet;

                        if (rsSet.Tables.Count > 0)
                        {
                            dataGridSet.DataSource = rsSet.Tables[0];
                        }
                        if (_selectedProcedure.HasOutputParam)
                        {
                            rTxtresult.AppendColorText("Output Params", Color.GreenYellow);
                            foreach (DataParam dataParam in _selectedProcedure.OutputParams.Values)
                            {
                                rTxtresult.AppendColorText(dataParam.Name + " = " + dataParam.Value, Color.Green);
                            }
                            rTxtresult.AppendColorText(new string('-', 30), Color.GreenYellow);
                        }
                    }
                }
            }
        }
Exemplo n.º 4
0
        static async Task ImagesGetAsyncMUltiple(DbAgent agent)
        {
            if (agent.ConnectionLevel == ConnectionLevel.AllInOne)
            {
                await agent.OpenConnectionAsync();
            }

            DataSItem itm = new DataSItem();

            itm.Schema = "general";

            itm.Name = "Images_Get";
            // itm.AddParam(new DataParam("@path", CustomSqlTypes.String));
            itm.AddReturnParam(CustomSqlTypes.Int);
            //  itm.FillPRocedureParamsFromSQLAgent(agent);
            // itm.Params.Add("@path",new DataParam());



            for (int i = 0; i < 1000; i++)
            {
                ExecAsyncResult res1 = await itm.ExecuteDataReaderByRefAsync <Img>(agent);

                IBag <Img> images = res1.Object as IBag <Img>;
                Console.WriteLine("Item Count : " + images.Objects.Count.ToString() + "  " + res1.ToString());
            }



            if (agent.ConnectionLevel == ConnectionLevel.AllInOne)
            {
                agent.Dispose();
            }
        }
Exemplo n.º 5
0
        static async void NewImages(int count, DbAgent agent)
        {
            //Images_NewINstance

            DataSItem itm = new DataSItem
            {
                //  itm.Schema = "general";
                Schema = "dbo",
                Name   = "Images_NewINstance"
            };

            itm.AddParam(new DataParam("@path", CustomSqlTypes.String));
            itm.AddReturnParam(CustomSqlTypes.Int);
            //  itm.FillPRocedureParamsFromSQLAgent(agent);
            // itm.Params.Add("@path",new DataParam());

            Task compleateT = RunLimitedNumberAtATime(10, Enumerable.Range(1, count), async x =>
                                                      Task.Factory.StartNew(async() =>
            {
                itm.Params["@path"].Value = Guid.NewGuid().ToString();
                ExecAsyncResult res       = await itm.ExecuteNonQueryAsync(agent);
                Console.WriteLine(res.ToString());
                //  Console.WriteLine(string.Format("Starting task {0}", x));
                // await Task.Delay(1000);
                //Thread.Sleep(methodWait);
                //  Console.WriteLine(string.Format("Finishing task {0}", x));
            }, TaskCreationOptions.LongRunning));

            await compleateT;
        }
Exemplo n.º 6
0
        static async void ImagesGet(int count, DbAgent agent)
        {
            //Images_NewINstance

            DataSItem itm = new DataSItem();

            itm.Schema = "general";

            itm.Name = "Images_Get";
            // itm.AddParam(new DataParam("@path", CustomSqlTypes.String));
            itm.AddReturnParam(CustomSqlTypes.Int);
            //  itm.FillPRocedureParamsFromSQLAgent(agent);
            // itm.Params.Add("@path",new DataParam());

            Task compleateT = RunLimitedNumberAtATime(10, Enumerable.Range(1, count), async x =>
                                                      Task.Factory.StartNew(async() =>
            {
                // itm.Params["@path"].Value = Guid.NewGuid().ToString();
                ExecAsyncResult res = await itm.ExecuteDataReaderByRefAsync <Img>(agent);
                IBag <Img> images   = res.Object as IBag <Img>;


                Console.WriteLine("Item Count : " + images.Objects.Count.ToString() + "  " + res.ToString());
                //  Console.WriteLine(string.Format("Starting task {0}", x));
                // await Task.Delay(1000);
                //Thread.Sleep(methodWait);
                //  Console.WriteLine(string.Format("Finishing task {0}", x));
            }, TaskCreationOptions.LongRunning));

            await compleateT;
        }
Exemplo n.º 7
0
        static async Task NewImagesViaAgent(DbAgent agent)
        {
            DataSItem itm = new DataSItem
            {
                //  itm.Schema = "general";
                Schema = "general",
                Name   = "Images_NewINstance"
            };

            itm.AddParam(new DataParam("@path", CustomSqlTypes.String, ParamDirection.Input, Guid.NewGuid().ToString()));
            itm.AddReturnParam(CustomSqlTypes.Int);

            // itm.Params["@path"].Value = Guid.NewGuid().ToString();

            await agent.OpenConnectionAsync();

            ExecAsyncResult res = await itm.ExecuteNonQueryAsync(agent);

            Console.WriteLine(res.ToString());

            itm.Params["@path"].Value = Guid.NewGuid().ToString();
            res = await itm.ExecuteNonQueryAsync(agent);

            Console.WriteLine(res.ToString());
            agent.Dispose();
        }
Exemplo n.º 8
0
        private void lstProcs_SelectedIndexChanged(object sender, EventArgs e)
        {
            _selectedProcedure = (lstProcs.SelectedItem as DataSItem);

            if (lstProcs.Items.Count < 1)
            {
                BtnStates(false);
            }
        }
Exemplo n.º 9
0
        static async void ImagesGetAsyncNewTest(DbAgent agent)
        {
            if (agent.ConnectionLevel == ConnectionLevel.AllInOne)
            {
                await agent.OpenConnectionAsync();
            }

            DataSItem itm = new DataSItem();

            itm.Schema = "general";

            itm.Name = "Images_Get";
            // itm.AddParam(new DataParam("@path", CustomSqlTypes.String));
            itm.AddReturnParam(CustomSqlTypes.Int);
            //  itm.FillPRocedureParamsFromSQLAgent(agent);
            // itm.Params.Add("@path",new DataParam());


            List <Task <ExecAsyncResult> > _alltaskst = new List <Task <ExecAsyncResult> >();

            for (int i = 0; i < 2; i++)
            {
                Task <ExecAsyncResult> t = itm.ExecuteDataReaderByRefAsync <Img>(agent);
                _alltaskst.Add(t);
            }



            while (_alltaskst.Count > 0)
            {
                Task <ExecAsyncResult> fintask = await Task.WhenAny(_alltaskst);

                _alltaskst.Remove(fintask);

                ExecAsyncResult result = await fintask;
                IBag <Img>      images = result.Object as IBag <Img>;
                Console.WriteLine("Item Count : " + images.Objects.Count.ToString() + "  " + result.ToString());
            }

            // itm.Params["@path"].Value = Guid.NewGuid().ToString();

            //  Console.WriteLine(string.Format("Starting task {0}", x));
            // await Task.Delay(1000);
            //Thread.Sleep(methodWait);
            //  Console.WriteLine(string.Format("Finishing task {0}", x));

            if (agent.ConnectionLevel == ConnectionLevel.AllInOne)
            {
                agent.Dispose();
            }
        }
Exemplo n.º 10
0
        static async Task ReflectionGetAsync(DbAgent agent)
        {
            DataSItem itm = new DataSItem();

            itm.Schema = "general";

            itm.Name = "Images_Get";
            // itm.AddParam(new DataParam("@path", CustomSqlTypes.String));
            itm.AddReturnParam(CustomSqlTypes.Int);

            ExecAsyncResult res = await itm.ExecuteDataReaderByRefAsync <Img>(agent);

            IBag <Img> images = res.Object as IBag <Img>;

            Console.WriteLine("Item Count : " + images.Objects.Count.ToString() + "  " + res.ToString());
        }
Exemplo n.º 11
0
        public static Dictionary <string, DataSItem> GetAllSqlProcedures(DbAgent agent = null)
        {
            string source;

            Dictionary <string, DataSItem> procedures = new Dictionary <string, DataSItem>();

            try
            {
                if (agent != null)
                {
                    source = agent.ConnectionString;
                }
                else
                {
                    source = _currentagent.ConnectionString;
                }

                using (SqlConnection con = new SqlConnection(source))
                {
                    con.Open();

                    using (SqlCommand cmd = new SqlCommand(_getAllProcedures, con))
                    {
                        cmd.CommandType = CommandType.Text;

                        SqlDataReader reader = cmd.ExecuteReader();
                        while (reader.Read())
                        {
                            DataSItem proc = new DataSItem();
                            proc.ConnectionString = "-1";
                            proc.Schema           = reader[0].ToString();
                            proc.Name             = reader[1].ToString();
                            procedures.Add(proc.Value, proc);
                        }
                    }
                }
            }
            catch (Exception exc)
            {
                throw exc;
            }

            return(procedures);
        }
Exemplo n.º 12
0
        //fill  procedure with param and return
        public static void FillPRocedureParamsFromSQLAgent(this DataSItem procedure, DbAgent agent = null)
        {
            string source;

            if (agent != null)
            {
                source = agent.ConnectionString;
            }
            else
            {
                source = _currentagent.ConnectionString;
            }


            using (SqlConnection con = new SqlConnection(source))
            {
                con.Open();

                using (SqlCommand cmd = new SqlCommand(string.Format(_getParamsOFProc, procedure.Name), con))
                {
                    procedure.Params.Clear();

                    cmd.CommandType = CommandType.Text;

                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        DataParam prm = new DataParam();

                        prm.Name      = reader[0].ToString();
                        prm.Default   = "";
                        prm.Direction = GetDirection(reader[1].ToString());
                        prm.Type      = GetType(reader[2].ToString());
                        prm.SetParent(procedure);
                        procedure.AddParam(prm);
                    }
                }
            }
        }
Exemplo n.º 13
0
        static void GetImgsync(DbAgent agent)
        {
            DataSItem itm = new DataSItem();

            itm.Schema = "general";

            itm.Name = "Images_Get";
            // itm.AddParam(new DataParam("@path", CustomSqlTypes.String));
            itm.AddReturnParam(CustomSqlTypes.Int);
            IBag <Img> images;

            ExecResult res = itm.ExecuteDataReaderByRef(agent, out images);


            foreach (Img img in images.Objects)
            {
                Console.WriteLine(string.Format("Id : {0} - Path : {1}", img.Id.ToString(), img.Path));
            }


            Console.WriteLine("Item Count : " + images.Objects.Count.ToString() + "  " + res.ToString());
        }
Exemplo n.º 14
0
        private async void btnExecuteDs_Click(object sender, EventArgs e)
        {
            try
            {
                if (lstProcs.SelectedItems.Count > 0)
                {
                    _selectedProcedure = (lstProcs.SelectedItem as DataSItem);
                }

                DataSItem temp = _selectedProcedure;
                btnExecuteDs.Enabled = false;


                await ExecuteDs(temp);

                btnExecuteDs.Enabled = true;
            }
            catch (Exception exc)
            {
                rTxtresult.AppendColorText(exc.ToString(), Color.Red);
                btnExecuteDs.Enabled = true;
            }
        }
Exemplo n.º 15
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            try
            {
                foreach (Contrl contrl in flowLayoutPanel1.Controls)
                {
                    if (contrl.HasValue)
                    {
                        _selectedProcedure.Params[contrl.Description].Value = contrl.Body;
                    }
                    else
                    {
                        _selectedProcedure.Params.Remove(contrl.Description);
                    }
                }

                _result           = _selectedProcedure;
                this.DialogResult = DialogResult.OK;
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.ToString());
            }
        }
Exemplo n.º 16
0
        static async Task ImagesGigImagesGET(int count, DbAgent agent)
        {
            DataSItem itm = new DataSItem();

            itm.Schema = "general";

            itm.Name = "Images_Get";
            // itm.AddParam(new DataParam("@path", CustomSqlTypes.String));
            itm.AddReturnParam(CustomSqlTypes.Int);
            //  itm.FillPRocedureParamsFromSQLAgent(agent);
            // itm.Params.Add("@path",new DataParam());

            Task compleateT = RunLimitedNumberAtATime(10, Enumerable.Range(1, count), async x =>
                                                      Task.Factory.StartNew(async() =>
            {
                Console.WriteLine("Start! ");
                // itm.Params["@path"].Value = Guid.NewGuid().ToString();
                ExecAsyncResult res = await itm.ExecuteDataReaderByRefAsync <Img>(agent);
                IBag <Img> images   = res.Object as IBag <Img>;
                Console.WriteLine("Item Count : " + images.Objects.Count.ToString() + "  " + res.ToString());
            }, TaskCreationOptions.LongRunning));

            await compleateT;
        }
Exemplo n.º 17
0
        public frmparamLoad(DataSItem procedure)
        {
            InitializeComponent();

            _selectedProcedure = procedure;
        }
Exemplo n.º 18
0
        /*
         * Start !
         * First Path  : 558278df-28d0-4bb5-82a1-87d2397569fb
         * Code : 1 - Execution Time :  224.06 ms
         * Compleated : 1256
         * Second Path  : 67e1ed21-3570-4a64-8647-5b030ea03c40
         * Code : 1 - Execution Time :  8.617 ms
         */
        static void NewImagesViaAgentSync(DbAgent agent)
        {
            DataSItem itm = new DataSItem
            {
                //  itm.Schema = "general";
                Schema = "general",
                Name   = "Images_NewINstance"
            };

            itm.AddParam(new DataParam("@path", CustomSqlTypes.String));
            itm.AddReturnParam(CustomSqlTypes.Int);
            string first = Guid.NewGuid().ToString();

            itm.Params["@path"].Value = first;
            Console.WriteLine("First Path  : " + first);
            //  agent.OpenConnection();
            //using (agent)
            //{
            // agent.OpenConnection();

            agent.OpenConnection();

            ExecResult res = itm.ExecuteNonQuery(agent);

            Console.WriteLine(res.ToString());
            first = Guid.NewGuid().ToString();


            for (int i = 0; i < 25000; i++)
            {
                first = Guid.NewGuid().ToString();
                itm.Params["@path"].Value = first;
                Console.WriteLine($"ThreadId : {Thread.CurrentThread.ManagedThreadId.ToString()} Path i : {i.ToString()}  : " + first);
                res = itm.ExecuteNonQuery(agent);
                Console.WriteLine(res.ToString());
            }

            bool   firstfin = false;
            Thread t        = new Thread(new ThreadStart(delegate
            {
                for (int i = 0; i < 25000; i++)
                {
                    first = Guid.NewGuid().ToString();
                    itm.Params["@path"].Value = first;
                    Console.WriteLine($"ThreadId : {Thread.CurrentThread.ManagedThreadId.ToString()} Path i : {i.ToString()}  : " + first);
                    res = itm.ExecuteNonQuery(agent);
                    Console.WriteLine(res.ToString());
                }

                firstfin = true;
            }));

            bool   sec = false;
            Thread t2  = new Thread(new ThreadStart(delegate
            {
                for (int i = 0; i < 25000; i++)
                {
                    first = Guid.NewGuid().ToString();
                    itm.Params["@path"].Value = first;
                    Console.WriteLine($"ThreadId : {Thread.CurrentThread.ManagedThreadId.ToString()} Path i : {i.ToString()}  : " + first);
                    res = itm.ExecuteNonQuery(agent);
                    Console.WriteLine(res.ToString());
                }
                sec = true;
            }));

            t.Start();
            t2.Start();

            while (!(firstfin && sec))
            {
                if (firstfin && sec)
                {
                    agent.Dispose();
                    break;
                }
            }


            //  agent.CloseConnection();

            //itm.Params["@path"].Value = first;
            //Console.WriteLine("Second Path  : " + first);
            //res = itm.ExecuteNonQuery(agent);
            //Console.WriteLine(res.ToString());
            //}
            //  agent.Dispose();
        }