Beispiel #1
0
        private void GoToDecisions(object sender, RoutedEventArgs e)
        {
            Decision_View de = new Decision_View();

            de.Show();
            this.Close();
        }
Beispiel #2
0
        public void excute()
        {
            var emp_id = (from d in db.SelfCards select new { d.PersonId, full = d.FirstName + " " + d.FatherName + " " + d.LastName }).ToList();

            var id = emp_id.Where(d => d.full == emp_name.Text).ToList().ElementAt(0);



            Reward r = new Reward
            {
                PersonId   = id.PersonId,
                DecisionId = long.Parse(dec_id.Text),
                RewardType = rew_type.Text,
                Reason     = reason.Text,
                RewardDate = res_start.SelectedDate,
                Amount     = amount.Text,
                Notes      = note.Text
            };

            db.Rewards.Add(r);
            db.SaveChanges();

            MessageBox.Show("تم إضافة المكافئة بنجاح");


            string message = "هل انتهى تنفيذ القرار؟";
            string caption = "تنبيه";
            var    result  = MessageBox.Show(message, caption,
                                             MessageBoxButton.YesNo,
                                             MessageBoxImage.Question);


            if (result == MessageBoxResult.Yes)
            {
                res_start.Text = null;
                res_type.Text  = null;

                emp_name.Text = null;

                note.Text       = "";
                rew_type.Text   = null;
                reason.Text     = null;
                this.Visibility = Visibility.Collapsed;
                var d = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();

                //   excute.IsChecked = true;
                // d.IsExcute = true;
                excutee.IsChecked = true;
                d.IsExcute        = true;

                db.Decisions.Update(d);

                db.SaveChanges();

                Decision_View dv           = new Decision_View();
                Window        parentWindow = Window.GetWindow(this);
                parentWindow.Close();
                dv.Show();
            }
            else if (result == MessageBoxResult.No)
            {
                res_start.Text = null;
                res_type.Text  = null;

                emp_name.Text = null;

                note.Text     = "";
                rew_type.Text = null;
                reason.Text   = null;
            }
        }
Beispiel #3
0
        public void excutee()
        {
            var emp_id = (from Z in db.SelfCards
                          where Z.Status != "بحكم المستقيل" && Z.Status != "كف اليد" && Z.Status != "مصروف من الخدمة"
                          select new { Z.PersonId, full = Z.FirstName + " " + Z.FatherName + " " + Z.LastName, Z.Salary, Z.maxsalary, Z.Status, Z.JobTitle, Z.Workplace, Z.Category, Z.Register }).ToList();

            foreach (string ss in emp.ToList())
            {
                var  id  = emp_id.Where(d => d.full == ss).ToList().ElementAt(0);
                long eid = id.PersonId;

                long before = (long)id.Salary;
                int  c      = db.SalaryIncrease.Where(x => x.DecisionId == long.Parse(dec_id.Text) && x.PersonId == eid).Count();
                if (c > 0)
                {
                    MessageBox.Show("  تم تطبيق هذا القرار على الموظف  " + id.full);
                }
                else
                {
                    if (id.Status == "متقاعد")
                    {
                        SalaryIncrease sn = new SalaryIncrease
                        {
                            PersonId     = eid,
                            DecisionId   = long.Parse(dec_id.Text),
                            SalaryBefore = before,
                            SalaryAfter  = before + long.Parse(off.Text),
                            Increase     = long.Parse(off.Text),
                            Category     = id.Category,
                            Workplace    = id.Workplace,
                            JobTitle     = id.JobTitle,
                            Register     = Login.regName
                        };
                        db.SalaryIncrease.Add(sn);
                        db.SaveChanges();
                        var self = db.SelfCards.Where(x => x.PersonId == eid).Single();
                        self.Salary    = before + long.Parse(off.Text);
                        self.maxsalary = id.maxsalary + long.Parse(off.Text);
                        db.SelfCards.Update(self);
                        db.SaveChanges();
                    }
                    else
                    {
                        SalaryIncrease sn = new SalaryIncrease
                        {
                            PersonId     = eid,
                            DecisionId   = long.Parse(dec_id.Text),
                            SalaryBefore = before,
                            SalaryAfter  = before + long.Parse(increase1.Text),
                            Increase     = long.Parse(increase1.Text),
                        };
                        db.SalaryIncrease.Add(sn);
                        db.SaveChanges();
                        var self = db.SelfCards.Where(x => x.PersonId == eid).Single();
                        self.Salary    = before + long.Parse(increase1.Text);
                        self.maxsalary = id.maxsalary + long.Parse(increase1.Text);
                        db.SelfCards.Update(self);
                        db.SaveChanges();
                    }
                }
            }



            MessageBox.Show("تمت عملية الانتهاء من تنفيذ قرار الزيادة");
            var d = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();

            excute.IsChecked = true;
            d.IsExcute       = true;
            db.Decisions.Update(d);
            db.SaveChanges();
            Decision_View dv           = new Decision_View();
            Window        parentWindow = Window.GetWindow(this);

            parentWindow.Close();
            dv.Show();
        }
Beispiel #4
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            SelfCard person = new SelfCard();
            var      emp_id = (from d in db.SelfCards select new { d.PersonId, full = d.FirstName + " " + d.FatherName + " " + d.LastName }).ToList();

            var id = emp_id.Where(d => d.full == emp_name.Text).ToList().ElementAt(0);

            long empId = id.PersonId;

            Decision des = new Decision();

            int number = Int32.Parse(num_Copy.Text);

            des = db.Decisions.Where(x => x.DecisionNumber == number && x.DecisionYear == Int32.Parse(year.Text) && x.DecisionSource == sorce.Text).FirstOrDefault();
            if (des == null)
            {
                MessageBox.Show("هذا القرار غير موجود");
            }
            else
            {
                Rest r = new Rest();
                r = db.Rests.Where(x => x.DecisionId == des.DecisionId && x.PersonId == empId && x.RestType == "إجازة بلا أجر").FirstOrDefault();

                if (r == null)
                {
                    MessageBox.Show("لا يمكن تطبيق قرار قطع إجازة بلا أجر على الموظف المحدد");
                }
                else
                {
                    r.RestPeriod = Int32.Parse(period.Text);

                    if (res_per1.IsChecked == true)
                    {
                        res_per = res_per1.Content.ToString();
                    }
                    if (res_per2.IsChecked == true)
                    {
                        res_per = res_per2.Content.ToString();
                    }
                    if (res_per3.IsChecked == true)
                    {
                        res_per = res_per3.Content.ToString();
                    }

                    var dd = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();

                    r.RestEnd = dd.DecisionStart;
                    r.Period  = res_per;

                    db.Rests.Update(r);
                    db.SaveChanges();
                    ///////////////////////////////////////////////
                    person        = db.SelfCards.Where(x => x.PersonId == empId).FirstOrDefault();
                    person.Status = "قائم على رأس عمله";
                    db.SelfCards.Update(person);
                    db.SaveChanges();

                    MessageBox.Show("تم تطبيق قرار قطع الإجازة بنجاح");


                    string message = "هل انتهى تنفيذ القرار؟";
                    string caption = "تنبيه";
                    var    result  = MessageBox.Show(message, caption,
                                                     MessageBoxButton.YesNo,
                                                     MessageBoxImage.Question);


                    if (result == MessageBoxResult.Yes)
                    {
                        res_per1.IsChecked = false;
                        res_per2.IsChecked = false;
                        res_per3.IsChecked = false;
                        num_Copy.Text      = null;
                        year.Text          = null;
                        sorce.Text         = null;
                        emp_name.Text      = null;
                        period.Text        = null;
                        this.Visibility    = Visibility.Collapsed;
                        var d = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();
                        excute.IsChecked = true;
                        // d.IsExcute = true;
                        d.IsExcute = true;

                        db.Decisions.Update(d);

                        db.SaveChanges();

                        Decision_View dv           = new Decision_View();
                        Window        parentWindow = Window.GetWindow(this);
                        parentWindow.Close();
                        dv.Show();
                    }
                    else if (result == MessageBoxResult.No)
                    {
                        res_per1.IsChecked = false;
                        res_per2.IsChecked = false;
                        res_per3.IsChecked = false;
                        num_Copy.Text      = null;
                        year.Text          = null;
                        sorce.Text         = null;
                        emp_name.Text      = null;
                        period.Text        = null;
                    }
                }
            }
        }
Beispiel #5
0
        public void excutee()
        {
            DateTime fromDate;
            DateTime toDate;
            double   bouns = 0.09;
            int      days;
            var      emp_id = (from d in db.SelfCards
                               where d.Status != "بحكم المستقيل" && d.Status != "كف اليد" && d.Status != "مصروف من الخدمة" && d.Status != "بلا أجر" && d.Status != "متوفى" && d.Status != "مستقيل" && d.Status != "متقاعد"
                               select new { d.PersonId, full = d.FirstName + " " + d.FatherName + " " + d.LastName, d.Salary, d.maxsalary, d.Workplace, d.JobTitle, d.Category, d.Register }).ToList();

            var id = emp_id.Where(d => d.full == list.Text).ToList().ElementAt(0);


            //foreach (string ss in emp.ToList())
            //{
            int    sum1   = 0;
            double amount = 0;

            double allDays = 0;
            //  var id = emp_id.Where(d => d.full == ss).ToList().ElementAt(0);
            long eid = id.PersonId;
            int  c   = db.Bonuses.Where(x => x.DecisionId == long.Parse(dec_id.Text) && x.PersonId == eid).Count();

            if (c > 0)
            {
                MessageBox.Show("  تم تطبيق هذا القرار على الموظف  " + id.full);
            }
            else
            {
                // حساب عدد ايام الدوام
                fromDate = (DateTime)from.SelectedDate;

                toDate = (DateTime)to.SelectedDate;
                //days in first yaer
                List <Rest> rests1 = db.Rests.Where(x => x.PersonId == eid && x.RestType == "إجازة بلا أجر" && x.RestStart >= fromDate && x.RestStart <= toDate).ToList();

                foreach (Rest rset in rests1)
                {
                    if (rset.Period == "يوم")
                    {
                        sum1 += rset.RestPeriod;
                    }
                    else if (rset.Period == "شهر")
                    {
                        sum1 += (rset.RestPeriod * 30);
                    }
                    else if (rset.Period == "سنة")
                    {
                        sum1 += (rset.RestPeriod * 360);
                    }
                }


                allDays = 720 - sum1;
                if (allDays >= 0)
                {
                    amount = (double)((allDays / 720) * (0.09 * id.Salary));
                    if (id.Salary + amount <= id.maxsalary)
                    {
                        Bonuse r = new Bonuse
                        {
                            PersonId    = id.PersonId,
                            DecisionId  = long.Parse(dec_id.Text),
                            Bouns       = 0.09,
                            FromYear    = (DateTime)from.SelectedDate,
                            ToYear      = (DateTime)to.SelectedDate,
                            Salary      = (double)id.Salary,
                            NumDays     = (int)allDays,
                            SalaryBouns = (double)(id.Salary + ((allDays / 720) * (0.09 * id.Salary))),
                            Workplace   = id.Workplace, JobTitle = id.JobTitle, Category = id.Category, Register = Login.regName
                        };
                        db.Bonuses.Add(r);
                        db.SaveChanges();
                        var d = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();
                        excute.IsChecked = true;
                        // d.IsExcute = true;
                        d.IsExcute = true;

                        db.Decisions.Update(d);

                        db.SaveChanges();
                        (from p in db.SelfCards
                         where p.PersonId == eid
                         select p).ToList()
                        .ForEach(x => x.Salary = (double)(id.Salary + ((allDays / 720) * (0.09 * id.Salary))));
                        db.SaveChanges();
                    }
                    else if (id.Salary + amount > id.maxsalary)
                    {
                        Bonuse r = new Bonuse
                        {
                            PersonId    = id.PersonId,
                            DecisionId  = long.Parse(dec_id.Text),
                            Bouns       = 0.09,
                            FromYear    = (DateTime)from.SelectedDate,
                            ToYear      = (DateTime)to.SelectedDate,
                            Salary      = (double)id.Salary,
                            NumDays     = (int)allDays,
                            SalaryBouns = (double)(id.Salary + (id.maxsalary - id.Salary)),
                            Workplace   = id.Workplace,
                            JobTitle    = id.JobTitle,
                            Category    = id.Category,
                            Register    = Login.regName
                        };
                        db.Bonuses.Add(r);
                        db.SaveChanges();
                        var d = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();
                        excute.IsChecked = true;
                        // d.IsExcute = true;
                        d.IsExcute = true;

                        db.Decisions.Update(d);

                        db.SaveChanges();
                        (from p in db.SelfCards
                         where p.PersonId == eid
                         select p).ToList()
                        .ForEach(x => x.Salary = (double)(id.Salary + ((allDays / 720) * (0.09 * id.Salary))));
                        db.SaveChanges();
                    }
                }
                else if (allDays < 0)
                {
                    Bonuse r = new Bonuse
                    {
                        PersonId    = id.PersonId,
                        DecisionId  = long.Parse(dec_id.Text),
                        Bouns       = 0.09,
                        FromYear    = (DateTime)from.SelectedDate,
                        ToYear      = (DateTime)to.SelectedDate,
                        Salary      = (double)id.Salary,
                        NumDays     = 0,
                        SalaryBouns = (double)id.Salary,
                        Workplace   = id.Workplace,
                        JobTitle    = id.JobTitle,
                        Category    = id.Category,
                        Register    = Login.regName
                    };
                    db.Bonuses.Add(r);
                    db.SaveChanges();
                    var d = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();
                    excute.IsChecked = true;
                    // d.IsExcute = true;
                    d.IsExcute = true;

                    db.Decisions.Update(d);

                    db.SaveChanges();
                }
            }

            // }
            list.SelectedItem = null;



            this.Visibility = Visibility.Collapsed;



            MessageBox.Show("تمت عملية الانتهاء من تنفيذ قرار الترفيعة");
            Decision_View dv           = new Decision_View();
            Window        parentWindow = Window.GetWindow(this);

            parentWindow.Close();
            dv.Show();
        }
Beispiel #6
0
        public void dec_excute()
        {
            var emp_id = (from d in db.SelfCards select new { d.PersonId, full = d.FirstName + " " + d.FatherName + " " + d.LastName,d.Salary,d.Workplace,d.JobTitle,d.Category,d.Register }).ToList();

            var id = emp_id.Where(d => d.full == emp_name.Text).ToList().ElementAt(0);

            if (res_per1.IsChecked == true)
            { res_per = res_per1.Content.ToString(); }
            if (res_per2.IsChecked == true)
            { res_per = res_per2.Content.ToString(); }
            if (res_per3.IsChecked == true)
            { res_per = res_per3.Content.ToString(); }

            Rest r = new Rest
            {

                PersonId = id.PersonId,
                DecisionId = long.Parse(dec_id.Text),
                RestType = res_type.Text,
                RestStart = res_start.SelectedDate,
                RestEnd = res_end.SelectedDate,
                Period = res_per,
                RestPeriod = Int32.Parse(perod.Text),
                Attachment = att.Text,
                Notes = note.Text,
                Salary=id.Salary,Workplace=id.Workplace,JobTitle=id.JobTitle,Category=id.Category,Register= Login.regNames

            };
            db.Rests.Add(r);
            db.SaveChanges();

            MessageBox.Show("تم إضافة الاجازة بنجاح");

            string message = "هل انتهى تنفيذ القرار؟";
            string caption = "تنبيه";
            var result = MessageBox.Show(message, caption,
                                         MessageBoxButton.YesNo,
                                         MessageBoxImage.Question);

            if (result == MessageBoxResult.Yes)
            {

                res_per1.IsChecked = false;
                res_per2.IsChecked = false;
                res_per3.IsChecked = false;
                res_start.Text = null;
                res_type.Text = null;
                res_end.Text = null;
                emp_name.Text = null;
                att.Text = "";
                note.Text = "";
                perod.Text = "";
                this.Visibility = Visibility.Collapsed;
                var d = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();
                excute.IsChecked = true;
               // d.IsExcute = true;
                d.IsExcute = true;

                db.Decisions.Update(d);

                db.SaveChanges();

                Decision_View dv = new Decision_View();
                Window parentWindow = Window.GetWindow(this);
                parentWindow.Close();
                dv.Show();

            }
            else if (result == MessageBoxResult.No)
            {
                res_per1.IsChecked = false;
                res_per2.IsChecked = false;
                res_per3.IsChecked = false;
                res_start.Text = null;
                res_type.Text = null;
                res_end.Text = null;
                emp_name.Text = null;
                att.Text = "";
                note.Text = "";
                perod.Text = "";
            }
        }
Beispiel #7
0
        public void dec_excute()
        {
            var emp_id = (from d in db.SelfCards select new { d.PersonId, full = d.FirstName + " " + d.FatherName + " " + d.LastName }).ToList();

            var id = emp_id.Where(d => d.full == emp_name.Text).ToList().ElementAt(0);

            if (res_per1.IsChecked == true)
            {
                res_per = res_per1.Content.ToString();
            }
            if (res_per2.IsChecked == true)
            {
                res_per = res_per2.Content.ToString();
            }
            if (res_per3.IsChecked == true)
            {
                res_per = res_per3.Content.ToString();
            }


            Punishment r = new Punishment
            {
                PersonId       = id.PersonId,
                DecisionId     = long.Parse(dec_id.Text),
                PunishmentType = p_type.Text,
                Period         = Int32.Parse(perod.Text),
                StartDate      = p_start.SelectedDate,
                EndDate        = p_end.SelectedDate,
                Reason         = p_reason.Text,
                periodType     = res_per,
                Discount       = double.Parse(p_dis.Text),

                Notes = note.Text
            };

            db.Punishments.Add(r);
            db.SaveChanges();

            MessageBox.Show("تم إضافة الاجازة بنجاح");


            string message = "هل انتهى تنفيذ القرار؟";
            string caption = "تنبيه";
            var    result  = MessageBox.Show(message, caption,
                                             MessageBoxButton.YesNo,
                                             MessageBoxImage.Question);


            if (result == MessageBoxResult.Yes)
            {
                p_start.Text       = null;
                p_end.Text         = null;
                perod.Text         = null;
                emp_name.Text      = null;
                note.Text          = "";
                p_reason.Text      = null;
                p_dis.Text         = null;
                p_type.Text        = null;
                res_per1.IsChecked = false;
                res_per2.IsChecked = false;
                res_per3.IsChecked = false;
                this.Visibility    = Visibility.Collapsed;
                var d = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();
                excute.IsChecked = true;
                // d.IsExcute = true;
                d.IsExcute = true;

                db.Decisions.Update(d);

                db.SaveChanges();



                Decision_View dv           = new Decision_View();
                Window        parentWindow = Window.GetWindow(this);
                parentWindow.Close();
                dv.Show();
            }
            else if (result == MessageBoxResult.No)
            {
                p_start.Text       = null;
                p_end.Text         = null;
                perod.Text         = null;
                emp_name.Text      = null;
                note.Text          = "";
                p_reason.Text      = null;
                p_dis.Text         = null;
                p_type.Text        = null;
                res_per1.IsChecked = false;
                res_per2.IsChecked = false;
                res_per3.IsChecked = false;
            }
        }
Beispiel #8
0
        private void collaps_Click(object sender, RoutedEventArgs e)
        {
            //Decision d = (Decision)DataContext;

            try
            {
                Decision des = new Decision();
                db = new PersonelDBContext();
                int number = Int32.Parse(num.Text);
                des = db.Decisions.Where(x => x.DecisionNumber == number && x.DecisionYear == Int32.Parse(num_Copy.Text) && x.DecisionSource == sorce.Text).FirstOrDefault();
                if (des == null)
                {
                    MessageBox.Show("هذا القرار غير موجود");
                }
                else
                {
                    string con = des.DecisionContent;
                    if (con == "تبدل وظيفي")
                    {
                        var x = (from y in db.FunctionalChanges
                                 where y.DecisionId == des.DecisionId
                                 select y);
                        foreach (var row in x.ToList())
                        {
                            db.FunctionalChanges.Remove(row);
                        }
                    }
                    else if (con == "قرار طي تبدل")
                    {
                    }
                    else if (con == "قرارإجازة")
                    {
                        var x = (from y in db.Rests
                                 where y.DecisionId == des.DecisionId
                                 select y);
                        foreach (var row in x.ToList())
                        {
                            db.Rests.Remove(row);
                        }
                    }

                    else if (con == "قرار إعارة")
                    {
                        var x = (from y in db.Secondments
                                 where y.DecisionId == des.DecisionId
                                 select y);
                        foreach (var row in x.ToList())
                        {
                            db.Secondments.Remove(row);
                        }
                    }

                    else if (con == "قرار إيفاد")
                    {
                        var x = (from y in db.Delegatings
                                 where y.DecisionId == des.DecisionId
                                 select y);
                        foreach (var row in x.ToList())
                        {
                            db.Delegatings.Remove(row);
                        }
                    }

                    else if (con == "قرار ندب")
                    {
                        var x = (from y in db.Scars
                                 where y.DecisionId == des.DecisionId
                                 select y);
                        foreach (var row in x.ToList())
                        {
                            db.Scars.Remove(row);
                        }
                    }

                    else if (con == "قرار عقوبة")
                    {
                        var x = (from y in db.Punishments
                                 where y.DecisionId == des.DecisionId
                                 select y);
                        foreach (var row in x.ToList())
                        {
                            db.Punishments.Remove(row);
                        }
                    }
                    else if (con == "قرار ترفيعة")
                    {
                        var x = (from y in db.Bonuses
                                 where y.DecisionId == des.DecisionId
                                 select y);
                        foreach (var row in x.ToList())
                        {
                            db.Bonuses.Remove(row);
                        }
                    }
                    else if (con == "قرار ترفيعة استثنائية")
                    {
                        var x = (from y in db.Bonuses
                                 where y.DecisionId == des.DecisionId
                                 select y);
                        foreach (var row in x.ToList())
                        {
                            db.Bonuses.Remove(row);
                        }
                    }
                    else if (con == "قرار ترفيعة تدريسية")
                    {
                        var x = (from y in db.Bonuses
                                 where y.DecisionId == des.DecisionId
                                 select y);
                        foreach (var row in x.ToList())
                        {
                            db.Bonuses.Remove(row);
                        }
                    }
                    else if (con == "قرار مكافأة")
                    {
                        var x = (from y in db.Rewards
                                 where y.DecisionId == des.DecisionId
                                 select y);
                        foreach (var row in x.ToList())
                        {
                            db.Rewards.Remove(row);
                        }
                    }
                    else if (con == "قرار زيادة")
                    {
                        //var x = (from y in db.FunctionalChanges
                        //         where y.DecisionId == des.DecisionId
                        //         select y).FirstOrDefault();
                        //db.FunctionalChanges.Remove(x);
                        //db.SaveChanges();
                    }

                    des.DecisionStatus = "قرار مطوي";
                    des.CollapsDate    = date.SelectedDate;
                    db.Decisions.Update(des);
                    db.SaveChanges();
                    MessageBox.Show("تم طي القرار بنجاح");

                    string message = "هل انتهى تنفيذ القرار؟";
                    string caption = "تنبيه";
                    var    result  = MessageBox.Show(message, caption,
                                                     MessageBoxButton.YesNo,
                                                     MessageBoxImage.Question);
                    if (result == MessageBoxResult.Yes)
                    {
                        this.Visibility = Visibility.Collapsed;
                        var d = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();
                        excute.IsChecked = true;
                        d.IsExcute       = true;
                        db.Decisions.Update(d);
                        db.SaveChanges();


                        Decision_View dv           = new Decision_View();
                        Window        parentWindow = Window.GetWindow(this);
                        parentWindow.Close();
                        dv.Show();
                        //Window parentWindow = Window.GetWindow(this);
                        //object obj = parentWindow.FindName("result");
                        //DataGrid dg = (DataGrid)obj;
                        //dg.UnselectAll();
                    }
                    else if (result == MessageBoxResult.No)
                    {
                        num.Text           = null;
                        date.SelectedDate  = null;
                        num_Copy.Text      = null;
                        sorce.SelectedItem = null;
                    }
                }
            }


            catch (Exception m)
            { MessageBox.Show("يوجد خطأ"); }
        }
Beispiel #9
0
        private void insert_decision(object sender, RoutedEventArgs e)
        {
            try
            {
                int count = 0;
                pdb   = new PersonelDBContext();
                count = pdb.Decisions.Where(x => x.DecisionNumber == Int32.Parse(dec_num.Text) && x.DecisionYear == Int32.Parse(dec_year.Text) && x.DecisionSource == dec_source.Text).Count();


                if (dec_con.Text != null && dec_year.Text != null && dec_type.Text != null && dec_start.Text != null && dec_end.Text != null && dec_source.Text != null && dec_effect.Text != null && dec_result.Text != null && dec_num.Text != null)
                {
                    if (count == 0)
                    {
                        if (dec_source.Text == "جهة أخرى")
                        {
                            Decision dec = new Decision
                            {
                                DecisionNumber  = Int32.Parse(dec_num.Text),
                                DecisionYear    = Int32.Parse(dec_year.Text),
                                DecisionType    = dec_type.Text,
                                DecisionContent = dec_con.Text,
                                DecisionStart   = dec_start.SelectedDate,
                                DecisionEnd     = dec_end.SelectedDate,
                                DecisionSource  = others.Text,
                                EffectType      = dec_effect.Text,
                                Result          = dec_result.Text,
                                DecisionStatus  = "قرار ساري",
                                CollapsDate     = null
                            };
                            decisions.Add(dec);
                            pdb.Decisions.Add(dec);
                            pdb.SaveChanges();
                            MessageBox.Show("تمت الاضافة بنجاح");
                            string message = "هل تريد تنفيذ القرار؟";
                            string caption = "تنبيه";
                            var    result  = MessageBox.Show(message, caption,
                                                             MessageBoxButton.YesNo,
                                                             MessageBoxImage.Question);
                            if (result == MessageBoxResult.Yes)
                            {
                                Decision_View dv = new Decision_View();


                                dv.Show();

                                dv.result.ItemsSource = decisions;
                                var myWindow = Window.GetWindow(this);
                                myWindow.Close();
                            }
                            else if (result == MessageBoxResult.No)
                            {
                                this.Visibility = Visibility.Collapsed;
                            }
                        }
                        else
                        {
                            Decision dec = new Decision
                            {
                                DecisionNumber  = Int32.Parse(dec_num.Text),
                                DecisionYear    = Int32.Parse(dec_year.Text),
                                DecisionType    = dec_type.Text,
                                DecisionContent = dec_con.Text,
                                DecisionStart   = dec_start.SelectedDate,
                                DecisionEnd     = dec_end.SelectedDate,
                                DecisionSource  = dec_source.Text,
                                EffectType      = dec_effect.Text,
                                Result          = dec_result.Text,
                                DecisionStatus  = "قرار ساري",
                                CollapsDate     = null
                            };
                            decisions.Add(dec);
                            pdb.Decisions.Add(dec);
                            pdb.SaveChanges();
                            MessageBox.Show("تمت الاضافة بنجاح");

                            string message = "هل تريد تنفيذ القرار؟";
                            string caption = "تنبيه";
                            var    result  = MessageBox.Show(message, caption,
                                                             MessageBoxButton.YesNo,
                                                             MessageBoxImage.Question);
                            if (result == MessageBoxResult.Yes)
                            {
                                Decision_View dv = new Decision_View();


                                dv.Show();

                                dv.result.ItemsSource = decisions;
                                var myWindow = Window.GetWindow(this);
                                myWindow.Close();
                            }
                            else if (result == MessageBoxResult.No)
                            {
                                this.Visibility = Visibility.Collapsed;
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show("لا يمكن إضافة هذا القرار، قد يكون هناك تكرار في رقم القرار أو مصدره أو سنة صدوره");
                    }
                }
                else
                {
                    MessageBox.Show("تأكد من ادخال جميع البيانات");
                }
            }
            catch (Exception ex) { MessageBox.Show("تأكد من ادخال كافة البيانات"); }
        }
Beispiel #10
0
        private void Add_Change(object sender, RoutedEventArgs e)
        {
            try
            {
                var emp_id = (from m in db.SelfCards select new { m.PersonId, full = m.FirstName + " " + m.FatherName + " " + m.LastName }).ToList();

                var id = emp_id.Where(d => d.full == emp_name.Text).ToList().ElementAt(0);

                long empId = id.PersonId;

                int c = db.FunctionalChanges.Where(x => x.DecisionId == long.Parse(dec_id.Text) && x.PersonId == empId).Count();
                if (c > 0)
                {
                    MessageBox.Show("تم تطبيق هذا القرار مسبقا على الموظف المحدد");
                }
                else
                {
                    SelfCard person = new SelfCard();
                    person = db.SelfCards.Where(x => x.PersonId == empId).FirstOrDefault();
                    if (mission_Copy.Text == "اعادة إلى العمل")
                    {
                        status.Text          = "قائم على رأس عمله";
                        person.Status        = "قائم على رأس عمله";
                        person.InsuranceCard = "ضمن الخدمة";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                        // status.Text = "قائم على رأس عمله";
                    }

                    if (mission_Copy.SelectedItem == null)
                    {
                        MessageBox.Show("ادخل نوع التبدل الوظيفي من فضلك");
                    }
                    else if (mission_Copy.Text == "استقالة")
                    {
                        status.Text          = "مستقيل";
                        person.Status        = "مستقيل";
                        person.InsuranceCard = "خارج الخدمة";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (mission_Copy.Text == "تعيين")
                    {
                        status.Text   = "قائم على رأس عمله";
                        person.Status = "قائم على رأس عمله";
                        person.Salary = double.Parse(salary.Text);
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (mission_Copy.Text == "نهاية خدمة")
                    {
                        status.Text          = "متقاعد";
                        person.Status        = "متقاعد";
                        person.InsuranceCard = "خارج الخدمة";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (mission_Copy.Text == "تجميد")
                    {
                        status.Text          = "مجمد";
                        person.Status        = "مجمد";
                        person.InsuranceCard = "خارج الخدمة";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (mission_Copy.Text == "تفريغ للحزب")
                    {
                        status.Text   = "مفرغ للحزب";
                        person.Status = "مفرغ للحزب";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (mission_Copy.Text == "بحكم المستقيل")
                    {
                        status.Text          = "بحكم المستقيل";
                        person.Status        = "بحكم المستقيل";
                        person.InsuranceCard = "خارج الخدمة";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (mission_Copy.Text == "صرف من الخدمة")
                    {
                        status.Text          = "مصروف من الخدمة";
                        person.Status        = "مصروف من الخدمة";
                        person.InsuranceCard = "خارج الخدمة";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (mission_Copy.Text == "طي اسم")
                    {
                        status.Text          = "متوفى";
                        person.Status        = "متوفى";
                        person.InsuranceCard = "خارج الخدمة";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (mission_Copy.Text == "احالة على المعاش")
                    {
                        status.Text          = "متقاعد";
                        person.Status        = "متقاعد";
                        person.InsuranceCard = "خارج الخدمة";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (mission_Copy.Text == "تسريح صحي")
                    {
                        status.Text          = "مسرح صحياً";
                        person.Status        = "مسرح صحياً";
                        person.InsuranceCard = "خارج الخدمة";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (mission_Copy.Text == "كف يد")
                    {
                        status.Text   = "كف اليد";
                        person.Status = "كف اليد";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }

                    else if (mission_Copy.Text == "تغيير فئة")
                    {
                        grade.Text      = "";
                        person.Category = grade.Text;
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (mission_Copy.Text == "تغيير مسمى وظيفي")
                    {
                        job.Text        = "";
                        person.JobTitle = job.Text;
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (mission_Copy.Text == "تغيير مهمة")
                    {
                        mission.Text   = "";
                        person.Mission = mission.Text;
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (mission_Copy.Text == "نقل")
                    {
                        pp.Text          = "";
                        person.Workplace = pp.Text;
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }

                    else if (mission_Copy.Text == "نقل خارج الجامعة")
                    {
                        pp.Text              = "";
                        person.Status        = "منقول خارج الجامعة";
                        person.InsuranceCard = "خارج الخدمة";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (mission_Copy.Text == "اجازة بلا أجر")
                    {
                        status.Text          = "بلا أجر";
                        person.Status        = "بلا أجر";
                        person.InsuranceCard = "خارج الخدمة";

                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }


                    FunctionalChange fn = new FunctionalChange
                    {
                        PersonId   = empId,
                        DecisionId = int.Parse(dec_id.Text),
                        Category   = grade.Text,
                        WorkPlace  = pp.Text,
                        functional_changes_type = mission_Copy.Text,
                        Mission    = mission.Text,
                        ChangeDate = (DateTime)chandate1.SelectedDate,
                        Status     = status.Text,
                        Salary     = double.Parse(salary.Text),
                        JobTitle   = job.Text, Register = Login.regName
                    };
                    db.FunctionalChanges.Add(fn);
                    db.SaveChanges();
                    MessageBox.Show("تم إجراءالتبدل الوظيفي بنجاح...");


                    string message = "هل انتهى تنفيذ القرار؟";
                    string caption = "تنبيه";
                    var    result  = MessageBox.Show(message, caption,
                                                     MessageBoxButton.YesNo,
                                                     MessageBoxImage.Question);

                    if (result == MessageBoxResult.Yes)
                    {
                        var d = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();

                        d.IsExcute = true;
                        db.Decisions.Update(d);

                        db.SaveChanges();
                        emp_name.SelectedItem     = null;
                        chandate1.SelectedDate    = null;
                        pp.SelectedItem           = null;
                        grade.SelectedItem        = null;
                        job.SelectedItem          = null;
                        mission.SelectedItem      = null;
                        status.SelectedItem       = null;
                        salary.Text               = null;
                        mission_Copy.SelectedItem = null;
                        this.Visibility           = Visibility.Collapsed;
                        var dd = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();
                        excute.IsChecked = true;
                        // d.IsExcute = true;
                        dd.IsExcute = true;

                        db.Decisions.Update(dd);

                        db.SaveChanges();

                        Decision_View dv           = new Decision_View();
                        Window        parentWindow = Window.GetWindow(this);
                        parentWindow.Close();
                        dv.Show();
                    }
                    else if (result == MessageBoxResult.No)
                    {
                        emp_name.SelectedItem     = null;
                        chandate1.SelectedDate    = null;
                        pp.SelectedItem           = null;
                        grade.SelectedItem        = null;
                        job.SelectedItem          = null;
                        mission.SelectedItem      = null;
                        status.SelectedItem       = null;
                        salary.Text               = null;
                        mission_Copy.SelectedItem = null;
                    }
                }
            }
            catch (Exception ex) {
                MessageBox.Show(ex.Message);
                // MessageBox.Show("يجب التأكد من ادخال جميع البيانات");
            }
        }
Beispiel #11
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                int         index = 0;
                List <Scar> scars = new List <Scar>();


                var emp_id = (from d in db.SelfCards select new { d.PersonId, full = d.FirstName + " " + d.FatherName + " " + d.LastName, d.JobTitle, d.Category, d.Register, d.Salary }).ToList();

                var id = emp_id.Where(d => d.full == emp_name.Text).ToList().ElementAt(0);

                long empId = id.PersonId;
                //فحص مدة الندب

                scars = db.Scars.Where(x => x.PersonId == empId).ToList <Scar>();
                foreach (Scar s in scars)
                {
                    if (s.PeriodType == "سنة" && del_per3.IsChecked == true)
                    {
                        index = index + (int)s.PeriodNum + int.Parse(perod.Text);
                    }
                }

                // فحص اذا كان القرار مطبق مسبقا على هذا الموظف
                int c = db.Scars.Where(x => x.DecisionId == long.Parse(dec_id.Text) && x.PersonId == empId).Count();
                if (c > 0)
                {
                    MessageBox.Show("تم تطبيق هذا القرار مسبقا على الموظف المحدد");
                }
                else
                {
                    if (index > 4)
                    {
                        MessageBox.Show("لقد تجاوز هذا الموظف مدة الندب ولا يحق له قرار ندب جديد");
                    }
                    else
                    {
                        if (del_per1.IsChecked == true)
                        {
                            del_per = del_per1.Content.ToString();
                        }
                        if (del_per2.IsChecked == true)
                        {
                            del_per = del_per2.Content.ToString();
                        }
                        if (del_per3.IsChecked == true)
                        {
                            del_per = del_per3.Content.ToString();
                        }

                        Scar del = new Scar
                        {
                            PersonId   = empId,
                            DecisionId = long.Parse(dec_id.Text),

                            PeriodType = del_per,
                            PeriodNum  = Int32.Parse(perod.Text),
                            ScarReason = reason.Text,
                            ScarPlace  = country.Text,
                            ScarStart  = del_start.SelectedDate,
                            ScarEnd    = del_end.SelectedDate,
                            Notes      = note.Text,
                            JobTitle   = id.JobTitle, Category = id.Category, Register = Login.regName,
                            Salary     = id.Salary
                        };
                        db.Scars.Add(del);
                        db.SaveChanges();

                        SelfCard person = new SelfCard();
                        person               = db.SelfCards.Where(x => x.PersonId == empId).FirstOrDefault();
                        person.Status        = "مندوب";
                        person.InsuranceCard = "خارج الخدمة";
                        db.SelfCards.Update(person);
                        db.SaveChanges();

                        MessageBox.Show("تم إضافة تفصيل قرار الندب بنجاح");


                        string message = "هل انتهى تنفيذ القرار؟";
                        string caption = "تنبيه";
                        var    result  = MessageBox.Show(message, caption,
                                                         MessageBoxButton.YesNo,
                                                         MessageBoxImage.Question);
                        if (result == MessageBoxResult.Yes)
                        {
                            del_per1.IsChecked = false;
                            del_per2.IsChecked = false;
                            del_per3.IsChecked = false;
                            del_start.Text     = null;

                            del_end.Text = null;
                            country.Text = "";
                            reason.Text  = null;

                            note.Text       = "";
                            perod.Text      = "";
                            this.Visibility = Visibility.Collapsed;
                            var d = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();
                            excute.IsChecked = true;
                            d.IsExcute       = true;
                            db.Decisions.Update(d);
                            db.SaveChanges();
                            Decision_View dv           = new Decision_View();
                            Window        parentWindow = Window.GetWindow(this);
                            parentWindow.Close();
                            dv.Show();
                        }
                        else if (result == MessageBoxResult.No)
                        {
                            del_per1.IsChecked = false;
                            del_per2.IsChecked = false;
                            del_per3.IsChecked = false;
                            del_start.Text     = null;

                            del_end.Text = null;
                            country.Text = "";
                            reason.Text  = null;

                            note.Text  = "";
                            perod.Text = "";
                        }
                    }
                }
            }

            catch (Exception ex) { MessageBox.Show("يجب التأكد من ادخال جميع البيانات"); }
        }
Beispiel #12
0
        public void excutee()
        {
            //var emp_id = (from d in db.SelfCards select new { d.PersonId, full = d.FirstName + " " + d.FatherName + " " + d.LastName }).ToList();

            //emp= emp_id.Where(d => d.full == emp_list.Text).FirstOrDefault().ToString();

            //long empId = id.PersonId;
            //emp = empname.Text;///////////
            var id = (from x in db.SelfCards
                      where x.FirstName + " " + x.FatherName + " " + x.LastName == emp_list.Text
                      select new { x.PersonId, x.Salary, x.maxsalary, x.Category, x.Workplace, x.JobTitle }).Single();


            double amount = 0;


            long eid = id.PersonId;
            int  c   = db.Bonuses.Where(x => x.DecisionId == long.Parse(dec_id.Text) && x.PersonId == eid).Count();

            if (c > 0)
            {
                MessageBox.Show("  تم تطبيق هذا القرار على الموظف  " + emp_list.Text);
            }
            else

            {
                var query = (from p in db.Bonuses
                             join d in db.Decisions on p.DecisionId equals d.DecisionId
                             where p.PersonId == eid && d.DecisionContent == "قرار ترفيعة استثنائية"
                             select new { p.DecisionId, fu = (d.DecisionNumber + " " + d.DecisionType + " " + d.DecisionYear) }).Count();



                if (query > 0)
                {
                    MessageBox.Show("   تم منح ترفيعة استثنائية من قبل  للموظف " + emp_list.Text);
                }
                else
                {
                    if (id.Category == "الأولى")
                    {
                        amount = 1000;
                    }

                    else if (id.Category == "الثانية")
                    {
                        amount = 600;
                    }
                    Bonuse r = new Bonuse
                    {
                        PersonId    = id.PersonId,
                        DecisionId  = long.Parse(dec_id.Text),
                        Bouns       = amount,
                        FromYear    = null,
                        ToYear      = null,
                        Salary      = (double)id.Salary,
                        NumDays     = 0,
                        SalaryBouns = (double)(id.Salary + amount),
                        Workplace   = id.Workplace,
                        JobTitle    = id.JobTitle,
                        Category    = id.Category,
                        Register    = Login.regName
                    };
                    db.Bonuses.Add(r);
                    db.SaveChanges();
                    (from p in db.SelfCards
                     where p.PersonId == eid
                     select p).ToList()
                    .ForEach(x => x.Salary = (double)(id.Salary + amount));
                    db.SaveChanges();

                    MessageBox.Show("تمت عملية الانتهاء من تنفيذ قرار الترفيعة");
                    string message = "هل انتهى تنفيذ القرار؟";
                    string caption = "تنبيه";
                    var    result  = MessageBox.Show(message, caption,
                                                     MessageBoxButton.YesNo,
                                                     MessageBoxImage.Question);
                    if (result == MessageBoxResult.Yes)
                    {
                        emp_list.Text   = null;
                        this.Visibility = Visibility.Collapsed;
                        var d = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();
                        excute.IsChecked = true;
                        // d.IsExcute = true;
                        d.IsExcute = true;

                        db.Decisions.Update(d);

                        db.SaveChanges();


                        this.Visibility = Visibility.Collapsed;



                        Decision_View dv           = new Decision_View();
                        Window        parentWindow = Window.GetWindow(this);
                        parentWindow.Close();
                        dv.Show();
                    }
                    else if (result == MessageBoxResult.No)
                    {
                        emp_list.Text = null;
                    }
                }
            }
        }
Beispiel #13
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            try {
                var emp_id = (from d in db.SelfCards select new { d.PersonId, full = d.FirstName + " " + d.FatherName + " " + d.LastName, d.JobTitle, d.Salary, d.Category, d.Register }).ToList();

                var id = emp_id.Where(d => d.full == emp_name.Text).ToList().ElementAt(0);

                long empId = id.PersonId;
                int  c     = db.Secondments.Where(x => x.DecisionId == long.Parse(dec_id.Text) && x.PersonId == empId).Count();
                if (c > 0)
                {
                    MessageBox.Show("تم تطبيق هذا القرار مسبقا على الموظف المحدد");
                }
                else
                {
                    if (sec_per1.IsChecked == true)
                    {
                        sec_per = sec_per1.Content.ToString();
                    }
                    if (sec_per2.IsChecked == true)
                    {
                        sec_per = sec_per2.Content.ToString();
                    }
                    if (sec_per3.IsChecked == true)
                    {
                        sec_per = sec_per3.Content.ToString();
                    }


                    Secondment r = new Secondment
                    {
                        PersonId        = id.PersonId,
                        DecisionId      = long.Parse(dec_id.Text),
                        SecondmentType  = sec_type.Text,
                        PeriodNum       = Int32.Parse(perod.Text),
                        PeriodType      = sec_per,
                        SecondmentPlace = place.Text,
                        SecondmentStart = sec_start.SelectedDate,
                        SecondmentEnd   = sec_end.SelectedDate,
                        Notes           = note.Text,
                        JobTitle        = id.JobTitle, Salary = id.Salary, Category = id.Category, Register = Login.regName
                    };
                    db.Add(r);
                    db.SaveChanges();
                    if (sec_type.Text == "إعارة داخلية")
                    {
                        SelfCard person = new SelfCard();
                        person        = db.SelfCards.Where(x => x.PersonId == empId).FirstOrDefault();
                        person.Status = "معار داخلياً";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (sec_type.Text == "إعارة خارجية")
                    {
                        SelfCard person = new SelfCard();
                        person               = db.SelfCards.Where(x => x.PersonId == empId).FirstOrDefault();
                        person.Status        = "معار خارجياً";
                        person.InsuranceCard = "خارج الخدمة";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    MessageBox.Show("تم تنفيذ قرار الاعارة");

                    string message = "هل انتهى تنفيذ القرار؟";
                    string caption = "تنبيه";
                    var    result  = MessageBox.Show(message, caption,
                                                     MessageBoxButton.YesNo,
                                                     MessageBoxImage.Question);


                    if (result == MessageBoxResult.Yes)
                    {
                        sec_per1.IsChecked = false;
                        sec_per2.IsChecked = false;
                        sec_per3.IsChecked = false;
                        sec_start.Text     = null;
                        sec_type.Text      = null;
                        sec_end.Text       = null;
                        emp_name.Text      = null;
                        place.Text         = null;

                        note.Text       = "";
                        perod.Text      = "";
                        this.Visibility = Visibility.Collapsed;
                        var d = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();
                        excute.IsChecked = true;
                        // d.IsExcute = true;
                        d.IsExcute = true;

                        db.Decisions.Update(d);

                        db.SaveChanges();

                        Decision_View dv           = new Decision_View();
                        Window        parentWindow = Window.GetWindow(this);
                        parentWindow.Close();
                        dv.Show();
                    }
                    else if (result == MessageBoxResult.No)
                    {
                        sec_per1.IsChecked = false;
                        sec_per2.IsChecked = false;
                        sec_per3.IsChecked = false;
                        sec_start.Text     = null;
                        sec_type.Text      = null;
                        sec_end.Text       = null;
                        emp_name.Text      = null;
                        place.Text         = null;
                        note.Text          = "";
                        perod.Text         = "";
                    }
                }
            }
            catch (Exception ex) { MessageBox.Show("يجب التأكد من ادخال جميع البيانات"); }
        }
Beispiel #14
0
        private void insert_del(object sender, RoutedEventArgs e)
        {
            try
            {
                var emp_id = (from d in db.SelfCards select new { d.PersonId, full = d.FirstName + " " + d.FatherName + " " + d.LastName, d.JobTitle, d.Salary, d.Category, d.Register }).ToList();

                var id = emp_id.Where(d => d.full == emp_name.Text).ToList().ElementAt(0);

                long empId = id.PersonId;
                // فحص اذا كان القرار مطبق مسبقا على هذا الموظف
                int c = db.Delegatings.Where(x => x.DecisionId == long.Parse(dec_id.Text) && x.PersonId == empId).Count();
                if (c > 0)
                {
                    MessageBox.Show("تم تطبيق هذا القرار مسبقا على الموظف المحدد");
                }
                else
                {
                    if (del_per1.IsChecked == true)
                    {
                        del_per = del_per1.Content.ToString();
                    }
                    if (del_per2.IsChecked == true)
                    {
                        del_per = del_per2.Content.ToString();
                    }
                    if (del_per3.IsChecked == true)
                    {
                        del_per = del_per3.Content.ToString();
                    }

                    Delegating del = new Delegating
                    {
                        PersonId          = empId,
                        DecisionId        = long.Parse(dec_id.Text),
                        DelegatingType    = del_type.Text,
                        PeriodType        = del_per,
                        PeriodNum         = Int32.Parse(perod.Text),
                        DelegatingReason  = reson.Text,
                        DelegatingCountry = country.Text,
                        DelegatingStart   = del_start.SelectedDate,
                        DelegatingEnd     = del_end.SelectedDate,
                        Notes             = note.Text,
                        JobTitle          = id.JobTitle,
                        Salary            = id.Salary, Category = id.Category,
                        Register          = Login.regName
                    };
                    db.Delegatings.Add(del);
                    db.SaveChanges();
                    if (del_type.Text == "إيفاد داخلي")
                    {
                        SelfCard person = new SelfCard();
                        person        = db.SelfCards.Where(x => x.PersonId == empId).FirstOrDefault();
                        person.Status = "موفد داخلياً";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }
                    else if (del_type.Text == "إيفاد خارجي")
                    {
                        SelfCard person = new SelfCard();
                        person               = db.SelfCards.Where(x => x.PersonId == empId).FirstOrDefault();
                        person.Status        = "موفد خارجياً";
                        person.InsuranceCard = "خارج الخدمة";
                        db.SelfCards.Update(person);
                        db.SaveChanges();
                    }



                    MessageBox.Show("تم إضافة تفصيل الايفاد بنجاح");


                    string message = "هل انتهى تنفيذ القرار؟";
                    string caption = "تنبيه";
                    var    result  = MessageBox.Show(message, caption,
                                                     MessageBoxButton.YesNo,
                                                     MessageBoxImage.Question);
                    if (result == MessageBoxResult.Yes)
                    {
                        del_per1.IsChecked = false;
                        del_per2.IsChecked = false;
                        del_per3.IsChecked = false;
                        del_start.Text     = null;
                        del_type.Text      = null;
                        del_end.Text       = null;
                        country.Text       = "";
                        reson.Text         = null;

                        note.Text       = "";
                        perod.Text      = "";
                        this.Visibility = Visibility.Collapsed;
                        var d = db.Decisions.Where(c => c.DecisionId == long.Parse(dec_id.Text)).Single();
                        excute.IsChecked = true;
                        d.IsExcute       = true;
                        db.Decisions.Update(d);
                        db.SaveChanges();


                        Decision_View dv           = new Decision_View();
                        Window        parentWindow = Window.GetWindow(this);
                        parentWindow.Close();
                        dv.Show();
                        //Window parentWindow = Window.GetWindow(this);
                        //object obj = parentWindow.FindName("result");
                        //DataGrid dg = (DataGrid)obj;
                        //dg.UnselectAll();
                    }
                    else if (result == MessageBoxResult.No)
                    {
                        del_per1.IsChecked = false;
                        del_per2.IsChecked = false;
                        del_per3.IsChecked = false;
                        del_start.Text     = null;
                        del_type.Text      = null;
                        del_end.Text       = null;
                        country.Text       = "";
                        reson.Text         = null;
                        del_type.Text      = null;
                        note.Text          = "";
                        perod.Text         = "";
                    }
                }
            }

            catch (Exception ex) { MessageBox.Show("يجب التأكد من ادخال جميع البيانات"); }
        }