Ejemplo n.º 1
0
        /// <summary>
        /// صحت کد ملی وارد شده را برسی می کند @cite fa_wiki_irnationalid
        /// </summary>
        /// <param name="input">رشته کد ملی</param>
        /// <returns>bool</returns>
        public static bool IsValid(IRNationalID value)
        {
            string input = value.m_value;

            float sum          = 0;
            int   controlDigit = int.Parse(input[input.Length - 1].ToString());

            ///[Multilplying each digit by its own position and summing them up]
            for (int i = 0; i < 9; i++)
            {
                sum += float.Parse(input[i].ToString()) * (10 - i);
            }
            ///[Multilplying each digit by its own position and summing them up]

            float mod = sum % 11;

            ///[Either less than two or equal to control digit]
            if (mod < 2 && mod == controlDigit)
            {
                return(true);
            }
            else if (11 - mod == controlDigit)
            {
                return(true);
            }
            ///[Either less than two or equal to control digit]

            return(false);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// با استفاده از رشته ورودی یک IRNationalID می سازد. و موفقیت یا عدم موفقیت عمل را بر می گرداند.
 /// </summary>
 /// <param name="s">رشته متناظر با IRNAtionalID</param>
 /// <param name="result">IRNationalID ایجاد شده</param>
 /// <returns>نتیجه عمل Parse</returns>
 public static bool TryParse(string s, out IRNationalID result)
 {
     result = null;
     try
     {
         result = IRNationalID.Parse(s);
     }
     catch (Exception)
     {
         return(false);
     }
     return(true);
 }
Ejemplo n.º 3
0
        /// <summary>
        /// برسی یکسان بودن نمونه جاری با نمونه ورودی
        /// </summary>
        /// <param name="obj">نمونه وردی</param>
        /// <returns>نتیجه برسی</returns>
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }
            if (!(obj is IRNationalID))
            {
                return(false);
            }

            IRNationalID a = this;
            IRNationalID b = (IRNationalID)obj;

            return(a.m_value == b.m_value);
        }
        ///  <summary>
        ///  برسی یکسان بودن نمونه جاری با نمونه ورودی
        ///  </summary>
        ///  <param name="obj">نمونه وردی</param>
        ///  <returns>نتیجه برسی</returns>
        public override bool Equals(object obj)
        {
            bool areEqual = true;

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

            if (!(obj is Employee))
            {
                return(false);
            }

            Employee A = (Employee)this;
            Employee B = (Employee)obj;

            areEqual &= A.ID.Equals(B.ID);
            areEqual &= A.FirstName == B.FirstName;
            areEqual &= A.LastName == B.LastName;
            areEqual &= A.Gender == B.Gender;
            areEqual &= A.DateOfBirth == B.DateOfBirth;
            areEqual &= IRNationalID.Equals(A.NationalID, B.NationalID);
            areEqual &= A.IdentityNumber == B.IdentityNumber;
            areEqual &= EmployeeID.Equals(A.EmployeeID, B.EmployeeID);
            areEqual &= WorkSchedule.Equals(A.WorkSchedule, B.WorkSchedule);

            // areEqual &= A.ProfilePicture ==B.ProfilePicture;


            areEqual &= A.ContactInformations.Count == B.ContactInformations.Count;
            for (int i = 0; areEqual && i < A.ContactInformations.Count; i++)
            {
                areEqual &= ContactInformation.Equals(A.ContactInformations[i], B.ContactInformations[i]);
            }

            return(areEqual);
        }