示例#1
0
        private async void IDCartOut_Load(object sender, EventArgs e)
        {
            foreach (int item in id_information)
            {
                Vitl dw2 = new Vitl();

                await dw2.MakeAsn(item);

                Vitl1.Add(dw2);
                Team1.Add((await(Team.GetByIdVil(item, true)))[0]);
                ifHaveCores72.Add(await Couress.GetIsItHaveCouresByIdInformation(item, 3, true));

                dataGridViewX1.Rows.Add(Vitl1[Vitl1.Count - 1].id, "ALP-" + ClassConvert.ConvIdNumberAdderZero4Digit(Vitl1[Vitl1.Count - 1].Id_course), Vitl1[Vitl1.Count - 1].first_name + " " + Vitl1[Vitl1.Count - 1].Last_name, ClassConvert.ConvStringBoloed(Vitl1[Vitl1.Count - 1].Boold_id), Jop.JopStatic[ClassDataGridViewDo.RetunIndexByIdSech(Team1[Team1.Count - 1].Id_Jop_Ta, Jop.JopStatic)].NvacherWord, Jop.JopStatic[ClassDataGridViewDo.RetunIndexByIdSech(Team1[Team1.Count - 1].Id_Jop_Ta, Jop.JopStatic)].NvacherWordEng,
                                        Vitl1[Vitl1.Count - 1].data_barthday.Year.ToString(), Vitl1[Vitl1.Count - 1].nameEnglish);
            }
            MegBox.Show("إنتها");
        }
        /// <summary>
        /// من أجل البحث المتقم
        /// </summary>
        /// <param name="Stringa">الأسم</param>
        /// <param name="SerchAdvaCoursClass">كلاس البحث المتقدم</param>
        /// <param name="idJop">مصفوفة المناصب</param>
        /// <param name="IdTeam">مصفوفة الفرق</param>
        /// <param name="ActivVitel">هل المتطوع فعال</param>
        /// <param name="InformationSelect"></param>
        /// <param name="SqlCmaand"></param>
        /// <param name="DataGridViewX1"></param>
        /// <param name="DateFrom"></param>
        /// <param name="DateEnd"></param>
        /// <returns></returns>
        public static async Task WaitSqlsersh(string Stringa, SerchAdvaCoursClass SerchAdvaCoursClass, List <int> idJop, List <int> IdTeam, bool ActivVitel, string InformationSelect, SqlCommand SqlCmaand, DevComponents.DotNetBar.Controls.DataGridViewX DataGridViewX1, DateTime DateFrom, DateTime DateEnd)
        {
            await openConction();

            SqlCommand sqlcom1 = null;

            sqlcom1 = Vitl.SerchRetIdInformation(Stringa, InformationSelect, SqlCmaand, DateFrom, DateEnd);

            sqlcom1.Connection = SqlConnection1;
            IAsyncResult result = sqlcom1.BeginExecuteReader();

            SqlDataReader reader = sqlcom1.EndExecuteReader(result);

            DataGridViewX1.Rows.Clear();

            List <IDinformationAdvSrchFullCoures> IDinformationAdvSrchListProsses = new List <IDinformationAdvSrchFullCoures>();

            try
            {
                int NumberDub = reader.FieldCount;


                while (await reader.ReadAsync())
                {
                    IDinformationAdvSrchListProsses.Add(new IDinformationAdvSrchFullCoures(reader.GetInt32(0)));
                }
            }


            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
            }

            finally
            {
                reader.Close();
            }
            ///هاد من شان البحث هل المتطوع لديه هذا المنصب
            for (int i = 0; i < idJop.Count; i++)
            {
                for (int j = 0; j < IDinformationAdvSrchListProsses.Count; j++)
                {
                    if (await Team.RetHaveVitelJop(IDinformationAdvSrchListProsses[j].idinformation, idJop[i]))
                    {
                        IDinformationAdvSrchListProsses[j].AddJop(idJop[i]);
                    }
                }
            }
            // هاد من أجل البحث هل المتطوع لديه الدوره
            for (int i = 0; i < SerchAdvaCoursClass.idTypeofcorsSerch.Count; i++)
            {
                for (int j = 0; j < IDinformationAdvSrchListProsses.Count; j++)
                {
                    if (await Couress.GetIsItHaveCouresByIdInformation(IDinformationAdvSrchListProsses[j].idinformation, SerchAdvaCoursClass.idTypeofcorsSerch[i], true, !SerchAdvaCoursClass.idTypeofcorsSerchbool[i]))
                    {
                        IDinformationAdvSrchListProsses[j].AddCoures(SerchAdvaCoursClass.idTypeofcorsSerch[i]);
                    }
                }
            }
            //هل هذا المتطوع في الفريق
            for (int i = 0; i < IdTeam.Count; i++)
            {
                for (int j = 0; j < IDinformationAdvSrchListProsses.Count; j++)
                {
                    if (await Team.RetHaveVitelTeam(IDinformationAdvSrchListProsses[j].idinformation, IdTeam[i]))
                    {
                        IDinformationAdvSrchListProsses[j].AddTeam(IdTeam[i]);
                    }
                }
            }
            ///من أجل المتطوعين الفعالين
            if (ActivVitel)
            {
                for (int j = 0; j < IDinformationAdvSrchListProsses.Count; j++)
                {
                    if (await Team.RetHaveVitelACtiv(IDinformationAdvSrchListProsses[j].idinformation))
                    {
                        IDinformationAdvSrchListProsses[j].SetAtciv();
                    }
                }
            }

            List <IDinformationAdvSrchFullCoures> IDView = await IDinformationAdvSrchFullCoures.GetHaveAll(SerchAdvaCoursClass.idTypeofcorsSerch, idJop, IdTeam, ActivVitel, IDinformationAdvSrchListProsses);

            List <List <object> > obj = new List <List <object> > ();

            obj = await Sqldatabasethrding.GetSql(Vitl.Serhid(IDView));



            foreach (List <object> item in obj)
            {
                int i = 0;
                DataGridViewX1.Rows.Add(item[i].ToString(), item[++i].ToString(), item[++i].ToString(), item[++i].ToString(), item[++i].ToString(), item[++i].ToString(), item[++i].ToString(), item[++i].ToString());
            }
        }
        public async void ForRunThrading()
        {
            try
            {
                dataGridViewX1.Enabled = false;

                ClassDataGridViewDo.ClumChekArray(NameCol, dataGridViewX1);
                progressBarX1.Maximum = dataGridViewX1.Rows.Count;
                int       IndexCombox = comboBoxEx1.SelectedIndex;
                Stopwatch stopwatch   = new Stopwatch();

                stopwatch.Start();
                for (int i = 0; i < dataGridViewX1.Rows.Count; i++)
                {
                    stopwatch.Restart();
                    // إيقاف العمل في خلفية التزامن
                    if (!Workin)
                    {
                        break;
                    }
                    //العداد
                    progressBarX1.Value = i;
                    // إنتظار بين الأمر والثاني
                    await System.Threading.Tasks.Task.Delay(100);



                    int   id             = ClassConvert.Convint(dataGridViewX1.Rows[i].Cells["id"].Value);
                    int   NumberOfCoures = ClassConvert.Convint(dataGridViewX1.Rows[i].Cells["رقم الدورة"].Value);
                    int?  NuberOfDayes   = ClassConvert.ConvintNull(dataGridViewX1.Rows[i].Cells["عدد الأيام"].Value);
                    float?float1         = ClassConvert.ConvFloatNull(dataGridViewX1.Rows[i].Cells["النتيجة"].Value);
                    //أختبار هل الدورة مسجل عند الشخص + أنه تأكد من وجود ID
                    if (!await Couress.GetIsItHaveCouresByIdInformation(id, IndexCombox))
                    {
                        if (id > 0 && NumberOfCoures > 0 && NuberOfDayes != null && float1 != null)
                        {
                            int IdTheNameOfcoures = NameOfCouress.SerchByListStaticRetId(TypeofCouress.TypeofCouressList[IndexCombox].id, NumberOfCoures);
                            if (IdTheNameOfcoures == -1)
                            {
                                DevComponents.DotNetBar.MessageBoxEx.Show("رقم الدورة غير مضاف:" + NumberOfCoures);
                                break;
                            }


                            Couress CouresNew = new Couress(0, IdTheNameOfcoures, id, (int)NuberOfDayes, (float)float1);
                            await Sqldatabasethrding.SqlSaveVitl(CouresNew.adder());

                            dataGridViewX1.Rows[i].DefaultCellStyle.BackColor = Color.Green;
                        }
                        else
                        {
                            dataGridViewX1.Rows[i].DefaultCellStyle.BackColor = Color.Red;
                        }
                    }
                    else
                    {
                        dataGridViewX1.Rows[i].DefaultCellStyle.BackColor = Color.Yellow;
                    }

                    labelX2.Text = ((stopwatch.ElapsedMilliseconds * (dataGridViewX1.Rows.Count - i)) / 1000).ToString();
                }
            }
            catch (NoColumnsException ex)
            {
                ErrorClass.SaveErrorFile(ex);
                MessageBox.Show(string.Format(" لا يوجد عامود {0} ", ex.Message));
            }
            catch (Exception ex)
            {
                ErrorClass.SaveErrorFile(ex);
            }

            buttonX3.Enabled       = true;
            Workin                 = false;
            dataGridViewX1.Enabled = true;
        }