Ejemplo n.º 1
0
    public static void Main()
    {
        Calendar cal         = new UmAlQuraCalendar();
        int      currentYear = cal.GetYear(DateTime.Now);

        Console.WriteLine("Era     Year     Days\n");
        foreach (int era in cal.Eras)
        {
            for (int year = currentYear; year <= currentYear + 9; year++)
            {
                Console.WriteLine("{0}{1}      {2}      {3}",
                                  ShowCurrentEra(cal, era), era, year,
                                  cal.GetDaysInYear(year, era));
            }
        }
        Console.WriteLine("\n   * Indicates the current era.");
    }
Ejemplo n.º 2
0
    public static void Main()
    {
        DateTime date1 = new DateTime(2011, 4, 3, new GregorianCalendar());
        Calendar cal   = new UmAlQuraCalendar();

        Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1);
        DisplayCalendarInfo(cal, date1);

        // Add 2 years and 10 months by calling UmAlQuraCalendar methods.
        date1 = cal.AddYears(date1, 2);
        date1 = cal.AddMonths(date1, 10);

        Console.WriteLine("After adding 2 years and 10 months in the {0} calendar,",
                          GetCalendarName(cal));
        Console.WriteLine("{0:MMMM d, yyyy} in the Gregorian calendar is equivalent to:", date1);
        DisplayCalendarInfo(cal, date1);
    }
Ejemplo n.º 3
0
        public static string GregToHijriCompleteWithDay(DateTime dtTime)
        {
            if (dtTime == DateTime.MinValue)
            {
                return("");
            }
            UmAlQuraCalendar calHijri = new UmAlQuraCalendar();
            CultureInfo      info     = new CultureInfo("ar-sa");

            info.DateTimeFormat.Calendar = calHijri;
            string weekday        = Convert.ToString(calHijri.GetDayOfWeek(dtTime));
            int    CurrDayOfMonth = calHijri.GetDayOfMonth(dtTime);
            int    CurrMonth      = calHijri.GetMonth(dtTime);
            int    Curryear       = calHijri.GetYear(dtTime);

            return(string.Format("{0} {3}/{2}/{1}  هـ ", dtTime.ToString("dddd", info), CurrDayOfMonth.ToString(), CurrMonth.ToString(), Curryear.ToString()));
        }
Ejemplo n.º 4
0
        public static string HijriToGregDate(this string value)
        {
            var         umQra = new UmAlQuraCalendar();
            CultureInfo arCul = new CultureInfo("ar-SA");
            CultureInfo enCul = new CultureInfo("en-US");

            // string[] allFormats = { "yyyy/MM/dd", "yyyy/M/d", "dd/MM/yyyy", "d/M/yyyy", "dd/M/yyyy", "d/MM/yyyy", "yyyy-MM-dd", "yyyy-M-d", "dd-MM-yyyy", "d-M-yyyy", "dd-M-yyyy", "d-MM-yyyy", "yyyy MM dd", "yyyy M d", "dd MM yyyy", "d M yyyy", "dd M yyyy", "d MM yyyy" };
            arCul.DateTimeFormat.Calendar = umQra;

            if (string.IsNullOrEmpty(value))
            {
                return(null);
            }

            DateTime tempDate = DateTime.ParseExact(value, "d/M/yyyy", arCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces);

            return(tempDate.ToString("dd/MM/yyyy", enCul.DateTimeFormat));
        }
Ejemplo n.º 5
0
        public int getWeekStartFrom()
        {
            var temp     = new UmAlQuraCalendar();
            var tempdate = new DateTime(_countYear, _countMonth + 1, 1);

            CultureInfo arSA = new CultureInfo("ar-SA");

            arSA.DateTimeFormat.Calendar = new UmAlQuraCalendar();
            var dateValue = DateTime.ParseExact(tempdate.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture), "dd/MM/yyyy", arSA);

            var weekstartfrom = (int)temp.GetDayOfWeek(dateValue);

            if (weekstartfrom == 0)
            {
                return(1);
            }
            return(weekstartfrom);
        }
Ejemplo n.º 6
0
    public static void Main()
    {
        Calendar cal     = new UmAlQuraCalendar();
        DateTime minDate = cal.MinSupportedDateTime;
        DateTime maxDate = cal.MaxSupportedDateTime;

        Console.WriteLine("Range of the Um Al Qura calendar:");
        // Is UmAlQuraCalendar the current calendar?
        if (DateTimeFormatInfo.CurrentInfo.Calendar.ToString().Contains("UmAlQura"))
        {
            Calendar greg = new GregorianCalendar();
            Console.WriteLine("   Minimum: {0:d2}/{1:d2}/{2:d4} {3:HH:mm:ss} Gregorian, {3:MM/dd/yyyy HH:mm:ss} Um Al Qura",
                              greg.GetMonth(minDate), greg.GetDayOfMonth(minDate),
                              greg.GetYear(minDate), minDate);
            Console.WriteLine("   Maximum: {0:d2}/{1:d2}/{2:d4} {3:HH:mm:ss} Gregorian, {3:MM/dd/yyyy HH:mm:ss} Um Al Qura",
                              greg.GetMonth(maxDate), greg.GetDayOfMonth(maxDate),
                              greg.GetYear(maxDate), maxDate);
        }
        // Is Gregorian the current calendar?
        else if (DateTimeFormatInfo.CurrentInfo.Calendar.ToString().Contains("Gregorian"))
        {
            Console.WriteLine("   Minimum: {0:d} {0:HH:mm:ss} Gregorian, {1:d2}/{2:d2}/{3:d4} {0:HH:mm:ss} Um Al Qura",
                              minDate, cal.GetMonth(minDate), cal.GetDayOfMonth(minDate),
                              cal.GetYear(minDate));
            Console.WriteLine("   Maximum: {0:d} {0:HH:mm:ss} Gregorian, {1:d2}/{2:d2}/{3:d4} {0:HH:mm:ss} Um Al Qura",
                              maxDate, cal.GetMonth(maxDate), cal.GetDayOfMonth(maxDate),
                              cal.GetYear(maxDate));
        }
        // Display ranges if some other calendar is current.
        else
        {
            GregorianCalendar greg = new GregorianCalendar();
            Console.WriteLine("   Minimum: {1:d2}/{2:d2}/{3:d4} {0:HH:mm:ss} " +
                              "Gregorian, {4:d2}/{5:d2}/{6:d4} {0:HH:mm:ss} Um Al Qura",
                              minDate, greg.GetMonth(minDate), greg.GetDayOfMonth(minDate),
                              greg.GetYear(minDate), cal.GetMonth(minDate), cal.GetDayOfMonth(minDate),
                              cal.GetYear(minDate));
            Console.WriteLine("   Maximum: {1:d2}/{2:d2}/{3:d4} {0:HH:mm:ss} " +
                              "Gregorian, {4:d2}/{5:d2}/{6:d4} {0:HH:mm:ss} Um Al Qura",
                              maxDate, greg.GetMonth(maxDate), greg.GetDayOfMonth(maxDate),
                              greg.GetYear(maxDate), cal.GetMonth(maxDate), cal.GetDayOfMonth(maxDate),
                              cal.GetYear(maxDate));
        }
    }
Ejemplo n.º 7
0
        public static DateTime?HijriToGregDateObj(this string value)
        {
            var         umQra = new UmAlQuraCalendar();
            CultureInfo arCul = new CultureInfo("ar-SA");
            CultureInfo enCul = new CultureInfo("en-US");

            arCul.DateTimeFormat.Calendar = umQra;

            if (string.IsNullOrEmpty(value))
            {
                return(null);
            }

            DateTime tempDate = DateTime.MinValue;

            DateTime.TryParseExact(value, "yyyy-MM-dd", arCul.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces, out tempDate);

            return(tempDate == DateTime.MinValue ? null : (DateTime?)tempDate);
        }
Ejemplo n.º 8
0
    public static void Main()
    {
        UmAlQuraCalendar cal    = new UmAlQuraCalendar();
        List <string>    months = new List <string>();
        string           output = String.Empty;

        // Get the current year in the UmAlQura calendar.
        int startYear = cal.GetYear(DateTime.Now);

        // Display the number of days in each month for the next five years.
        Console.WriteLine("          Days in Each Month, {0} to {1}\n",
                          startYear, startYear + 4);

        Console.WriteLine("Month     {0}     {1}     {2}     {3}     {4}",
                          startYear, startYear + 1, startYear + 2, startYear + 3,
                          startYear + 4);
        for (int year = startYear; year <= startYear + 4; year++)
        {
            int days;
            for (int month = 1; month <= cal.GetMonthsInYear(year, UmAlQuraCalendar.UmAlQuraEra);
                 month++)
            {
                days = cal.GetDaysInMonth(year, month,
                                          UmAlQuraCalendar.UmAlQuraEra);
                output = String.Format("{0}     ", days);
                if (months.Count < month)
                {
                    months.Add(String.Format("{0,4}        {1}",
                                             month, output));
                }
                else
                {
                    months[month - 1] += "  " + output;
                }
            }
        }

        foreach (var item in months)
        {
            Console.WriteLine(item);
        }
    }
Ejemplo n.º 9
0
        public static List <string> GetMonths()
        {
            UmAlQuraCalendar um = new UmAlQuraCalendar();
            var dt = new DataTable();
            var GetDateFromDatabase = new OrcDataAcess();

            GetDateFromDatabase.show3(dt);
            var Result    = new List <string>();
            var MonthList = new List <string>();
            var WholeDate = new List <string>();

            foreach (DataRow item in dt.Rows)
            {
                WholeDate.Add((DateTime.Parse(item.Field <string>("DAT")).Year.ToString()).Contains("143") || DateTime.Parse(item.Field <string>("DAT")).Year.ToString().Contains("144") ?
                              DateTime.Parse(item.Field <string>("DAT")).Month.ToString() :
                              um.GetMonth(DateTime.Parse(item.Field <string>("DAT"))).ToString());
            }

            return(WholeDate);
        }
Ejemplo n.º 10
0
        public Calendar()
        {
            //arCul = new CultureInfo("ar-SA");
            //enCul = new CultureInfo("en-US");

            //UmAlQura = new UmAlQuraCalendar();
            //Greg = new GregorianCalendar(GregorianCalendarTypes.USEnglish);

            //arCul.DateTimeFormat.Calendar = UmAlQura;
            //enCul.DateTimeFormat.Calendar = Greg;
            cur = HttpContext.Current;

            arCul = new CultureInfo("ar-SA");
            enCul = new CultureInfo("en-US");

            UmAlQura = new UmAlQuraCalendar();
            Greg     = new GregorianCalendar(GregorianCalendarTypes.USEnglish);

            arCul.DateTimeFormat.Calendar = UmAlQura;
        }
Ejemplo n.º 11
0
        /// <summary>
        /// لتحويل التاريخ  من ميلادي الى هجري
        /// </summary>
        /// <param name="TempDateTime">المراد تحويل *برامتر*</param>
        /// <returns>
        /// التاريخ الهجري
        ///
        /// </returns>
        public static String ConvertToHijri(String Greg)
        {
            try
            {
                UmAlQuraCalendar umm = new UmAlQuraCalendar();
                if (int.Parse(umm.GetYear(DateTime.Parse(Greg)).ToString()) < 1600)
                {
                    return(Greg);
                }



                UmAlQuraCalendar um   = new UmAlQuraCalendar();
                String           Temp = "";
                HijriCalendar    H    = new HijriCalendar();


                GregorianCalendar Gr       = new GregorianCalendar(GregorianCalendarTypes.USEnglish);
                DateTime          DateTemp = new DateTime(int.Parse(GetYears(Greg)), int.Parse(GetMonths(Greg)), int.Parse(GetDays(Greg)), new GregorianCalendar());
                Temp = (um.GetYear(DateTemp)).ToString() + "/" + um.GetMonth(DateTemp).ToString() + "/" + um.GetDayOfMonth(DateTemp).ToString();
                //System.Windows.MessageBox.Show(Temp);
                //Temp = H.GetYear(DateTemp).ToString() + "/" + H.GetMonth(DateTemp).ToString() + "/" + H.GetDayOfMonth(DateTemp).ToString();
                //DateTime FinallConv = Convert.ToDateTime(Temp);
                //Temp = FinallConv.ToString("yyyy/MM/dd");

                return(Temp);
            }
            catch (Exception ex)
            {
                var HelperTSC = new HelperToSaveConvert();
                Greg = HelperTSC.LastSloution(Greg);
                UmAlQuraCalendar  um       = new UmAlQuraCalendar();
                String            Temp     = "";
                HijriCalendar     H        = new HijriCalendar();
                GregorianCalendar Gr       = new GregorianCalendar(GregorianCalendarTypes.USEnglish);
                DateTime          TempDate = Convert.ToDateTime(Greg);
                DateTime          DateTemp = new DateTime(int.Parse(GetYears(Greg)), int.Parse(GetMonths(Greg)), int.Parse(GetDays(Greg)), new GregorianCalendar());
                Temp = (um.GetYear(DateTemp)).ToString() + "/" + um.GetMonth(DateTemp).ToString() + "/" + um.GetDayOfMonth(DateTemp).ToString();
                return(Temp);
            }
        }
Ejemplo n.º 12
0
        public static List <string> GetYears()
        {
            UmAlQuraCalendar um = new UmAlQuraCalendar();
            var dt = new DataTable();
            var GetDateFromDatabase = new ModelMega();

            GetDateFromDatabase.show(dt);
            var Result    = new List <string>();
            var WholeDate = new List <string>();

            foreach (DataRow item in dt.Rows)
            {
                WholeDate.Add((DateTime.Parse(item.Field <string>("datrec")).Year.ToString()).Contains("143") || DateTime.Parse(item.Field <string>("datrec")).Year.ToString().Contains("144") ?
                              DateTime.Parse(item.Field <string>("datrec")).Year.ToString() :
                              um.GetYear(DateTime.Parse(item.Field <string>("datrec"))).ToString());
            }



            return(WholeDate);
        }
Ejemplo n.º 13
0
        public static void Cultures()
        {
            // These classes won't be linked away because of the code.
            //
            // This is to resolve crash at CultureInfo.CurrentCulture
            // when language is set to Thai. See
            // https://github.com/xamarin/Xamarin.Forms/issues/4037

            _ = new ChineseLunisolarCalendar();
            _ = new HebrewCalendar();
            _ = new HijriCalendar();
            _ = new JapaneseCalendar();
            _ = new JapaneseLunisolarCalendar();
            _ = new KoreanCalendar();
            _ = new KoreanLunisolarCalendar();
            _ = new PersianCalendar();
            _ = new TaiwanCalendar();
            _ = new TaiwanLunisolarCalendar();
            _ = new ThaiBuddhistCalendar();
            _ = new UmAlQuraCalendar();
        }
Ejemplo n.º 14
0
    public static int GetDiffMonths(DateTime?d1, DateTime?d2)
    {
        if (d1 == d2)
        {
            return(0);
        }

        UmAlQuraCalendar umalqura  = new UmAlQuraCalendar();
        DateTime         startDate = d1.Value > d2.Value ? d2.Value : d1.Value;
        DateTime         endDate   = d1.Value > d2.Value ? d1.Value : d2.Value;
        DateTime         tmpDate   = startDate;

        int monthCounter = 0;

        while (umalqura.AddMonths(tmpDate, 1).AddDays(-1) <= endDate)
        {
            monthCounter++;
            tmpDate = umalqura.AddMonths(tmpDate, 1);
        }
        return(monthCounter);
    }
Ejemplo n.º 15
0
        /// <summary>返回设置为指定的日期、时间和纪元的 <see cref="T:System.DateTime" />。</summary>
        /// <returns>设置为当前纪元中的指定日期和时间的 <see cref="T:System.DateTime" />。</returns>
        /// <param name="year">年份。</param>
        /// <param name="month">1 到 12 之间的一个整数,用于表示月。</param>
        /// <param name="day">1 到 29 之间的一个整数,用于表示日。</param>
        /// <param name="hour">0 到 23 之间的一个整数,用于表示小时。</param>
        /// <param name="minute">0 到 59 之间的一个整数,用于表示分钟。</param>
        /// <param name="second">0 到 59 之间的一个整数,用于表示秒。</param>
        /// <param name="millisecond">0 到 999 之间的一个整数,用于表示毫秒。</param>
        /// <param name="era">纪元。指定 UmAlQuraCalendar.Eras[UmAlQuraCalendar.CurrentEra] 或 <see cref="F:System.Globalization.UmAlQuraCalendar.UmAlQuraEra" />。</param>
        /// <exception cref="T:System.ArgumentOutOfRangeException">
        /// <paramref name="year" />、<paramref name="month" />、<paramref name="day" /> 或 <paramref name="era" /> 超出了 <see cref="T:System.Globalization.UmAlQuraCalendar" /> 类支持的范围。- 或 -<paramref name="hour" /> 小于零或大于 23。- 或 -<paramref name="minute" /> 小于零或大于 59。- 或 -<paramref name="second" /> 小于零或大于 59。- 或 -<paramref name="millisecond" /> 小于零或大于 999。</exception>
        public override DateTime ToDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, int era)
        {
            if (day >= 1 && day <= 29)
            {
                UmAlQuraCalendar.CheckYearMonthRange(year, month, era);
            }
            else
            {
                int daysInMonth = this.GetDaysInMonth(year, month, era);
                if (day < 1 || day > daysInMonth)
                {
                    throw new ArgumentOutOfRangeException("day", string.Format((IFormatProvider)CultureInfo.CurrentCulture, Environment.GetResourceString("ArgumentOutOfRange_Day"), (object)daysInMonth, (object)month));
                }
            }
            long absoluteDateUmAlQura = UmAlQuraCalendar.GetAbsoluteDateUmAlQura(year, month, day);

            if (absoluteDateUmAlQura >= 0L)
            {
                return(new DateTime(absoluteDateUmAlQura * 864000000000L + Calendar.TimeToTicks(hour, minute, second, millisecond)));
            }
            throw new ArgumentOutOfRangeException((string)null, Environment.GetResourceString("ArgumentOutOfRange_BadYearMonthDay"));
        }
Ejemplo n.º 16
0
    public static void Main()
    {
        // Make Arabic (Egypt) the current culture
        // and Umm al-Qura calendar the current calendar.
        CultureInfo arEG = CultureInfo.CreateSpecificCulture("ar-EG");
        Calendar    cal  = new UmAlQuraCalendar();

        arEG.DateTimeFormat.Calendar        = cal;
        Thread.CurrentThread.CurrentCulture = arEG;

        // Display information on current culture and calendar.
        DisplayCurrentInfo();

        // Instantiate a date object.
        DateTime date1 = new DateTime(2011, 7, 15);

        // Display the string representation of the date.
        Console.WriteLine("Date: {0:d}", date1);
        Console.WriteLine("Date in the Invariant Culture: {0}",
                          date1.ToString("d", CultureInfo.InvariantCulture));
        Console.WriteLine();

        // Compare DateTime properties and Calendar methods.
        Console.WriteLine("DateTime.Month property: {0}", date1.Month);
        Console.WriteLine("UmAlQura.GetMonth: {0}",
                          cal.GetMonth(date1));
        Console.WriteLine();

        Console.WriteLine("DateTime.Day property: {0}", date1.Day);
        Console.WriteLine("UmAlQura.GetDayOfMonth: {0}",
                          cal.GetDayOfMonth(date1));
        Console.WriteLine();

        Console.WriteLine("DateTime.Year property: {0:D4}", date1.Year);
        Console.WriteLine("UmAlQura.GetYear: {0}",
                          cal.GetYear(date1));
        Console.WriteLine();
    }
Ejemplo n.º 17
0
        /// <summary>计算与指定初始日期相距指定月数的日期。</summary>
        /// <returns>在将 <paramref name="months" /> 参数指定的月数加到 <paramref name="time" /> 参数指定的日期后所得的日期。</returns>
        /// <param name="time">要加上月数的日期。<see cref="T:System.Globalization.UmAlQuraCalendar" /> 类仅支持从 04/30/1900 00.00.00(公历日期)到 11/16/2077 23:59:59(公历日期)的日期。</param>
        /// <param name="months">要添加的正月数或负月数。</param>
        /// <exception cref="T:System.ArgumentException">得到的日期不在 <see cref="T:System.Globalization.UmAlQuraCalendar" /> 类支持的范围内。</exception>
        /// <exception cref="T:System.ArgumentOutOfRangeException">
        /// <paramref name="months" /> 小于 -120,000 或大于 120,000。- 或 -<paramref name="time" /> 超出了此日历支持的范围。</exception>
        public override DateTime AddMonths(DateTime time, int months)
        {
            if (months < -120000 || months > 120000)
            {
                throw new ArgumentOutOfRangeException("months", string.Format((IFormatProvider)CultureInfo.CurrentCulture, Environment.GetResourceString("ArgumentOutOfRange_Range"), (object)-120000, (object)120000));
            }
            int datePart1 = this.GetDatePart(time, 0);
            int datePart2 = this.GetDatePart(time, 2);
            int day       = this.GetDatePart(time, 3);
            int num       = datePart2 - 1 + months;
            int month;
            int year;

            if (num >= 0)
            {
                month = num % 12 + 1;
                year  = datePart1 + num / 12;
            }
            else
            {
                month = 12 + (num + 1) % 12;
                year  = datePart1 + (num - 11) / 12;
            }
            if (day > 29)
            {
                int daysInMonth = this.GetDaysInMonth(year, month);
                if (day > daysInMonth)
                {
                    day = daysInMonth;
                }
            }
            UmAlQuraCalendar.CheckYearRange(year, 1);
            DateTime dateTime = new DateTime(UmAlQuraCalendar.GetAbsoluteDateUmAlQura(year, month, day) * 864000000000L + time.Ticks % 864000000000L);

            Calendar.CheckAddResult(dateTime.Ticks, this.MinSupportedDateTime, this.MaxSupportedDateTime);
            return(dateTime);
        }
Ejemplo n.º 18
0
        static string AveragePaymentDate(List <Payment> payments)
        {
            List <DateTime> dates = new List <DateTime>();

            foreach (var payment in payments)
            {
                UmAlQuraCalendar calendar = new UmAlQuraCalendar();
                string           s        = payment.PayDate;
                int d = int.Parse(s.Substring(6, 2));
                int m = int.Parse(s.Substring(4, 2));
                //DateTime d = DateTime.Parse(Helper.ApplyDateMask(payment.PayDate));
                //We have to change the year of all payments to the current year, so all payments will be
                //treated eqaully when getting average and the average will be calculated based on the difference
                // only in month and day.
                DateTime dateAfterAddingFakeYear;
                try
                {
                    dateAfterAddingFakeYear = new DateTime(1437, m, d, calendar);
                }
                catch (ArgumentOutOfRangeException) //This is in case of the day of month is 30 where calendar sees it only up to 29
                {
                    d = d - 1;
                    dateAfterAddingFakeYear = new DateTime(1437, m, d, calendar);
                }

                dates.Add(dateAfterAddingFakeYear);
            }
            var    count = payments.Count;
            double temp  = 0D;

            for (int i = 0; i < count; i++)
            {
                temp += dates[i].Ticks / (double)count;
            }
            return(new DateTime((long)temp).Date.ToString("yyyyMMdd"));
        }
Ejemplo n.º 19
0
        /// <summary>
        /// Add Years or Months or days
        /// </summary>
        /// <param name="Date">yyyy/MM/dd</param>
        /// <param name="Part">Y=Year, M=Month, D=Day</param>
        /// <param name="Val">Give it Value</param>
        /// <param name="format">Give it format</param>
        /// <returns></returns>
        public static string Hij_AddPart(string Date, string Part, int Val, string format)
        {
            int Year  = Convert.ToInt32(Date.Substring(0, 4));
            int Month = Convert.ToInt32(Date.Substring(5, 2));
            int day   = Convert.ToInt32(Date.Substring(8, 2));

            CultureInfo      arCul = new CultureInfo("ar-SA");
            UmAlQuraCalendar h     = new UmAlQuraCalendar();

            arCul.DateTimeFormat.Calendar = h;

            DateTime dat = new DateTime();

            if (Part == "Y")
            {
                dat = h.AddYears(new DateTime(Year, Month, day, h), Val);
            }
            else if (Part == "D")
            {
                dat = h.AddDays(new DateTime(Year, Month, day, h), Val);
            }

            return(dat.ToString(format, arCul.DateTimeFormat));
        }
Ejemplo n.º 20
0
        private void Print_Click(object sender, RoutedEventArgs e)
        {
            var SumPricee = new FunctionsOfSum();

            var Fa_delete = new Assest.OrcDataAcess();
            var FA        = new Assest.OrcDataAcess();

            try
            {
                double afo      = 0;
                var    Filtring = new List <string>();
                foreach (string item in PriceList)
                {
                    Filtring.Add(item.Replace("SAR", ""));
                }

                var           accc = new Assest.OrcDataAcess();
                List <string> L0   = new List <string>();
                List <string> L1   = new List <string>();
                List <string> L2   = new List <string>();
                List <string> L3   = new List <string>();
                List <string> L4   = new List <string>();
                List <string> L5   = new List <string>();
                List <string> L6   = new List <string>(); //
                List <string> L7   = new List <string>(); //dis
                List <string> L8   = new List <string>(); //pricef
                List <string> L9   = new List <string>(); //dat


                /*
                 *
                 *
                 *
                 */



                DataTable tt = new DataTable();
                accc.Show(tt);

                //                Finall_Price = (Double)((Price * Discount) / 100) - Price;

                foreach (DataRow r in tt.Rows)
                {
                    L1.Add(r.Field <string>("NAME"));
                    L2.Add(r.Field <string>("BARCODE"));
                    L3.Add(r.Field <string>("PRICE_A"));
                    L4.Add(r.Field <string>("PRICE"));
                    L5.Add(r.Field <string>("ID"));
                    L6.Add(r.Field <string>("QUANTITY"));
                    L7.Add(r.Field <string>("Dis"));
                    L8.Add(r.Field <string>("Price_F"));
                }
                tt.Clear();
                accc.show3(tt);
                foreach (DataRow r in tt.Rows)
                {
                    L0.Add(r.Field <String>("NUMF"));
                }
                foreach (string asf in Filtring)
                {
                    afo += double.Parse(asf);
                }
                PriceList.Add(afo.ToString());
                Pricce.Text = "SAR " + afo.ToString();

                var RepHelper = new ReportHelper();
                var ILIST     = new List <ReportHelper>();
                ILIST.Add(new ReportHelper()
                {
                    Getprice_ = Pricce.Text
                });
                XtraReport3 report            = new XtraReport3();
                SQLiteConnectionParameters FF = new SQLiteConnectionParameters();
                FF.FileName = System.Windows.Forms.Application.StartupPath + "\\dbPascal.db";
                ((SqlDataSource)report.DataSource).ConnectionParameters = FF;
                XtraReportPreviewModel model   = new XtraReportPreviewModel(report);
                DocumentPreviewWindow  windoww = new DocumentPreviewWindow()
                {
                    Model = model
                };
                report.CreateDocument(true);
                windoww.ShowDialog();

                string id_3 = "";
                //int finalprice = int.Parse(SumPricee.sumPrice().Replace("SAR", "").Replace(",", ""));
                //double Ristt = double.Parse(afo.ToString().Replace("SAR", "").Replace(",", ""));
                //double FInaal = finalprice + Ristt;
                for (int i = 0; i < L1.Count; i++)
                {
                    if (L1[i] == Name.Text)
                    {
                        id_3 = L5[i];
                    }
                }
                List <int> sawf = new List <int>();

                foreach (string d in L0)
                {
                    sawf.Add(int.Parse(d));
                }
                #region Convert Days to arabic language
                string dayoftheweek = "";
                switch (DateTime.Now.DayOfWeek)
                {
                case DayOfWeek.Sunday:
                {
                    dayoftheweek = ".الاحد";
                    break;
                }

                case DayOfWeek.Monday:
                {
                    dayoftheweek = ".الاثنين";
                    break;
                }

                case DayOfWeek.Thursday:
                {
                    dayoftheweek = ".الخميس";
                    break;
                }

                case DayOfWeek.Saturday:
                {
                    dayoftheweek = ".السبت";
                    break;
                }

                case DayOfWeek.Friday:
                {
                    dayoftheweek = "الجمعة.";
                    break;
                }

                case DayOfWeek.Tuesday:
                {
                    dayoftheweek = "الثلاثاء.";
                    break;
                }

                case DayOfWeek.Wednesday:
                {
                    dayoftheweek = "الاربعاء.";
                    break;
                }
                }
                #endregion
                if (L0.Count == 0)
                {
                    //null
                }

                else
                {
                    numfa = sawf.Max() + 1;
                }
                if (sawf.Count == 0)
                {
                    UmAlQuraCalendar um          = new UmAlQuraCalendar();
                    String           CurrentDate = (int.Parse(DateTime.Now.Year.ToString()) < 1600) ? DateTime.Now.Year.ToString() + "/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Day.ToString() :
                                                   um.GetYear(DateTime.Parse(DateTime.Now.ToString())).ToString() + "/" + um.GetMonth(DateTime.Parse(DateTime.Now.ToString())).ToString() + "/" + um.GetDayOfMonth(DateTime.Parse(DateTime.Now.ToString())).ToString();

                    for (int i = 0; i < L1.Count; i++)
                    {
                        double Price        = 0;
                        double Discount     = 0;
                        double Finall_Price = 0;
                        string Result       = "";

                        DateTime dtttt = new DateTime();
                        for (int ii = 0; ii < asdf.Count; ii++)
                        {
                            if (L1[i] == asdf[ii])
                            {
                                accc.insert3(CurrentDate, L1[i], getwholeprice(i, L4, L7), L5[i], L6[i], L3[i], L2[i], numfa.ToString(), dayoftheweek, Pricce.Text);

                                Price        = (String.IsNullOrEmpty(L4[i].Replace("SAR", ""))) ? 0 : (Double)Double.Parse(double.Parse(L4[i].Replace("SAR", "")).ToString().Replace("SAR", ""));
                                Discount     = (String.IsNullOrEmpty(L7[i].Replace("%", ""))) ? 0 : (Double)Double.Parse(double.Parse(L7[i].Replace("%", "")).ToString().Replace("%", ""));
                                Finall_Price = (Double)((Price * Discount) / 100) - Price;
                                Finall_Price = Finall_Price * int.Parse(L6[i]);
                                Result       = "SAR " + Finall_Price.ToString("N2").Replace("-", "");
                                var mainwi = new MainWindow(L1[i], L4[i], L6[i], L2[i], L3[i], L5[i], L7[i], Result);
                                mainwi.EDIT_MAX();
                            }

                            /*
                             *
                             * L1.Add(r.Field<string>("NAME"));
                             * L2.Add(r.Field<string>("BARCODE"));
                             * L3.Add(r.Field<string>("PRICE_A"));
                             * L4.Add(r.Field<string>("PRICE"));
                             * L5.Add(r.Field<string>("ID"));
                             * L6.Add(r.Field<string>("QUANTITY"));
                             * L7.Add(r.Field<string>("Dis"));
                             * L8.Add(r.Field<string>("Price_F"));
                             */
                        }
                    }

                    if (GID.Count > 0)
                    {
                        for (int i = 0; i < GID.Count; i++)
                        {
                            FA.Delete(GID[i]);
                        }
                    }
                }
                else
                {
                    #region Date

                    UmAlQuraCalendar um          = new UmAlQuraCalendar();
                    String           CurrentDate = (int.Parse(DateTime.Now.Year.ToString()) < 1600) ? DateTime.Now.Year.ToString() + "/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Day.ToString() :
                                                   um.GetYear(DateTime.Parse(DateTime.Now.ToString())).ToString() + "/" + um.GetMonth(DateTime.Parse(DateTime.Now.ToString())).ToString() + "/" + um.GetDayOfMonth(DateTime.Parse(DateTime.Now.ToString())).ToString();

                    #endregion


                    for (int i = 0; i < L1.Count; i++)
                    {
                        double Price        = 0;
                        double Discount     = 0;
                        double Finall_Price = 0;
                        string Result       = "";

                        DateTime dtttt = new DateTime();
                        for (int ii = 0; ii < asdf.Count; ii++)
                        {
                            if (L1[i] == asdf[ii])
                            {
                                accc.insert3(CurrentDate, L1[i], getwholeprice(i, L4, L7), L5[i], L6[i], L3[i], L2[i], numfa.ToString(), dayoftheweek, Pricce.Text);
                                Price        = (String.IsNullOrEmpty(L4[i].Replace("SAR", ""))) ? 0 : (Double)Double.Parse(double.Parse(L4[i].Replace("SAR", "")).ToString().Replace("SAR", ""));
                                Discount     = (String.IsNullOrEmpty(L7[i].Replace("%", ""))) ? 0 : (Double)Double.Parse(double.Parse(L7[i].Replace("%", "")).ToString().Replace("%", ""));
                                Finall_Price = (Double)((Price * Discount) / 100) - Price;
                                Finall_Price = Finall_Price * int.Parse(L6[i]);
                                Result       = "SAR " + Finall_Price.ToString("N2").Replace("-", "");
                                var mainwi = new MainWindow(L1[i], L4[i], L6[i], L2[i], L3[i], L5[i], L7[i], Result);
                                mainwi.EDIT_MAX();
                            }
                        }
                    }

                    if (GID.Count > 0)
                    {
                        for (int i = 0; i < GID.Count; i++)
                        {
                            FA.Updating_QUa("0", GID[i].ToString());
                        }
                    }
                }
                asdf.Clear();



                for (int i = 0; i < PriceList.Count; i++)
                {
                    Fa_delete._Delete(double.Parse(PriceList[i].Replace("SAR", "").Replace(",", "")));
                }
            }
            catch (Exception ex) { System.Windows.MessageBox.Show(ex.Message + ":" + ex.HResult.ToString()); }
            DD.ItemsSource = "";
            Observ.Clear();
            NameList.Clear();
            PriceList.Clear();
        }
        public void GenerateData()
        {
            var      bclCalendar = new UmAlQuraCalendar();
            DateTime minDateTime = bclCalendar.MinSupportedDateTime;

            // Work out the min and max supported years, ensuring that we support complete years.
            var minYear = bclCalendar.GetYear(minDateTime);

            if (bclCalendar.GetMonth(minDateTime) != 1 || bclCalendar.GetDayOfMonth(minDateTime) != 1)
            {
                minYear++;
            }

            DateTime maxDateTime = bclCalendar.MaxSupportedDateTime;
            var      maxYear     = bclCalendar.GetYear(maxDateTime);

            if (bclCalendar.GetMonth(maxDateTime) != 12 || bclCalendar.GetDayOfMonth(maxDateTime) != bclCalendar.GetDaysInMonth(maxYear, 12))
            {
                maxYear--;
            }

            // This is two elements longer than it needs to be, but it's simpler this way.
            var monthLengths = new ushort[maxYear - minYear + 3];

            for (int year = minYear; year <= maxYear; year++)
            {
                int    yearIndex = year - minYear + 1;
                ushort monthBits = 0;
                for (int month = 1; month <= 12; month++)
                {
                    if (bclCalendar.GetDaysInMonth(year, month) == 30)
                    {
                        monthBits |= (ushort)(1 << month);
                    }
                }
                monthLengths[yearIndex] = monthBits;
            }
            byte[] data = monthLengths.SelectMany(value => new[] { (byte)(value >> 8), (byte)(value & 0xff) }).ToArray();

            // Assume every 10 years before minDateTime has exactly 3544 days... it doesn't matter whether or not that's
            // correct, but it gets roughly the right estimate. It doesn't matter that startOfMinYear isn't in UTC; we're only
            // taking the Ticks property, which doesn't take account of the Kind.
            DateTime startOfMinYear = bclCalendar.ToDateTime(minYear, 1, 1, 0, 0, 0, 0);
            var      computedDaysAtStartOfMinYear = (int)((startOfMinYear.Ticks - NodaConstants.BclTicksAtUnixEpoch) / NodaConstants.TicksPerDay);

            Console.WriteLine($"private const int ComputedMinYear = {minYear};");
            Console.WriteLine($"private const int ComputedMaxYear = {maxYear};");
            Console.WriteLine($"private const int ComputedDaysAtStartOfMinYear = {computedDaysAtStartOfMinYear};");
            Console.WriteLine("private const string GeneratedData =");

            // Adapted from PersianCalendarSystemTest. If we do this any more, we should
            // put it somewhere common.
            var base64     = Convert.ToBase64String(data);
            var lineLength = 80;

            for (int start = 0; start < base64.Length; start += lineLength)
            {
                var line = base64.Substring(start, Math.Min(lineLength, base64.Length - start));
                var last = start + lineLength >= base64.Length;
                Console.WriteLine($"    \"{line}\"{(last ? ";" : " +")}");
            }
            Console.WriteLine();
        }
Ejemplo n.º 22
0
        private static string convertFromGrtoHij(String input)
        {
            UmAlQuraCalendar um = new UmAlQuraCalendar();

            return(um.GetYear(DateTime.Parse(input)).ToString() + "/" + um.GetMonth(DateTime.Parse(input)).ToString() + "/" + um.GetDayOfMonth(DateTime.Parse(input)).ToString());
        }
Ejemplo n.º 23
0
        public DateTimeFormatter(string dateTimePattern, string calendarName, string amDesignator, string pmDesignator)
        {
            Calendar calendar = null;

            switch (calendarName)
            {
            case "ChineseLunisolarCalendar":
                calendar = new ChineseLunisolarCalendar();
                break;

            case "GregorianCalendar":
                calendar = new GregorianCalendar();
                break;

            case "HebrewCalendar":
                calendar = new HebrewCalendar();
                break;

            case "HijriCalendar":
                calendar = new HijriCalendar();
                break;

            case "JapaneseCalendar":
                calendar = new JapaneseCalendar();
                break;

            case "JapaneseLunisolarCalendar":
                calendar = new JapaneseLunisolarCalendar();
                break;

            case "JulianCalendar":
                calendar = new JulianCalendar();
                break;

            case "KoreanCalendar":
                calendar = new KoreanCalendar();
                break;

            case "KoreanLunisolarCalendar":
                calendar = new KoreanLunisolarCalendar();
                break;

            case "PersianCalendar":
                calendar = new PersianCalendar();
                break;

            case "TaiwanCalendar":
                calendar = new TaiwanCalendar();
                break;

            case "TaiwanLunisolarCalendar":
                calendar = new TaiwanLunisolarCalendar();
                break;

            case "ThaiBuddhistCalendar":
                calendar = new ThaiBuddhistCalendar();
                break;

            case "UmAlQuraCalendar":
                calendar = new UmAlQuraCalendar();
                break;
            }

            Initialize(dateTimePattern, calendar, amDesignator, pmDesignator);
        }
Ejemplo n.º 24
0
 public static void UmAlQuraTest()
 {
     UmAlQuraCalendar cal2 = new UmAlQuraCalendar();
     Assert.False(cal2.IsLeapMonth(1400, 10));
 }
Ejemplo n.º 25
0
 private static void Include(UmAlQuraCalendar sb)
 {
     sb = new System.Globalization.UmAlQuraCalendar();
 }
Ejemplo n.º 26
0
 /// <summary>确定指定纪元年份中的指定月份是否为闰月。</summary>
 /// <returns>总为 false,因为 <see cref="T:System.Globalization.UmAlQuraCalendar" /> 类不支持闰月。</returns>
 /// <param name="year">年份。</param>
 /// <param name="month">1 到 12 之间的一个整数,用于表示月。</param>
 /// <param name="era">纪元。指定 UmAlQuraCalendar.Eras[UmAlQuraCalendar.CurrentEra] 或 <see cref="F:System.Globalization.UmAlQuraCalendar.UmAlQuraEra" />。</param>
 /// <exception cref="T:System.ArgumentOutOfRangeException">
 /// <paramref name="year" />、<paramref name="month" /> 或 <paramref name="era" /> 超出了 <see cref="T:System.Globalization.UmAlQuraCalendar" /> 类支持的范围。</exception>
 public override bool IsLeapMonth(int year, int month, int era)
 {
     UmAlQuraCalendar.CheckYearMonthRange(year, month, era);
     return(false);
 }
        public void Edit()
        {
            while (true)
            {
                if (String.IsNullOrEmpty(name_edit.Text))
                {
                    DXMessageBox.Show(null, "لم يتم  تحديد اسم العميل لتحديث البيانات", "خطأ", MessageBoxButton.OK, MessageBoxImage.Error);
                    break;
                }

                else if (String.IsNullOrEmpty(price_edit.Text))
                {
                    DXMessageBox.Show(null, "لم يتم  تحديد السعر لتحديث البيانات", "خطأ", MessageBoxButton.OK, MessageBoxImage.Error);
                    break;
                }
                else if (String.IsNullOrEmpty(date_edit.Text))
                {
                    DXMessageBox.Show(null, "لم يتم  تحديد التاريخ لتحديث البيانات", "خطأ", MessageBoxButton.OK, MessageBoxImage.Error);
                    break;
                }
                else if (String.IsNullOrEmpty(content_Prou_edit.Text))
                {
                    MessageBoxResult resultmsg = DXMessageBox.Show(null, @"لم يتم تحديد وصف للمشكلة, هل تريد  مواصلة  العملية؟", "خطأ", MessageBoxButton.YesNo, MessageBoxImage.Error);
                    if (resultmsg == MessageBoxResult.No)
                    {
                        break;
                    }
                    else if (resultmsg == MessageBoxResult.Yes)
                    {
                        content_Prou_edit.Text = "لايوجد";
                    }
                }
                else if (String.IsNullOrEmpty(KIND_EDIT.Text))
                {
                    DXMessageBox.Show(null, "لم يتم  تحديد نوع الصنف لتحديث البيانات", "خطأ", MessageBoxButton.OK, MessageBoxImage.Error);
                    break;
                }



                var data_21     = new System.Data.DataTable();
                var ModelMegaa2 = new ModelMega();
                ModelMegaa2.show(data_21);
                var lis     = new List <string>();
                var lisDate = new List <string>();

                foreach (System.Data.DataRow item in data_21.Rows)
                {
                    lis.Add(item.Field <String>("ID"));
                    lisDate.Add(item.Field <String>("datrec"));
                }
                if (IsComplete_edit.IsChecked == true)
                {
                    string           price       = int.Parse(price_edit.Text.Replace("SAR ", "")).ToString("N0");
                    UmAlQuraCalendar um          = new UmAlQuraCalendar();
                    String           CurrentDate = (int.Parse(DateTime.Now.Year.ToString()) < 1600) ? DateTime.Now.Year.ToString() + "/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Day.ToString() :
                                                   um.GetYear(DateTime.Parse(DateTime.Now.ToString())).ToString() + "/" + um.GetMonth(DateTime.Parse(DateTime.Now.ToString())).ToString() + "/" + um.GetDayOfMonth(DateTime.Parse(DateTime.Now.ToString())).ToString();

                    String CurrentDatee = (int.Parse(date_edit.DateTime.Year.ToString()) < 1600) ? date.DateTime.Year.ToString() + "/" + date_edit.DateTime.Month.ToString() + "/" + date_edit.DateTime.Day.ToString() :
                                          um.GetYear(date_edit.DateTime).ToString() + "/" + um.GetMonth(date_edit.DateTime).ToString() + "/" + um.GetDayOfMonth(date_edit.DateTime).ToString();
                    if (int.Parse(DateTime.Now.Year.ToString()) < 2000)
                    {
                        String CurrentDateee =
                            um.GetYear(DateTime.Parse(CurrentDatee)).ToString() + "/" + um.GetMonth(DateTime.Parse(CurrentDatee)).ToString() + "/" + um.GetDayOfMonth(DateTime.Parse(CurrentDatee)).ToString();
                        HelperRepair.Edit(ID1.Text, name_edit.Text, "SAR " + price, (int.Parse(DateTime.Parse(CurrentDateee).Year.ToString()) < 1600) ? CurrentDateee : DateConverter.ConvertToHijri(CurrentDateee), lisDate[lis.IndexOf(ID1.Text)], content_Prou_edit.Text, KIND_EDIT.Text, (string.IsNullOrEmpty(discounts_Edit.Text) ? "لايوجد" : discounts_Edit.Text), false, data);
                    }
                    else
                    {
                        HelperRepair.Edit(ID1.Text, name_edit.Text, "SAR " + price, (int.Parse(DateTime.Parse(CurrentDatee).Year.ToString()) < 1600) ? CurrentDatee : DateConverter.ConvertToHijri(CurrentDatee), lisDate[lis.IndexOf(ID1.Text)], content_Prou_edit.Text, KIND_EDIT.Text, (string.IsNullOrEmpty(discounts_Edit.Text) ? "لايوجد" : discounts_Edit.Text), false, data);
                    }
                }
                else
                {
                    //id = Guid.NewGuid();
                    //ID1.Text = id.ToString().Substring(id.ToString().IndexOf('-'), 10).Replace("-", "");
                    int    Price         = int.Parse(double.Parse(price_edit.Text.Replace("SAR", "")).ToString());
                    String CurrentDateee = "";

                    UmAlQuraCalendar um          = new UmAlQuraCalendar();
                    String           CurrentDate = (int.Parse(DateTime.Now.Year.ToString()) < 1600) ? DateTime.Now.Year.ToString() + "/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Day.ToString() :
                                                   um.GetYear(DateTime.Parse(DateTime.Now.ToString())).ToString() + "/" + um.GetMonth(DateTime.Parse(DateTime.Now.ToString())).ToString() + "/" + um.GetDayOfMonth(DateTime.Parse(DateTime.Now.ToString())).ToString();
                    String CurrentDatee = (int.Parse(date_edit.DateTime.Year.ToString()) < 1600) ? date.DateTime.Year.ToString() + "/" + date_edit.DateTime.Month.ToString() + "/" + date_edit.DateTime.Day.ToString() :
                                          um.GetYear(date_edit.DateTime).ToString() + "/" + um.GetMonth(date_edit.DateTime).ToString() + "/" + um.GetDayOfMonth(date_edit.DateTime).ToString();
                    if (int.Parse(CurrentDatee.Split('/')[0]) > 2000)
                    {
                        CurrentDateee =
                            um.GetYear(DateTime.Parse(CurrentDatee)).ToString() + "/" + um.GetMonth(DateTime.Parse(CurrentDatee)).ToString() + "/" + um.GetDayOfMonth(DateTime.Parse(CurrentDatee)).ToString();
                        string Price_ = "SAR " + Price.ToString("N0");



                        HelperRepair.Edit(ID1.Text, name_edit.Text, Price_, (int.Parse(DateTime.Parse(CurrentDateee).Year.ToString()) < 1600) ? CurrentDateee : DateConverter.ConvertToHijri(CurrentDateee), lisDate[lis.IndexOf(ID1.Text)], content_Prou_edit.Text, KIND_EDIT.Text, (String.IsNullOrEmpty(discounts_Edit.Text)) ? "لايوجد" : discounts_Edit.Text, true, data);
                    }
                    else
                    {
                        string Price_ = "SAR " + Price.ToString("N0");



                        HelperRepair.Edit(ID1.Text, name_edit.Text, Price_, (int.Parse(DateTime.Parse(CurrentDatee).Year.ToString()) < 1600) ? CurrentDatee : DateConverter.ConvertToHijri(CurrentDatee), lisDate[lis.IndexOf(ID1.Text)], content_Prou_edit.Text, KIND_EDIT.Text, (String.IsNullOrEmpty(discounts_Edit.Text)) ? "لايوجد" : discounts_Edit.Text, true, data);
                    }
                }
                break;
            }
        }
        static UmAlQuraYearMonthDayCalculator()
        {
            // Try to initialize. If anything fails, YearLengths will still be null, so IsSupported will return false.
            Calendar bclCalendar;

#if PCL
            // Can't refer to the BCL calendar by name, but it *might* be available anyway. Let's try to instantiate
            // it with reflection. If we can't, that's fair enough.
            try
            {
                var type = typeof(Calendar).Assembly.GetType("System.Globalization.UmAlQuraCalendar");
                if (type == null)
                {
                    return;
                }
                bclCalendar = (Calendar)Activator.CreateInstance(type);
            }
            catch
            {
                // Don't really care what went wrong here. We'll assume it's not supported.
                return;
            }
#else
            bclCalendar = new UmAlQuraCalendar();
#endif

            DateTime minDateTime = bclCalendar.MinSupportedDateTime;

            // Check if this looks like a sensible implementation, with a limited time range.
            // (The .NET implementation only runs from 1900-2077, for example.)
            // Mono is unfortunately broken - it advertises a large range, but then is inconsistent:
            // Year 2 (for example) either has 354 or 355 days depending on how you ask.
            if (minDateTime.Year < 1800 || minDateTime.Year > 3000)
            {
                YearLengths   = null;
                MonthLengths  = null;
                YearStartDays = null;
                return;
            }

            // Work out the min and max supported years, ensuring that we support complete years.
            ComputedMinYear = bclCalendar.GetYear(minDateTime);
            if (bclCalendar.GetMonth(minDateTime) != 1 || bclCalendar.GetDayOfMonth(minDateTime) != 1)
            {
                ComputedMinYear++;
            }

            DateTime maxDateTime = bclCalendar.MaxSupportedDateTime;
            ComputedMaxYear = bclCalendar.GetYear(maxDateTime);
            if (bclCalendar.GetMonth(maxDateTime) != 12 || bclCalendar.GetDayOfMonth(maxDateTime) != bclCalendar.GetDaysInMonth(ComputedMaxYear, 12))
            {
                ComputedMaxYear--;
            }

            // For year lengths, we need to handle 1 year beyond the boundaries, too.
            // We don't need MonthLengths to be quite as long, but it's simpler to be consistent.
            YearLengths   = new int[ComputedMaxYear - ComputedMinYear + 3];
            YearStartDays = new int[ComputedMaxYear - ComputedMinYear + 3];
            MonthLengths  = new int[ComputedMaxYear - ComputedMinYear + 3];
            int totalDays = 0;
            for (int year = ComputedMinYear; year <= ComputedMaxYear; year++)
            {
                int yearIndex = year - ComputedMinYear + 1;
                YearLengths[yearIndex]   = bclCalendar.GetDaysInYear(year);
                YearStartDays[yearIndex] = totalDays;
                totalDays += YearLengths[yearIndex];
                int monthBits = 0;
                for (int month = 1; month <= 12; month++)
                {
                    if (bclCalendar.GetDaysInMonth(year, month) == 30)
                    {
                        monthBits |= 1 << month;
                    }
                }
                MonthLengths[yearIndex] = monthBits;
            }
            // Fill in the cache with dummy data for before/after the min/max year, pretending
            // that both of the "extra" years were 354 days long.
            YearStartDays[0] = -354;
            YearStartDays[YearStartDays.Length - 1] = totalDays;
            YearLengths[0] = 354;
            YearLengths[YearStartDays.Length - 1] = 354;

            // Assume every 10 years before minDateTime has exactly 3544 days... it doesn't matter whether or not that's
            // correct, but it gets roughly the right estimate. It doesn't matter that startOfMinYear isn't in UTC; we're only
            // taking the Ticks property, which doesn't take account of the Kind.
            DateTime startOfMinYear = bclCalendar.ToDateTime(ComputedMinYear, 1, 1, 0, 0, 0, 0);
            ComputedDaysAtStartOfMinYear = (int)((startOfMinYear.Ticks - NodaConstants.BclTicksAtUnixEpoch) / NodaConstants.TicksPerDay);
            ComputedDaysAtStartOfYear1   = ComputedDaysAtStartOfMinYear + (int)(((1 - ComputedMinYear) / 10.0) * AverageDaysPer10Years);
        }
        void add()
        {
            //repair_state==False ==>Update
            // Repair_state=True  ==>Add


            while (true)
            {
                if (String.IsNullOrEmpty(name.Text))
                {
                    DXMessageBox.Show(null, "لم يتم  تحديد اسم العميل لتحديث البيانات", "خطأ", MessageBoxButton.OK, MessageBoxImage.Error);
                    break;
                }

                else if (String.IsNullOrEmpty(price.Text))
                {
                    DXMessageBox.Show(null, "لم يتم  تحديد السعر لتحديث البيانات", "خطأ", MessageBoxButton.OK, MessageBoxImage.Error);
                    break;
                }
                else if (String.IsNullOrEmpty(date.Text))
                {
                    DXMessageBox.Show(null, "لم يتم  تحديد التاريخ لتحديث البيانات", "خطأ", MessageBoxButton.OK, MessageBoxImage.Error);
                    break;
                }
                else if (String.IsNullOrEmpty(content_Prou.Text))
                {
                    MessageBoxResult resultmsg = DXMessageBox.Show(null, @"لم يتم تحديد وصف للمشكلة, هل تريد  مواصلة  العملية؟", "خطأ", MessageBoxButton.YesNo, MessageBoxImage.Error);
                    if (resultmsg == MessageBoxResult.No)
                    {
                        break;
                    }
                    else if (resultmsg == MessageBoxResult.Yes)
                    {
                        content_Prou.Text = "لايوجد";
                    }
                }
                else if (String.IsNullOrEmpty(KIND.Text))
                {
                    DXMessageBox.Show(null, "لم يتم  تحديد نوع الصنف لتحديث البيانات", "خطأ", MessageBoxButton.OK, MessageBoxImage.Error);
                    break;
                }



                if (RepAir_State)
                {
                    if (IsComplete.IsChecked == true)
                    {
                        UmAlQuraCalendar um          = new UmAlQuraCalendar();
                        String           CurrentDate = (int.Parse(DateTime.Now.Year.ToString()) < 1600) ? DateTime.Now.Year.ToString() + "/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Day.ToString() :
                                                       um.GetYear(DateTime.Parse(DateTime.Now.ToString())).ToString() + "/" + um.GetMonth(DateTime.Parse(DateTime.Now.ToString())).ToString() + "/" + um.GetDayOfMonth(DateTime.Parse(DateTime.Now.ToString())).ToString();

                        String CurrentDatee = (int.Parse(date.DateTime.Year.ToString()) < 1600) ? date.DateTime.Year.ToString() + "/" + date.DateTime.Month.ToString() + "/" + date.DateTime.Day.ToString() :
                                              um.GetYear(date.DateTime).ToString() + "/" + um.GetMonth(date.DateTime).ToString() + "/" + um.GetDayOfMonth(date.DateTime).ToString();

                        id      = Guid.NewGuid();
                        ID.Text = id.ToString().Substring(id.ToString().IndexOf('-'), 10).Replace("-", "");
                        int    Price  = int.Parse(price.Text);
                        string Price_ = "SAR " + Price.ToString("N0");
                        HelperRepair.Add(ID.Text, name.Text, Price_,



                                         (int.Parse(DateTime.Parse(CurrentDatee).Year.ToString()) < 1600)? CurrentDatee : DateConverter.ConvertToHijri(CurrentDatee)

                                         ,


                                         (int.Parse(DateTime.Parse(CurrentDate).Year.ToString()) < 1600) ? CurrentDate : DateConverter.ConvertToHijri(CurrentDate), content_Prou.Text, KIND.Text, (string.IsNullOrEmpty(discounts.Text) ? "لايوجد" : discounts.Text), false, data);
                        obsrepairview.Add(new Models.RepairVieww()
                        {
                            ID        = ID.Text,
                            NAME      = name.Text,
                            PRICE     = Price_,
                            conprou   = KIND.Text,
                            DAT       = (int.Parse(DateTime.Parse(CurrentDate).Year.ToString()) < 1600) ? CurrentDate : DateConverter.ConvertToHijri(CurrentDate),
                            datrec    = (int.Parse(DateTime.Parse(CurrentDatee).Year.ToString()) < 1600)? CurrentDatee : DateConverter.ConvertToHijri(CurrentDatee),
                            typeprou  = content_Prou.Text,
                            discounts = (string.IsNullOrEmpty(discounts.Text) ? "لايوجد" : discounts.Text)
                        });



                        Data_Add.ItemsSource = obsrepairview;
                        DXMessageBox.Show("تم اضافة طلبكم بنجاح", "!تنبيه", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                    else
                    {
                        UmAlQuraCalendar um          = new UmAlQuraCalendar();
                        String           CurrentDate = (int.Parse(DateTime.Now.Year.ToString()) < 1600) ? DateTime.Now.Year.ToString() + "/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Day.ToString() :
                                                       um.GetYear(DateTime.Parse(DateTime.Now.ToString())).ToString() + "/" + um.GetMonth(DateTime.Parse(DateTime.Now.ToString())).ToString() + "/" + um.GetDayOfMonth(DateTime.Parse(DateTime.Now.ToString())).ToString();

                        String CurrentDatee = (int.Parse(date.DateTime.Year.ToString()) < 1600) ? date.DateTime.Year.ToString() + "/" + date.DateTime.Month.ToString() + "/" + date.DateTime.Day.ToString() :
                                              um.GetYear(date.DateTime).ToString() + "/" + um.GetMonth(date.DateTime).ToString() + "/" + um.GetDayOfMonth(date.DateTime).ToString();

                        id      = Guid.NewGuid();
                        ID.Text = id.ToString().Substring(id.ToString().IndexOf('-'), 10).Replace("-", "");
                        int Price = int.Parse(price.Text);


                        string Price_ = "SAR " + Price.ToString("N0");

                        HelperRepair.Add(ID.Text, name.Text, Price_, (int.Parse(DateTime.Parse(CurrentDatee).Year.ToString()) < 1600)? CurrentDatee : DateConverter.ConvertToHijri(CurrentDatee), (int.Parse(DateTime.Parse(CurrentDate).Year.ToString()) < 1600)? CurrentDate: DateConverter.ConvertToHijri(CurrentDate), content_Prou.Text, KIND.Text, (string.IsNullOrEmpty(discounts.Text) ? "لايوجد" : discounts.Text), true, data);



                        // var obsrepairview = new ObservableCollectionCore<Models.RepairView>();

                        obsrepairview.Add(new Models.RepairVieww()
                        {
                            ID        = ID.Text,
                            NAME      = name.Text,
                            PRICE     = Price_,
                            conprou   = KIND.Text,
                            DAT       = (int.Parse(DateTime.Parse(CurrentDate).Year.ToString()) < 1600) ? CurrentDate : DateConverter.ConvertToHijri(CurrentDate),
                            datrec    = (int.Parse(DateTime.Parse(CurrentDatee).Year.ToString()) < 1600)? CurrentDatee : DateConverter.ConvertToHijri(CurrentDatee),
                            typeprou  = content_Prou.Text,
                            discounts = (string.IsNullOrEmpty(discounts.Text) ? "لايوجد" : discounts.Text)
                        });


                        Data_Add.ItemsSource = obsrepairview;
                        DXMessageBox.Show("تم اضافة طلبكم بنجاح", "!تنبيه", MessageBoxButton.OK, MessageBoxImage.Information);
                    }
                }
                else
                {
                }

                break;
            }

            // ModelMega_Add.add();
        }
Ejemplo n.º 30
0
        public static void UmAlQuraTest()
        {
            UmAlQuraCalendar cal2 = new UmAlQuraCalendar();

            Assert.False(cal2.IsLeapMonth(1400, 10));
        }
Ejemplo n.º 31
0
 /// <summary>确定指定纪元中的指定年份是否为闰年。</summary>
 /// <returns>如果指定的年是闰年,则为 true;否则为 false。</returns>
 /// <param name="year">年份。</param>
 /// <param name="era">纪元。指定 UmAlQuraCalendar.Eras[UmAlQuraCalendar.CurrentEra] 或 <see cref="F:System.Globalization.UmAlQuraCalendar.UmAlQuraEra" />。</param>
 /// <exception cref="T:System.ArgumentOutOfRangeException">
 /// <paramref name="year" /> 或 <paramref name="era" /> 超出了 <see cref="T:System.Globalization.UmAlQuraCalendar" /> 类支持的范围。</exception>
 public override bool IsLeapYear(int year, int era)
 {
     UmAlQuraCalendar.CheckYearRange(year, era);
     return(UmAlQuraCalendar.RealGetDaysInYear(year) == 355);
 }