public MainPresenter(MainView mainView, BookingRequestFactory bookingFactory, TodayDate todayDate) { this.mainView = mainView; this.bookingFactory = bookingFactory; this.todayDate = todayDate; mainView.BookSeats += OnBookSeats; }
private void ValidateDate(TodayDate today, Notification note) { if (dateOfThePerformance == null) { note.AddError("date is missing"); return; } DateTime parsedDate; try { parsedDate = DateTime.Parse(dateOfThePerformance); } catch (System.FormatException e) { note.AddError("Invalid format for date", e); return; } if (parsedDate.IsBefore(today.Date)) { note.AddError("date cannot be before today"); } }
public IActionResult Index() { var model = new TodayDate { daynow = DateTime.Today, }; return(View(model)); }
public void When_the_number_of_seats_is_not_positive_then_an_ArgumentOutOfRangeException_is_thrown(string seatsNumber) { TodayDate today = Substitute.For <Today>(); today.Date.Returns(DateTime.Parse("1111-01-01")); SimpleBookingRequest bookingRequest = new SimpleBookingRequest(seatsNumber, bookingDate: "2222-01-01"); Assert.AreEqual("number of seats must be positive", bookingRequest.Validation(today).ErrorMessage); }
public Notification Validation(TodayDate today) { Notification note = new Notification(); ValidateDate(today, note); ValidateNumberOfSeats(note); return(note); }
public void When_the_number_of_seats_is_null_then_an_ArgumentNullException_is_thrown() { TodayDate today = Substitute.For <Today>(); today.Date.Returns(DateTime.Parse("1111-01-01")); SimpleBookingRequest bookingRequest = new SimpleBookingRequest(numberOfSeats: string.Empty, bookingDate: "2222-01-01"); Assert.AreEqual("number of seats cannot be empty", bookingRequest.Validation(today).ErrorMessage); }
public void When_the_booking_date_is_before_today_date_then_an_ArgumentOutOfRangeException_is_thrown() { TodayDate today = Substitute.For <Today>(); today.Date.Returns(DateTime.Parse("2222-01-01")); SimpleBookingRequest bookingRequest = new SimpleBookingRequest(numberOfSeats: "1", bookingDate: "1111-01-01"); Assert.AreEqual("date cannot be before today", bookingRequest.Validation(today).ErrorMessage); }
public void When_the_date_is_in_wrong_format_then_an_ArgumentOutOfRangeException_is_thrown() { TodayDate today = Substitute.For <Today>(); today.Date.Returns(DateTime.Parse("1111-01-01")); SimpleBookingRequest bookingRequest = new SimpleBookingRequest("1", "wrong_format_date"); Assert.AreEqual("Invalid format for date", bookingRequest.Validation(today).ErrorMessage); }
public void When_the_date_is_missing_then_an_ArgumentNullException_is_thrown() { TodayDate today = Substitute.For <Today>(); today.Date.Returns(DateTime.Parse("1111-01-01")); SimpleBookingRequest bookingRequest = new SimpleBookingRequest("1", null); ; Assert.AreEqual("date is missing", bookingRequest.Validation(today).ErrorMessage); }
public void TestContent() { CastDate currentDate = new CastDate { Time = 1484953200000 }; ReportData reportData = TestUtility.PrepareApplicationReportData("ReportGenerator", null, @".\Data\CurrentBCresults.json", "AED/applications/3/snapshots/6", "PreVersion 1.5.0 sprint 2 shot 2", "V-1.5.0_Sprint 2_2", currentDate, null, null, null, null, null, null); var component = new TodayDate(); Dictionary <string, string> config = new Dictionary <string, string>(); var str = component.Content(reportData, config); var todaydate = DateTime.Now.ToString("MMM dd yyyy"); Assert.AreEqual(todaydate, str); }
private void LoadData() { try { TodayDate = System.DateTime.Now.ToLongDateString(); DataTable dtDet = new DataTable(); _obj_Smhr_joboffers = new SMHR_JOBOFFERS(); _obj_Smhr_joboffers.APPLICANT_ID = Convert.ToInt32(Session["Applicant"].ToString()); dtDet = BLL.GetApplicantDetails(_obj_Smhr_joboffers); if (dtDet.Rows.Count != 0) { AppName = dtDet.Rows[0][2].ToString() + " " + dtDet.Rows[0][3].ToString() + " " + dtDet.Rows[0][4].ToString() + " " + dtDet.Rows[0][5].ToString(); Name = dtDet.Rows[0][3].ToString(); } body = "<html> " + "<head> " + "</head> " + "<body> " + "<table style='width: 640px' border='0' cellspacing='0' cellpadding='0'> " + "<tr> " + "<td colspan='3'> " + " <strong><span style='font-size: 10pt; font-family: Arial'>Ph no: 040 30586061 " + " " + " " + " " + " Fax No : 040 30586064</span></strong></td> " + "</tr> " + "<tr> " + "<td style='width: 95px'> " + "</td> " + "<td rowspan='2' style='width: 9px; text-align: left'> " + "<img src='EmpUploads/54_LOGO_DHANUSH.png' /></td> " + "<td> " + "</td> " + "</tr> " + "<tr> " + "<td style='width: 95px'> " + "</td> " + "<td> " + "</td> " + "</tr> " + "<tr> " + "<td colspan='3'> " + "<hr /> " + "</td> " + "</tr> " + "<tr> " + "<td style='width: 95px'> " + "</td> " + "<td style='width: 9px'> " + "</td> " + "<td> " + "</td> " + "</tr> " + "<tr> " + " <td colspan='2'> " + " <span style='font-size: 10pt; font-family: Arial'><strong> Date : " + TodayDate.ToString() + " </strong></span></td> " + " <td> " + " </td> " + " </tr> " + " <tr> " + " <td style='width: 95px'> " + " </td> " + " <td style='width: 9px'> " + " </td> " + " <td> " + " </td> " + "</tr> " + " <tr> " + " <td style='width: 95px'> " + " <strong><span style='font-size: 10pt; font-family: Arial'> To,</span></strong></td> " + " <td> " + " </td> " + " <td> " + " </td> " + "</tr> " + "<tr> " + " <td colspan='2' rowspan='4'> " + "<strong><span style='font-size: 10pt; font-family: Arial'> " + AppName.ToString() + "<br/> " + " Hyderabad, Andhra Pradesh. <br/><br/><br/> </span></strong>" + " </td> " + " <td>" + " </td> " + "</tr> " + "<tr> " + " <td> " + " </td> " + " </tr> " + " <tr> " + " <td> " + " </td> " + "</tr> " + "<tr> " + " <td> " + " </td> " + "</tr> " + "<tr> " + " <td style='width: 95px'> " + " </td> " + " <td style='width: 9px'> " + " </td> " + " <td> " + " </td> " + "</tr> " + "<tr> " + " <td colspan='2'> " + " <strong><span style='font-size: 10pt; font-family: Arial'> Dear " + Name.ToString() + " </span></strong> " + " </td> " + " <td> " + " </td> " + "</tr> " + "<tr> " + " <td colspan='2'> " + " <strong><span style='font-size: 10pt; font-family: Arial'> Sub : Offer Letter</span></strong></td> " + " <td> " + " </td> " + "</tr> " + "<tr> " + " <td colspan='2' rowspan='2'> " + " <br /> " + " <br /> " + " </td> " + " <td> " + " </td> " + "</tr> " + "<tr> " + " <td> " + " </td> " + "</tr> " + "<tr> " + "<td colspan='3' rowspan='2' style='height: 186px; text-align: justify'> " + " <strong><span style='font-size: 10pt; font-family: Arial'>It is our pleasure to extend " + " a job offer to you as an Associate Consultant. Your Monthly CTC will be in Indian " + " Rupees Rs. 10000 only and is subject to all required taxes and withholding.<br /> " + " <br /> " + " You will also be entitled to benefits extended by Dhanush InfoTech Pvt Ltd.<br /> " + " <br /> " + " We would like you to start work from onwards. You will be workin from our " + " Hyderabad Office.<br /> " + " <br /> " + " Please review the job offer letter, and if you decide to accept the offer, give " + " us a signed " + " <br /> " + " acknowledgement of your acceptance. Before you begin work, you will also be required " + " to sign a<br /> " + " Standard employment letter.<br /> " + " <br /> " + " We Look forward to you joining the company and become a productive member of the " + " team.</span></strong></td> " + " </tr> " + " <tr> " + " </tr> " + " <tr> " + " <td style='width: 95px'> " + " <br /> " + " <br /> " + " </td> " + " <td style='width: 9px'> " + " </td> " + " <td> " + " </td> " + " </tr> " + "<tr> " + " <td style='width: 95px'> " + " <strong><span style='font-size: 10pt; font-family: Arial'>Sincerely,</span></strong></td> " + " <td style='width: 9px'> " + " </td> " + " <td> " + " </td> " + "</tr> " + "<tr> " + " <td style='width: 95px'> " + " </td> " + " <td style='width: 9px'> " + " </td> " + " <td> " + " </td> " + "</tr> " + "<tr> " + " <td style='width: 95px'> " + " <strong><span style='font-size: 10pt; font-family: Arial'>HR Manager</span></strong></td> " + " <td style='width: 9px'> " + " </td> " + " <td> " + " </td> " + " </tr> " + " </table> " + "</div> " + "</body> " + "</html>"; EditorOffer.Content = body; // ContentBody.InnerHtml = body; } catch (Exception ex) { SMHR.BLL.Error_Log(Session["USER_ID"].ToString(), ex.TargetSite.ToString(), ex.Message.Replace("'", "''"), "frm_recruit_offerletter", ex.StackTrace, DateTime.Now); Response.Redirect("~/Frm_ErrorPage.aspx"); } }
// --------------------------------------------------------------------- protected override void OnPaint(PaintEventArgs pe) { var month = FirstOfMonth(firstMonth); var coordinates = border.ToPointF(); Brush textBrush = new SolidBrush(ForeColor); Brush backBrush = new SolidBrush(BackColor); Brush titleTextBrush = new SolidBrush(TitleForeColor); Brush titleBackBrush = new SolidBrush(TitleBackColor); Brush weekdayTextBrush = new SolidBrush(WeekdayForeColor); Brush weekdayBackBrush = new SolidBrush(WeekdayBackColor); Brush trailingTextBrush = new SolidBrush(TrailingForeColor); Brush highlightDayTextBrush = new SolidBrush(HighlightDayTextColor); Brush weeknumberTextBrush = new SolidBrush(WeeknumberForeColor); Brush weeknumberBackBrush = new SolidBrush(WeeknumberBackColor); var boldFont = new Font(Font, FontStyle.Bold); var divider = new Pen(WeekdayBarColor); var weekdays = AbbreviatedDayNames(); var cellMiddle = cellSize.Width * 0.5F; var cellMiddles = new float[weekdays.Length]; for (var w = 0; w < weekdays.Length; ++w) { cellMiddles[w] = cellMiddle; cellMiddle += cellSize.Width; } for (var y = 0; y < months.Height; ++y) { for (var x = 0; x < months.Width; ++x) { var drawTrailing = Trailing.None; if (months.Width * months.Height == 1) { drawTrailing = Trailing.Both; } else if (y == 0 && x == 0) { drawTrailing = Trailing.First; } else if (y == (months.Height - 1) && x == (months.Width - 1)) { drawTrailing = Trailing.Last; } DrawMonth( pe.Graphics, month, coordinates, weekdays, boldFont, textBrush, backBrush, titleTextBrush, titleBackBrush, weekdayTextBrush, weekdayBackBrush, trailingTextBrush, highlightDayTextBrush, weeknumberTextBrush, weeknumberBackBrush, drawTrailing, divider, cellMiddles); coordinates.X += SingleMonthSize.Width; month = month.AddMonths(1); } coordinates.X = border.Width; coordinates.Y += SingleMonthSize.Height; } // Draw today string at bottom of calendar if (ShowToday) { displayTodayRectangle = todayRectangle; displayTodayRectangle.Offset(0, (months.Height - 1) * SingleMonthSize.Height); var todayFormat = new StringFormat(); todayFormat.Alignment = StringAlignment.Center; todayFormat.LineAlignment = StringAlignment.Center; pe.Graphics.DrawString( "Today: " + TodayDate.ToShortDateString(), boldFont, textBrush, displayTodayRectangle, todayFormat); } else { displayTodayRectangle = RectangleF.Empty; } // Dispose of resources textBrush.Dispose(); backBrush.Dispose(); titleTextBrush.Dispose(); titleBackBrush.Dispose(); weekdayTextBrush.Dispose(); weekdayBackBrush.Dispose(); trailingTextBrush.Dispose(); highlightDayTextBrush.Dispose(); weeknumberTextBrush.Dispose(); weeknumberBackBrush.Dispose(); boldFont.Dispose(); divider.Dispose(); base.OnPaint(pe); }
public void GetBossNextTime(string todayyear, string todaymonth, string todayday, string todayhour, string todayminute, string todayweek) { int BTS = 0, BWS = 0; int tHM = Convert.ToInt16(thour + tminute); DateTime tYMD = Convert.ToDateTime(tyear + "-" + tmonth + "-" + tday); label1.Text = "更新時間:" + tyear + "/" + tmonth + "/" + tday + " " + thour + ":" + tminute + " " + GetWeekCht(tweek); //出現時間 int[] allbosstime = { 0015, 0200, 1100, 1500, 1900, 2330 }; string[,] bosstimecht = new string[, ] { { "00", "02", "11", "15", "19", "23" }, { "15", "00", "00", "00", "00", "30" } }; //世界王名字及圖片 string b0 = null; string b1 = World_Boss_Next_Time.Properties.Settings.Default.BossName1; string b2 = World_Boss_Next_Time.Properties.Settings.Default.BossName2; string b3 = World_Boss_Next_Time.Properties.Settings.Default.BossName3; string b4 = World_Boss_Next_Time.Properties.Settings.Default.BossName4; string b5 = World_Boss_Next_Time.Properties.Settings.Default.BossName5; string b6 = World_Boss_Next_Time.Properties.Settings.Default.BossName6; string b7 = World_Boss_Next_Time.Properties.Settings.Default.BossName7; string b8 = World_Boss_Next_Time.Properties.Settings.Default.BossName8; string b9 = World_Boss_Next_Time.Properties.Settings.Default.BossName9; BossFilter(ref b1, ref b2, ref b3, ref b4, ref b5, ref b6, ref b7, ref b8, ref b9); //各時段出現種類名稱及圖片 array[出現時段,星期,王1王2] //BOSS:1克價卡,2庫屯,3羅裴勒,4卡嵐達,5奧平,6木拉卡,7肯恩特,8貝爾,9卡莫斯 string[,,] bossname = new string[, , ] { //星期:日,一,二,三,四,五,六 { { b0, b0 }, { b6, b7 }, { b0, b0 }, { b0, b0 }, { b0, b0 }, { b0, b0 }, { b9, b0 } }, //0015 { { b3, b4 }, { b1, b2 }, { b3, b0 }, { b4, b0 }, { b2, b0 }, { b1, b3 }, { b1, b2 } }, //0200 { { b1, b3 }, { b4, b0 }, { b1, b2 }, { b1, b3 }, { b2, b4 }, { b2, b5 }, { b2, b4 } }, //1100 { { b8, b0 }, { b1, b2 }, { b3, b4 }, { b9, b0 }, { b1, b3 }, { b3, b4 }, { b5, b0 } }, //1500 { { b2, b4 }, { b9, b0 }, { b8, b0 }, { b1, b2 }, { b3, b0 }, { b1, b2 }, { b1, b3 } }, //1900 { { b5, b0 }, { b1, b2 }, { b1, b3 }, { b3, b4 }, { b2, b4 }, { b6, b7 }, { b0, b0 } } //2330 }; BossStage(ref tYMD, ref BTS, ref BWS); BossStageAddChk(ref tYMD, ref BTS, ref BWS); BossListView(tYMD, BTS, BWS); ViewBossData(tYMD, bosstimecht[0, BTS], bosstimecht[1, BTS], BWS, bossname[BTS, BWS, 0], bossname[BTS, BWS, 1]); GC.Collect(); void BossListView(DateTime lvDate, int lvBTS, int lvBWS) { listView1.Items.Clear(); //第一項 BossStageLess(ref lvDate, ref lvBTS, ref lvBWS); var lvi = new ListViewItem(lvDate.ToString("yyyy/MM/dd")); string st1 = bosstimecht[0, lvBTS] + ":" + bosstimecht[1, lvBTS]; string st2 = bossname[lvBTS, lvBWS, 0] + " " + bossname[lvBTS, lvBWS, 1]; lvi.SubItems.Add(st1.Trim()); lvi.SubItems.Add(st2.Trim()); listView1.Items.Add(lvi); //第二項 BossStageAdd(ref lvDate, ref lvBTS, ref lvBWS); lvi = new ListViewItem(lvDate.ToString("yyyy/MM/dd")); st1 = bosstimecht[0, lvBTS] + ":" + bosstimecht[1, lvBTS]; st2 = bossname[lvBTS, lvBWS, 0] + " " + bossname[lvBTS, lvBWS, 1]; lvi.BackColor = Color.YellowGreen; lvi.SubItems.Add(st1.Trim()); lvi.SubItems.Add(st2.Trim()); listView1.Items.Add(lvi); listView1.Items[1].Selected = true; //後n項 for (int n = 1; n <= 4; n++) { BossStageAdd(ref lvDate, ref lvBTS, ref lvBWS); lvi = new ListViewItem(lvDate.ToString("yyyy/MM/dd")); st1 = bosstimecht[0, lvBTS] + ":" + bosstimecht[1, lvBTS]; st2 = bossname[lvBTS, lvBWS, 0] + " " + bossname[lvBTS, lvBWS, 1]; lvi.SubItems.Add(st1.Trim()); lvi.SubItems.Add(st2.Trim()); listView1.Items.Add(lvi); } } void ViewBossData(DateTime TodayDate, string bth, string btm, int week, string bn1, string bn2) { if (bn1 == null & bn2 == null) { settingmark = "1"; groupBox1.Text = null; } else { settingmark = "0"; string startstring = World_Boss_Next_Time.Properties.Settings.Default.StartString; string st1 = startstring + bth + btm + " " + bn1 + " " + bn2; groupBox1.Text = "下次世界王時間:" + TodayDate.ToString("yyyy/MM/dd") + " " + bth + ":" + btm + " " + GetWeekCht(week.ToString()); textBox1.Text = st1.Trim(); } } void BossStage(ref DateTime TodayDate, ref int BossTimeStage, ref int BossWeekStage) { //取得日期及時段 int TC = allbosstime.Count() - 1; for (int t = 1; t <= TC; t++) { if (tHM <= allbosstime[t] && tHM > allbosstime[t - 1]) { BossTimeStage = t; } } if (tHM <= allbosstime[0]) { BossTimeStage = 0; } if (tHM > allbosstime[TC]) { TodayDate = TodayDate.AddDays(1); BossTimeStage = 0; } //取得星期 int weeknumber = Convert.ToInt16(tweek); if (tHM <= allbosstime[TC]) { BossWeekStage = weeknumber; } if (tHM > allbosstime[TC]) { if (weeknumber >= 6) { BossWeekStage = 0; } else { BossWeekStage = weeknumber + 1; } } } void BossStageAddChk(ref DateTime TodayDate, ref int BossTimeStage, ref int BossWeekStage) { int TC = allbosstime.Count() - 1; int BNTC = (bossname.Length) / 2; for (int temp = 1; temp <= BNTC; temp++) { if (bossname[BossTimeStage, BossWeekStage, 0] == null && bossname[BossTimeStage, BossWeekStage, 1] == null) { if (BossTimeStage >= TC) { TodayDate = TodayDate.AddDays(1); BossTimeStage = 0; if (BossWeekStage >= 6) { BossWeekStage = 0; } else { BossWeekStage += 1; } } else { BossTimeStage += 1; } } if (bossname[BossTimeStage, BossWeekStage, 0] == null && bossname[BossTimeStage, BossWeekStage, 1] != null) { bossname[BossTimeStage, BossWeekStage, 0] = bossname[BossTimeStage, BossWeekStage, 1]; bossname[BossTimeStage, BossWeekStage, 1] = null; } } } void BossStageLessChk(ref DateTime TodayDate, ref int BossTimeStage, ref int BossWeekStage) { int TC = allbosstime.Count() - 1; int BNTC = (bossname.Length) / 2; for (int temp = 1; temp <= BNTC; temp++) { if (bossname[BossTimeStage, BossWeekStage, 0] == null && bossname[BossTimeStage, BossWeekStage, 1] == null) { if (BossTimeStage == 0) { TodayDate = TodayDate.AddDays(-1); BossTimeStage = TC; if (BossWeekStage == 0) { BossWeekStage = 6; } else { BossWeekStage -= 1; } } else { BossTimeStage -= 1; } } if (bossname[BossTimeStage, BossWeekStage, 0] == null && bossname[BossTimeStage, BossWeekStage, 1] != null) { bossname[BossTimeStage, BossWeekStage, 0] = bossname[BossTimeStage, BossWeekStage, 1]; bossname[BossTimeStage, BossWeekStage, 1] = null; } } } void BossStageAdd(ref DateTime TodayDate, ref int BossTimeStage, ref int BossWeekStage) { int TC = allbosstime.Count() - 1; if (BossTimeStage >= TC) { TodayDate = TodayDate.AddDays(1); BossTimeStage = 0; if (BossWeekStage < 6) { BossWeekStage += 1; } else { BossWeekStage = 0; } BossStageAddChk(ref TodayDate, ref BossTimeStage, ref BossWeekStage); } else { BossTimeStage += 1; BossStageAddChk(ref TodayDate, ref BossTimeStage, ref BossWeekStage); } } void BossStageLess(ref DateTime TodayDate, ref int BossTimeStage, ref int BossWeekStage) { int TC = allbosstime.Count() - 1; if (BossTimeStage == 0) { TodayDate = TodayDate.AddDays(-1); BossTimeStage = TC; if (BossWeekStage == 0) { BossWeekStage = 6; } else { BossWeekStage -= 1; } BossStageLessChk(ref TodayDate, ref BossTimeStage, ref BossWeekStage); } else { BossTimeStage -= 1; BossStageLessChk(ref TodayDate, ref BossTimeStage, ref BossWeekStage); } } void BossFilter(ref string boss1, ref string boss2, ref string boss3, ref string boss4, ref string boss5, ref string boss6, ref string boss7, ref string boss8, ref string boss9) { if (b1chkbox.Checked == false) { b1 = null; } if (b2chkbox.Checked == false) { b2 = null; } if (b3chkbox.Checked == false) { b3 = null; } if (b4chkbox.Checked == false) { b4 = null; } if (b5chkbox.Checked == false) { b5 = null; } if (b6chkbox.Checked == false) { b6 = null; } if (b7chkbox.Checked == false) { b7 = null; } if (b8chkbox.Checked == false) { b8 = null; } if (b9chkbox.Checked == false) { b9 = null; } } }
private void SetTheme() { if (IsDark) { CurrentThemeThemeNoiseColor = Theme.WhiteTheme.ThemeColor; CurrentThemeThemeNoiseOpacity = Theme.WhiteTheme.ThemeBlurinessOpacity; CurrentThemeThemeNoiseRatioInt = Theme.WhiteTheme.ThemeBlurinessRatio; CurrentThemeHasEventDayBackColor = Theme.WhiteTheme.HasEventDayBackColor; CurrentThemeDayLeadForecolor = Theme.WhiteTheme.DayLeadColor; CurrentThemePersianDayForecolor = Theme.WhiteTheme.PersianDayColor; CurrentThemeGregHijrForecolor = Theme.WhiteTheme.GregorianHijriColor; CurrentThemeTodayForecolor = Theme.WhiteTheme.TodayForecolor; CurrentThemeSeparator = Theme.WhiteTheme.Separator; CurrentThemeChangeMonthForecolor = Theme.WhiteTheme.ChangeMonth; IsDark = false; } else { CurrentThemeThemeNoiseColor = Theme.DarkTheme.ThemeColor; CurrentThemeThemeNoiseOpacity = Theme.DarkTheme.ThemeBlurinessOpacity; CurrentThemeThemeNoiseRatioInt = Theme.DarkTheme.ThemeBlurinessRatio; CurrentThemeHasEventDayBackColor = Theme.DarkTheme.HasEventDayBackColor; CurrentThemeDayLeadForecolor = Theme.DarkTheme.DayLeadColor; CurrentThemePersianDayForecolor = Theme.DarkTheme.PersianDayColor; CurrentThemeGregHijrForecolor = Theme.DarkTheme.GregorianHijriColor; CurrentThemeTodayForecolor = Theme.DarkTheme.TodayForecolor; CurrentThemeSeparator = Theme.DarkTheme.Separator; CurrentThemeChangeMonthForecolor = Theme.DarkTheme.ChangeMonth; IsDark = true; } var animationDuration = TimeSpan.FromMilliseconds(300); ThemeNoise.CreateStoryBoard(CurrentThemeThemeNoiseColor, "(Border.Background).(SolidColorBrush.Color)"); PersianTitle.CreateStoryBoard(CurrentThemeDayLeadForecolor, "(TextBlock.Foreground).(SolidColorBrush.Color)"); GregorianTitle.CreateStoryBoard(CurrentThemeDayLeadForecolor, "(TextBlock.Foreground).(SolidColorBrush.Color)"); HijriTitle.CreateStoryBoard(CurrentThemeDayLeadForecolor, "(TextBlock.Foreground).(SolidColorBrush.Color)"); TodayDate.CreateStoryBoard(CurrentThemeTodayForecolor, "(Button.Foreground).(SolidColorBrush.Color)"); Separator.CreateStoryBoard(CurrentThemeSeparator, "Background.Color"); BtnPrevMonth.CreateStoryBoard(CurrentThemeChangeMonthForecolor, "(Button.Foreground).(SolidColorBrush.Color)"); BtnNextMonth.CreateStoryBoard(CurrentThemeChangeMonthForecolor, "(Button.Foreground).(SolidColorBrush.Color)"); DesignCalendar(NowDateTime); foreach (var day in CalendarDays.Children) { var dayDetails = ((day as Button)?.Content as Grid)?.Children; if (dayDetails == null) { continue; } foreach (var dayDetail in dayDetails) { switch (dayDetail) { case TextBlock persianDay: persianDay.CreateStoryBoard(CurrentThemePersianDayForecolor, "(TextBlock.Foreground).(SolidColorBrush.Color)"); break; case Grid customDays: foreach (var cusDay in customDays.Children) { if (cusDay is TextBlock customDay) { customDay.CreateStoryBoard(CurrentThemeGregHijrForecolor, "(TextBlock.Foreground).(SolidColorBrush.Color)"); } } break; } } } ThemeNoise.BeginAnimation(OpacityProperty, new DoubleAnimation(ThemeNoise.Opacity, CurrentThemeThemeNoiseOpacity, animationDuration)); ThemeNoiseRatio.Ratio = CurrentThemeThemeNoiseRatioInt; DesignCalendar(NowDateTime); }