Beispiel #1
0
        internal bool IsValidate()
        {
            bool isValid = true;

            this.ClearAllErrors();
            if (string.IsNullOrEmpty(FamilyCode))
            {
                isValid = false;
                this.SetError("FamilyCode", "يجب إدخال رمز للعائلة");
            }
            else
            {
                if (BaseDataBase._StoredProcedureReturnableBool("sp_IsFamilyCodeExists", new SqlParameter("@R", System.Data.SqlDbType.Bit), new SqlParameter("@FamilyID", FamilyID), new SqlParameter("@FamilyCode", FamilyCode)))
                {
                    isValid = false;
                    this.SetError("FamilyCode", "رمز العائلة موجود في قاعدة البيانات");
                }
            }
            if (string.IsNullOrEmpty(FamilyIdentityID))
            {
                isValid = false;
                this.SetError("FamilyIdentityID", "يجب إدخال رقم دفتر العائلة");
            }
            else if (FamilyIdentityID != "لايوجد دفتر عائلة")
            {
                var num = FamilyIdentityID.Split(' ');
                if (!BaseDataBase.IsStringNumber(num[0]))
                {
                    isValid = false;
                    this.SetError("FamilyIdentityID", "رقم دفتر العائلة يجب أن يحوي أرقاما");
                }
                if (num.Length > 3)
                {
                    isValid = false;
                    this.SetError("FamilyIdentityID", "رقم دفتر العائلة يحوي أكثر من فراغين");
                }
                else if (num.Length > 1)
                {
                    if (num[1].Length != 1)
                    {
                        isValid = false;
                        this.SetError("FamilyIdentityID", "حرف دفتر العائلة يجب أن يكون خانة واحدة");
                    }
                    else if (!char.IsLetter(char.Parse(num[1])))
                    {
                        isValid = false;
                        this.SetError("FamilyIdentityID", "حرف دفتر العائلة يجب أن يحوي حرف واحد فقط (أ، ب، ت، ث، ج)");
                    }
                    if (num.Length == 3 && !BaseDataBase.IsStringNumber(num[2]))
                    {
                        isValid = false;
                        this.SetError("FamilyIdentityID", "الرقم الأسري يجب أن يحوي أرقاما");
                    }
                }
                if (isValid)
                {
                    string ExistedFamilyCode = BaseDataBase._Scalar_StoredProcedure("sp_GetFamilyCodeByFamilyIDentityID", new SqlParameter("@FamilyID", FamilyID), new SqlParameter("@FamilyIdentityID", FamilyIdentityID));
                    if (!string.IsNullOrEmpty(ExistedFamilyCode))
                    {
                        isValid = false;
                        this.SetError("FamilyIdentityID", "رقم دفتر العائلة موجود في قاعدة البيانات برقم " + ExistedFamilyCode);
                    }
                }
            }
            if (string.IsNullOrEmpty(FamilyName))
            {
                isValid = false;
                this.SetError("FamilyName", "يجب إدخال اسم العائلة");
            }
            if (ApplyDate == null)
            {
                isValid = false;
                this.SetError("ApplyDate", "يجب إدخال تاريخ التسجيل");
            }
            if (string.IsNullOrEmpty(FamilyType))
            {
                isValid = false;
                this.SetError("FamilyType", "يجب إدخال نوع العائلة");
            }

            if (!isValid)
            {
                string s = "";
                foreach (var item in errors)
                {
                    s += item.Value + "\n";
                }
                MyMessageBox.Show(s);
            }
            return(isValid);
        }
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
            var f = cOrphanFamily.DataContext as Family;

            if (f.IsValidate())
            {
                if (!(string.IsNullOrEmpty(f.FamilyFather.FirstName) && string.IsNullOrEmpty(f.FamilyFather.LastName)))
                {
                    if (!f.FamilyFather.IsValidate())
                    {
                        return;
                    }
                }
                if (!(string.IsNullOrEmpty(f.FamilyMother.FirstName) && string.IsNullOrEmpty(f.FamilyMother.LastName)))
                {
                    if (!f.FamilyMother.IsValidate())
                    {
                        return;
                    }
                }
                if (!(string.IsNullOrEmpty(f.OrphanGuardian.FirstName) && string.IsNullOrEmpty(f.OrphanGuardian.LastName)))
                {
                    if (!f.OrphanGuardian.IsValidate())
                    {
                        return;
                    }
                }
                if (!(string.IsNullOrEmpty(f.OrphanNursemaid.FirstName) && string.IsNullOrEmpty(f.OrphanNursemaid.LastName)))
                {
                    if (!f.OrphanNursemaid.IsValidate())
                    {
                        return;
                    }
                }
                if (!string.IsNullOrEmpty(f.FamilyHouse.OldAddress) || !string.IsNullOrEmpty(f.FamilyHouse.Address))
                {
                    if (!f.FamilyHouse.IsValidate())
                    {
                        return;
                    }
                }
                foreach (var fp in cOrphanFamily.dgChild.ItemsSource as List <FamilyPerson> )
                {
                    if (!fp.IsValidate())
                    {
                        return;
                    }
                }

                if (cOrphanFamily.Orphans == null || cOrphanFamily.Orphans.Count == 0)
                {
                    MyMessageBox.Show("يجب ادخال بيانات الايتام");
                    return;
                }

                if (!f.FamilyID.HasValue)
                {
                    string a = (cOrphanFamily.cmboSector.SelectedItem as Sector).Code;
                    string s = a + BaseDataBase._Scalar_StoredProcedure("sp_GetMaxFamilyCodeByChar", new SqlParameter("@char", a));
                    f.FamilyCode = s;

                    if (!DBMain.InsertData(f))
                    {
                        return;
                    }
                    else
                    {
                        MyMessage.InsertMessage();
                        var tih = this.Parent as TabItem;
                        if (tih != null)
                        {
                            tih.Header = f.FamilyCode + " " + f.FamilyName;
                        }
                    }
                }
                else if (!DBMain.UpdateData(f))
                {
                    return;
                }
                else
                {
                    MyMessage.UpdateMessage();
                }

                //Father
                if (!(string.IsNullOrEmpty(f.FamilyFather.FirstName) && string.IsNullOrEmpty(f.FamilyFather.LastName)))
                {
                    if (f.FamilyFather.ParentrID.HasValue)
                    {
                        DBMain.UpdateData(f.FamilyFather);
                    }
                    else
                    {
                        DBMain.InsertData(f.FamilyFather);
                    }
                }
                else if (f.FamilyFather.ParentrID.HasValue)
                {
                    DBMain.DeleteData(f.FamilyFather);
                }
                //Mother
                if (!(string.IsNullOrEmpty(f.FamilyMother.FirstName) && string.IsNullOrEmpty(f.FamilyMother.LastName)))
                {
                    if (f.FamilyMother.ParentrID.HasValue)
                    {
                        DBMain.UpdateData(f.FamilyMother);
                    }
                    else
                    {
                        DBMain.InsertData(f.FamilyMother);
                    }
                }
                else if (f.FamilyMother.ParentrID.HasValue)
                {
                    DBMain.DeleteData(f.FamilyMother);
                }
                //Guardian
                if (!(string.IsNullOrEmpty(f.OrphanGuardian.FirstName) && string.IsNullOrEmpty(f.OrphanGuardian.LastName)))
                {
                    f.OrphanGuardian.FamilyID = f.FamilyID;
                    if (f.OrphanGuardian.GuardianID.HasValue)
                    {
                        Guardian.UpdateData(f.OrphanGuardian);
                    }
                    else
                    {
                        Guardian.InsertData(f.OrphanGuardian);
                    }
                }
                else if (f.OrphanGuardian.GuardianID.HasValue)
                {
                    Guardian.DeleteData(f.OrphanGuardian);
                }
                //Nursemaid
                if (!(string.IsNullOrEmpty(f.OrphanNursemaid.FirstName) && string.IsNullOrEmpty(f.OrphanNursemaid.LastName)))
                {
                    f.OrphanNursemaid.FamilyID = f.FamilyID;
                    if (f.OrphanNursemaid.GuardianID.HasValue)
                    {
                        Guardian.UpdateData(f.OrphanNursemaid);
                    }
                    else
                    {
                        Guardian.InsertData(f.OrphanNursemaid);
                    }
                }
                else if (f.OrphanNursemaid.GuardianID.HasValue)
                {
                    Guardian.DeleteData(f.OrphanNursemaid);
                }

                f.FamilyHouse.FamilyID = f.FamilyID;
                if (!string.IsNullOrEmpty(f.FamilyHouse.OldAddress) || !string.IsNullOrEmpty(f.FamilyHouse.HouseSection))
                {
                    if (f.FamilyHouse.HouseID == null)
                    {
                        DBMain.InsertData(f.FamilyHouse);
                    }
                    else
                    {
                        DBMain.UpdateData(f.FamilyHouse);
                    }
                }

                foreach (var fp in cOrphanFamily.dgChild.ItemsSource as List <FamilyPerson> )
                {
                    if (fp.FamilyPersonID.HasValue)
                    {
                        DBMain.UpdateData(fp);
                    }
                    else if (f.FamilyID.HasValue)
                    {
                        fp.FamilyID = f.FamilyID;
                        DBMain.InsertData(fp);
                    }
                }
                foreach (var o in cOrphanFamily.Orphans)
                {
                    if (o.OrphanID.HasValue)
                    {
                        Orphan.UpdateData(o);
                    }
                    else if (f.FamilyID.HasValue)
                    {
                        if (Orphan.InsertData(o))
                        {
                            o.Account                = new Account();
                            o.Account.Name           = o.FirstName + " " + o.LastName;
                            o.Account.Type           = o.Type == "يتيم" ? Account.AccountType.Orphan : o.Type == "يتيم طالب علم" ? Account.AccountType.OrphanStudent : Account.AccountType.Student;
                            o.Account.CurrentBalance = 0;
                            o.Account.CreateDate     = BaseDataBase.DateNow;
                            o.Account.OwnerID        = o.OrphanID;
                            o.Account.Status         = "مفعل";
                            o.Account.IsDebit        = true;

                            Account.InsertData(o.Account);
                        }
                    }
                }
                cFamilyNeed.FamilyID            = f.FamilyID;
                cExternalFamilySupport.FamilyID = f.FamilyID;
                cSpecialCard.FamilyID           = f.FamilyID;
                cListerGroup.FamilyID           = f.FamilyID;
                cOrders.FamilyID = f.FamilyID;

                f.UpdateFamilyPersonCount();
            }
        }
Beispiel #3
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            var order = this.DataContext as Order;

            if (order.IsValidateMainOrderData() && order.IsValidateOrderItemsData())
            {
                try
                {
                    //                foreach (var item in x.FamilyNeeds)
                    //                    if (!item.IsEnsured)
                    //                        if (MyMessageBox.Show("لم يتم تأمين كامل احتياجات العائلة .. هل تريد المتابعة", MessageBoxButton.YesNo) != MessageBoxResult.Yes)
                    //                            return;
                    //                        break;
                    if (!order.Id.HasValue)
                    {
                        //check if there is any other order from other device
                        int CurrentMaxOrderID_temp = 0;
                        if (order.FamilyID.HasValue)
                        {
                            int.TryParse(BaseDataBase._Scalar("select Max(Id) from [order] where FamilyID=" + order.FamilyID), out CurrentMaxOrderID_temp);
                        }
                        else
                        {
                            int.TryParse(BaseDataBase._Scalar("select Max(Id) from [order] where SpecialFamilyID=" + order.SpecialFamilyID), out CurrentMaxOrderID_temp);
                        }
                        if (CurrentMaxOrderID_temp != 0 && CurrentMaxOrderID_temp != CurrentMaxOrderID)
                        {
                            MyMessageBox.Show("لقد تمت اضافة اعانة جديدة من جهاز اخر\nبجب اغلاق النافذة وتحديث البيانات للتحقق\nلايمكن الاضافة");
                            return;
                        }
                        if (Properties.Settings.Default.ActiveFingerPrint && o == null && MyMessageBox.Show("لم يتم اضافة البصمة الالكترونية هل تريد المتابعة", MessageBoxButton.YesNo) != MessageBoxResult.Yes)
                        {
                            return;
                        }
                        if (Order.InsertData(order))
                        {
                            SendFingerPrint(order);
                        }
                    }
                    else if (Order.UpdateData(order))
                    {
                        MyMessage.UpdateMessage();
                    }

                    Task.Run(() => InsertOrderItems(order));
                    //PrintOrder(order);

                    DialogResult = true;
                }
                catch (Exception ex) { MyMessageBox.Show(ex.Message); }
            }
        }
Beispiel #4
0
        private void btnUpdate_Click(object sender, RoutedEventArgs e)
        {
            if (!BaseDataBase.CurrentUser.CanUpdateFamily)
            {
                MyMessageBox.Show("ليس لديك صلاحية تعديل بيانات عائلة");
                return;
            }
            MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
            var f = cFamily.DataContext as Family;

            if (f.IsValidate())
            {
                if (!(string.IsNullOrEmpty(f.FamilyFather.FirstName) && string.IsNullOrEmpty(f.FamilyFather.LastName)))
                {
                    if (!f.FamilyFather.IsValidate())
                    {
                        return;
                    }
                }
                if (!(string.IsNullOrEmpty(f.FamilyMother.FirstName) && string.IsNullOrEmpty(f.FamilyMother.LastName)))
                {
                    if (!f.FamilyMother.IsValidate())
                    {
                        return;
                    }
                }
                if (!string.IsNullOrEmpty(f.FamilyHouse.OldAddress) || !string.IsNullOrEmpty(f.FamilyHouse.Address))
                {
                    if (!f.FamilyHouse.IsValidate())
                    {
                        return;
                    }
                }
                foreach (var fp in cFamily.dgChild.ItemsSource as List <FamilyPerson> )
                {
                    if (!fp.IsValidate())
                    {
                        return;
                    }
                }

                if (DBMain.UpdateData(f))
                {
                    if (!(string.IsNullOrEmpty(f.FamilyFather.FirstName) && string.IsNullOrEmpty(f.FamilyFather.LastName)))
                    {
                        if (f.FamilyFather.ParentrID.HasValue)
                        {
                            DBMain.UpdateData(f.FamilyFather);
                        }
                        else
                        {
                            DBMain.InsertData(f.FamilyFather);
                        }
                    }
                    else if (f.FamilyFather.ParentrID.HasValue)
                    {
                        DBMain.DeleteData(f.FamilyFather);
                    }

                    if (!(string.IsNullOrEmpty(f.FamilyMother.FirstName) && string.IsNullOrEmpty(f.FamilyMother.LastName)))
                    {
                        if (f.FamilyMother.ParentrID.HasValue)
                        {
                            DBMain.UpdateData(f.FamilyMother);
                        }
                        else
                        {
                            DBMain.InsertData(f.FamilyMother);
                        }
                    }
                    else if (f.FamilyMother.ParentrID.HasValue)
                    {
                        DBMain.DeleteData(f.FamilyMother);
                    }

                    f.FamilyHouse.FamilyID = f.FamilyID;
                    if (!string.IsNullOrEmpty(f.FamilyHouse.OldAddress) || !string.IsNullOrEmpty(f.FamilyHouse.HouseSection))
                    {
                        if (f.FamilyHouse.HouseID == null)
                        {
                            DBMain.InsertData(f.FamilyHouse);
                        }
                        else
                        {
                            DBMain.UpdateData(f.FamilyHouse);
                        }
                    }

                    foreach (var fp in cFamily.dgChild.ItemsSource as List <FamilyPerson> )
                    {
                        if (!fp.FamilyPersonID.HasValue)
                        {
                            fp.FamilyID = f.FamilyID;
                            DBMain.InsertData(fp);
                        }
                        else
                        {
                            DBMain.UpdateData(fp);
                        }
                    }
                    f.UpdateFamilyPersonCount();
                    MyMessage.UpdateMessage();
                }
            }
        }