示例#1
0
        public static bool CheckDuration(string HusbandNationalNum, string WifeNationalNum, int Days, IncidentType _IncidentType)
        {
            bool res = true;

            using (EGovernmentEntities db = new EGovernmentEntities())
            {
                switch (_IncidentType)
                {
                case IncidentType.Divorce:
                    tblDivorceIncident divorceIncident = GetLastDivorceIncident(HusbandNationalNum, WifeNationalNum);
                    if (divorceIncident != null)
                    {
                        res = (DateTime.Now - DateTime.Parse(divorceIncident.IncidentDate)).TotalDays >= Days;
                    }
                    break;

                case IncidentType.Death:
                    tblMarriageContract marriageContract = db.tblMarriageContracts.Where(x => x.HusbandNationalNum == HusbandNationalNum).Where(y => y.WifeNationalNum == WifeNationalNum).OrderByDescending(z => z.IncidentNumber).FirstOrDefault();
                    if (marriageContract != null)
                    {
                        if (IsDead(marriageContract.HusbandNationalNum))
                        {
                            tblDeadRegistration deadRegistration = db.tblDeadRegistrations.Where(x => x.NationalNumber == HusbandNationalNum).FirstOrDefault();
                            if (deadRegistration != null)
                            {
                                res = (DateTime.Now - DateTime.Parse(deadRegistration.DeadDate)).TotalDays >= Days;
                            }
                        }
                    }
                    break;
                }
            }

            return(res);
        }
示例#2
0
        public static bool IsMarriageBeforeDivorce(string HusbandNationalNum, string WifeNationalNum, string IncidentDate)
        {
            bool res = false;

            using (EGovernmentEntities db = new EGovernmentEntities())
            {
                tblDivorceIncident divorceIncidents = db.tblDivorceIncidents.Where(x => x.HusbandNationalNum == HusbandNationalNum).Where(y => y.WifeNationalNum == WifeNationalNum).OrderByDescending(z => z.IncidentDate).FirstOrDefault(); // آخر واقعة طلاق

                if (divorceIncidents == null)
                {
                    return(false);
                }

                res = GetDate(divorceIncidents.IncidentDate) > GetDate(IncidentDate);
            }

            return(res);
        }
示例#3
0
        private void FillDocument(tblDivorceIncident divorceContract)
        {
            lbl_Amana.Text             = labelIssuedBy.Text = labelIssuedBy1.Text = Helper.GetAmanaNameByEmp(Session["CurrUser"]);
            lbl_Government.Text        = labelGovernorate.Text = Helper.GetAffairsNameByEmp(Session["CurrUser"]);
            labelIdHusband.Text        = divorceContract.HusbandNationalNum;
            labelIdWife.Text           = divorceContract.WifeNationalNum;
            labelNameController.Text   = Helper.GetControllerNameByEmp(Session["CurrUser"]);
            labelRegistrar.Text        = Helper.GetCivilRegistrarByEmp(Session["CurrUser"]);
            labelFirstNameHusbasd.Text = divorceContract.tblCitizen.FirstName;
            var father = Helper.GetCitizen(divorceContract.tblCitizen.FatherNationalNumber);

            labelFatherNameHusband.Text = (father != null) ? father.FirstName : string.Empty;
            var mother = Helper.GetCitizen(divorceContract.tblCitizen.MotherNationalNumber);

            labelReligionHusband.Text           = divorceContract.tblCitizen.Religion;
            labelAlamanaHusband.Text            = Helper.GetAmanaNameByEmp(Session["CurrUser"]);
            labelPlaceEntryHusband.Text         = divorceContract.tblCitizen.KiedPlace;
            labelRegistrationNumberHusbans.Text = divorceContract.tblCitizen.KiedNumber;
            lblHusbandId.Text           = divorceContract.tblCitizen.Id.ToString();
            labelIdFatherHusband.Text   = (father != null) ? father.NationalNumber : string.Empty;
            lblHusbandDivorcePlace.Text = divorceContract.DivorcePlace;
            lblHusbandDivorceDate.Text  = divorceContract.IncidentDate;

            labelNotes.Text = divorceContract.Notes;
            labelRegistrationNumberWife.Text = divorceContract.tblCitizen1.KiedNumber;
            labelFirstNameWife.Text          = divorceContract.tblCitizen1.FirstName;
            father = Helper.GetCitizen(divorceContract.tblCitizen1.FatherNationalNumber);
            labelFatherNameWife.Text = (father != null) ? father.FirstName : string.Empty;
            mother = Helper.GetCitizen(divorceContract.tblCitizen1.MotherNationalNumber);
            labelReligionWife.Text   = divorceContract.tblCitizen1.Religion;
            labelLastNameWife.Text   = divorceContract.tblCitizen1.LastName;
            labelIdFatherWife.Text   = (father != null) ? father.NationalNumber : string.Empty;
            labelAlmanWife.Text      = Helper.GetAmanaNameByEmp(Session["CurrUser"]);
            labelPlaceEntryWife.Text = divorceContract.tblCitizen1.KiedPlace;
            lblWifeId.Text           = divorceContract.tblCitizen1.Id.ToString();

            lblReference.Text         = divorceContract.Reference;
            DateDocument.Text         = lblMarrageDate.Text = divorceContract.IncidentDate;
            label_DocumentNumber.Text = labelDocumentNumber.Text = divorceContract.IncidentNumber.ToString();
        }
示例#4
0
        public static bool CheckIsWife(string HusbandNationalNum, string WifeNationalNum)
        {
            bool res = false;

            using (EGovernmentEntities db = new EGovernmentEntities())
            {
                tblMarriageContract marriageContracts = db.tblMarriageContracts.Where(x => x.HusbandNationalNum == HusbandNationalNum).Where(y => y.WifeNationalNum == WifeNationalNum).OrderByDescending(z => z.IncidentDate).FirstOrDefault();
                tblDivorceIncident  divorceIncidents  = db.tblDivorceIncidents.Where(x => x.HusbandNationalNum == HusbandNationalNum).Where(y => y.WifeNationalNum == WifeNationalNum).OrderByDescending(z => z.IncidentDate).FirstOrDefault();

                if (divorceIncidents == null && marriageContracts != null)
                {
                    res = true;
                }

                if (marriageContracts != null && divorceIncidents != null)
                {
                    res = GetDate(marriageContracts.IncidentDate) > GetDate(divorceIncidents.IncidentDate);
                }
            }

            return(res);
        }
        protected void btnAdd_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                int Penalty = Helper.GetPenalty(HusbandNationalNum.Text, (int)(DateTime.Today - DateTime.Parse(IncidentDate.Value)).TotalDays, IncidentType.Divorce);
                if (!Helper.CheckBalance(HusbandNationalNum.Text, Penalty))
                {
                    lblErrorMSG.Visible = true;
                    lblErrorMSG1.Text   = "لا يمكن إتمام واقعة الطلاق لأن حسابك لا يحوي على المبلغ الكافي لتسديد الضريبة";
                    return;
                }
                else
                {
                    lblErrorMSG.Visible = false;
                }
                using (EGovernmentEntities db = new EGovernmentEntities())
                {
                    if (db.tblCitizens.Where(x => x.NationalNumber == txtFirstWitness.Text).ToList().Count == 0)
                    {
                        lblErrorMSG.Visible = true;
                        lblErrorMSG1.Text   = "الرقم الوطني المدخل للشاهد الأول غير موجود في قاعدة البيانات";
                        return;
                    }
                    else
                    {
                        lblErrorMSG.Visible = false;
                    }

                    if (db.tblCitizens.Where(x => x.NationalNumber == txtSecondWitness.Text).ToList().Count == 0)
                    {
                        lblErrorMSG.Visible = true;
                        lblErrorMSG1.Text   = "الرقم الوطني المدخل للشاهد الثاني غير موجود في قاعدة البيانات";
                        return;
                    }
                    else
                    {
                        lblErrorMSG.Visible = false;
                    }


                    if (HusbandNationalNum.Text == txtFirstWitness.Text || HusbandNationalNum.Text == txtSecondWitness.Text)
                    {
                        lblErrorMSG.Visible = true;
                        lblErrorMSG1.Text   = "لا يمكن للزوج بأن يكون أحد الشهود";
                        return;
                    }
                    else
                    {
                        lblErrorMSG.Visible = false;
                    }

                    if (WifeNationalNum.Text == txtFirstWitness.Text || WifeNationalNum.Text == txtSecondWitness.Text)
                    {
                        lblErrorMSG.Visible = true;
                        lblErrorMSG1.Text   = "لا يمكن للزوجة بأن تكون أحد الشهود";
                        return;
                    }
                    else
                    {
                        lblErrorMSG.Visible = false;
                    }


                    if (txtFirstWitness.Text == txtSecondWitness.Text)
                    {
                        lblErrorMSG.Visible = true;
                        lblErrorMSG1.Text   = "لا يمكن الشهادة بشخص واحد";
                        return;
                    }
                    else
                    {
                        lblErrorMSG.Visible = false;
                    }

                    if (Helper.IsDead(txtFirstWitness.Text))
                    {
                        lblErrorMSG.Visible = true;
                        lblErrorMSG1.Text   = "الشاهد الأول هو شخص متوفى";
                        return;
                    }
                    else
                    {
                        lblErrorMSG.Visible = false;
                    }

                    if (Helper.IsDead(txtSecondWitness.Text))
                    {
                        lblErrorMSG.Visible = true;
                        lblErrorMSG1.Text   = "الشاهد الثاني هو شخص متوفى";
                        return;
                    }
                    else
                    {
                        lblErrorMSG.Visible = false;
                    }

                    if (!Helper.CheckIsWife(HusbandNationalNum.Text, WifeNationalNum.Text))
                    {
                        lblErrorMSG.Visible = true;
                        lblErrorMSG1.Text   = "لا يمكن إتمام العملية، لأن هذه المواطنة ليست على ذمة هذا الرجل";
                        return;
                    }
                    else
                    {
                        lblErrorMSG.Visible = false;
                    }

                    if (Helper.IsDivorceBeforeMarriage(HusbandNationalNum.Text, WifeNationalNum.Text, IncidentDate.Value))
                    {
                        lblErrorMSG.Visible = true;
                        lblErrorMSG1.Text   = "لا يمكن إتمام العملية، لأن تاريخ الطلاق يسبق تاريخ آخر واقعة زواج";
                        return;
                    }
                    else
                    {
                        lblErrorMSG.Visible = false;
                    }

                    if (Helper.GetDate(IncidentDate.Value) > DateTime.Now)
                    {
                        lblErrorMSG.Visible = true;
                        lblErrorMSG1.Text   = "تاريخ الطلاق أكبر من التاريخ الحالي";
                        return;
                    }
                    else
                    {
                        lblErrorMSG.Visible = false;
                    }

                    tblDivorceIncident divorceIncident = new tblDivorceIncident();

                    divorceIncident.HusbandNationalNum = HusbandNationalNum.Text;
                    divorceIncident.WifeNationalNum    = WifeNationalNum.Text;
                    divorceIncident.IncidentDate       = IncidentDate.Value;
                    divorceIncident.DivorceType        = ss1.Checked ? "1" : "0";
                    divorceIncident.DivorcePlace       = txtDivorcePlace.Text;
                    divorceIncident.DivorceReason      = txtDivorceReason.Text;
                    divorceIncident.Notes          = txtNotes.Text;
                    divorceIncident.Reference      = txtAuthorityAuthorizedContract.Text;
                    divorceIncident.DocumentNumber = int.Parse(txtDocumentNumber.Text);
                    divorceIncident.DocumentDate   = DateTime.Now.ToShortDateString();

                    int temp = -1;
                    int.TryParse(txtAdvocacyNum.Text, out temp);

                    if (temp != -1)
                    {
                        divorceIncident.AdvocacyNum = temp;
                    }

                    divorceIncident.FirstWitnessNationalNumber  = txtFirstWitness.Text;
                    divorceIncident.SecondWitnessNationalNumber = txtSecondWitness.Text;

                    db.tblDivorceIncidents.AddObject(divorceIncident);

                    if (Helper.GetActualWifes(HusbandNationalNum.Text).Count == 0)
                    {
                        Helper.EditSocialNumber(HusbandNationalNum.Text, SocialStatus.Divorced);
                    }

                    Helper.EditSocialNumber(WifeNationalNum.Text, SocialStatus.Divorced);

                    db.SaveChanges();

                    Helper.Pay(HusbandNationalNum.Text, Penalty);

                    Response.Redirect("/Finish");
                }
            }
        }