public void ShowNormal() => Device.BeginInvokeOnMainThread(() => { Content = null; contentView.Children.Clear(); foreach (var child in normalView) { contentView.Children.Add(child); } CalendarViewType = DateTypeEnum.Normal; TitleLeftArrow.IsVisible = true; TitleRightArrow.IsVisible = true; Content = mainView; });
public IActionResult GetOnDates(string dateType, DateTime?FROM_DATE = null, DateTime?TO_DATE = null) { DateTypeEnum dateTypeEnum = DateTypeEnum.INPUT_DATE; // default if (dateType == "ACCOUNT_DATE") { dateTypeEnum = DateTypeEnum.ACCOUNT_DATE; } else if (dateType == "DUE_DATE") { dateTypeEnum = DateTypeEnum.DUE_DATE; } var data = repo.GetOnDates(dateTypeEnum, FROM_DATE, TO_DATE); return(Json(data)); }
public SumsOnDayWrap GetOnDates(DateTypeEnum dateType, DateTime?FROM_DATE = null, DateTime?TO_DATE = null) { // Set default dates DateTime start = DateTime.Now.AddDays(-60); if (FROM_DATE != null) { start = FROM_DATE.Value; } DateTime end = DateTime.Now.AddDays(60); if (TO_DATE != null) { end = TO_DATE.Value; } else if (TO_DATE == null && FROM_DATE != null) { end = FROM_DATE.Value.AddDays(60); } // Get dates List <DateTime> dates = Global.GetDatesInRange(start, end); // Get sums List <SumModel> sums = new List <SumModel>(); if (dateType == DateTypeEnum.INPUT_DATE) { sums = this.GetWithTags(start, end).OrderBy(x => x.InputDate).ToList(); } else if (dateType == DateTypeEnum.ACCOUNT_DATE) { sums = this.GetWithTags(start, end).OrderBy(x => x.AccountDate).ToList(); } else if (dateType == DateTypeEnum.DUE_DATE) { sums = this.GetWithTags(start, end).OrderBy(x => x.DueDate).ToList(); } return(this.AssableSumsWithDates(sums, dates, dateType)); }
/// <summary> /// 获取日期段: 返回今天、本周(周一到周日)、本月、本年日期段 /// </summary> /// <param name="today"></param> /// <param name="dateType">类型:1今天;2本周;3本月</param> /// <param name="beginDate"></param> /// <param name="endDate"></param> public static void GetDateRange(DateTime today, DateTypeEnum dateType, out DateTime beginDate, out DateTime endDate) { //今天 if (dateType == DateTypeEnum.Today) { beginDate = today.Date; endDate = today.Date.AddDays(1).AddSeconds(-1); return; } //本周 if (dateType == DateTypeEnum.ThisWeek) { var wk = (int)today.DayOfWeek; beginDate = today.AddDays(-wk + 1); endDate = today.AddDays(7 - wk + 1).AddSeconds(-1); return; } //本月 if (dateType == DateTypeEnum.ThisMonth) { beginDate = Convert.ToDateTime(today.ToString("yyyy-MM-01")); endDate = beginDate.AddMonths(1).AddSeconds(-1); return; } //今年 if (dateType == DateTypeEnum.ThisYear) { beginDate = Convert.ToDateTime(today.ToString("yyyy-01-01")); endDate = beginDate.AddYears(1).AddSeconds(-1); return; } beginDate = DateTime.MinValue; endDate = DateTime.MaxValue; return; }
public void ShowMonths() { Device.BeginInvokeOnMainThread(() => { Content = null; ContentView.Children.Clear(); var columDef = new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }; var rowDef = new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }; var details = new Grid { VerticalOptions = LayoutOptions.CenterAndExpand, RowSpacing = 0, ColumnSpacing = 0, Padding = 1, BackgroundColor = BorderColor }; details.ColumnDefinitions = new ColumnDefinitionCollection { columDef, columDef, columDef }; details.RowDefinitions = new RowDefinitionCollection { rowDef, rowDef, rowDef, rowDef }; for (int r = 0; r < 4; r++) { for (int c = 0; c < 3; c++) { var b = new CalendarButton { HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.CenterAndExpand, Text = DateTimeFormatInfo.CurrentInfo.MonthNames[(r * 3) + c], Date = new DateTime(StartDate.Year, (r * 3) + c + 1, 1).Date, BackgroundColor = DatesBackgroundColor, TextColor = DatesTextColor, FontSize = DatesFontSize, BorderWidth = BorderWidth, BorderColor = BorderColor, FontAttributes = DatesFontAttributes, WidthRequest = ContentView.Width / 3 - BorderWidth, HeightRequest = ContentView.Height / 4 - BorderWidth }; b.Clicked += (sender, e) => { MonthYearButtonCommand?.Execute((sender as CalendarButton).Date.Value); MonthYearButtonClicked?.Invoke(sender, new DateTimeEventArgs { DateTime = (sender as CalendarButton).Date.Value }); if (EnableTitleMonthYearView) { StartDate = (sender as CalendarButton).Date.Value; PrevMonthYearView(); } }; details.Children.Add(b, c, r); } } details.WidthRequest = w; details.HeightRequest = h; ContentView.Children.Add(details); CalendarViewType = DateTypeEnum.Month; TitleLeftArrow.IsVisible = false; TitleRightArrow.IsVisible = false; Content = MainView; }); }
public ObjectProperty(string name, DateTypeEnum type, bool required) { Name = name; Type = type; IsRequired = required; }
public void ShowYears() => Device.BeginInvokeOnMainThread(() => { Content = null; contentView.Children.Clear(); yearButtons.Clear(); var columDef = new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }; var rowDef = new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }; var details = new Grid { VerticalOptions = LayoutOptions.CenterAndExpand, RowSpacing = 0, ColumnSpacing = 0, Padding = 1, BackgroundColor = BorderColor }; details.ColumnDefinitions = new ColumnDefinitionCollection { columDef, columDef, columDef, columDef }; details.RowDefinitions = new RowDefinitionCollection { rowDef, rowDef, rowDef, rowDef }; for (var r = 0; r < YearsRow; r++) { for (var c = 0; c < YearsColumn; c++) { var t = (r * YearsColumn) + c + 1; var b = new CalendarButton { HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.CenterAndExpand, Text = string.Format("{0}", StartDate.Year + (t - (YearsColumn * YearsRow / 2))), Date = new DateTime(StartDate.Year + (t - (YearsColumn * YearsRow / 2)), StartDate.Month, 1).Date, BackgroundColor = DatesBackgroundColor, TextColor = DatesTextColor, FontSize = DatesFontSize, FontAttributes = DatesFontAttributes, BorderWidth = BorderWidth, BorderColor = BorderColor, WidthRequest = (contentView.Width / YearsRow) - BorderWidth, HeightRequest = contentView.Height / YearsColumn - BorderWidth }; b.Clicked += (sender, e) => { MonthYearButtonCommand?.Execute((sender as CalendarButton).Date.Value); MonthYearButtonClicked?.Invoke(sender, new DateTimeEventArgs { DateTime = (sender as CalendarButton).Date.Value }); if (EnableTitleMonthYearView) { StartDate = (sender as CalendarButton).Date.Value; PrevMonthYearView(); } }; yearButtons.Add(b); details.Children.Add(b, c, r); } } details.WidthRequest = w; details.HeightRequest = h; contentView.Children.Add(details); CalendarViewType = DateTypeEnum.Year; TitleLeftArrow.IsVisible = true; TitleRightArrow.IsVisible = true; Content = mainView; });
/// <summary> /// Gets the api returnable, dates wrapped sums /// </summary> /// <param name="sums">Requires: <i>dateType</i>-ordered ASC!</param> /// <param name="dates">Requires: ordered ASC!</param> /// <param name="dateType"></param> /// <returns></returns> private SumsOnDayWrap AssableSumsWithDates(List <SumModel> sums, List <DateTime> dates, DateTypeEnum dateType) { SumsOnDayWrap ret = new SumsOnDayWrap(); if (dateType == DateTypeEnum.INPUT_DATE) { ret.DateType = "INPUT_DATE"; } else if (dateType == DateTypeEnum.ACCOUNT_DATE) { ret.DateType = "ACCOUNT_DATE"; } else if (dateType == DateTypeEnum.DUE_DATE) { ret.DateType = "DUE_DATE"; } int i = 0; int j = 0; while (i < dates.Count && j < sums.Count) { SumsOnDay dayData = new SumsOnDay(); dayData.Date = dates[i].Date; DateTime sumDate = sums[j].InputDate.Value; // default set if (dateType == DateTypeEnum.ACCOUNT_DATE) { sumDate = sums[j].AccountDate.Value; } else if (dateType == DateTypeEnum.DUE_DATE) { sumDate = sums[j].DueDate.Value; } if (dayData.Date == sumDate.Date) { while (j < sums.Count && dayData.Date == sumDate.Date) { dayData.Data.Add(sums[j]); j++; if (j < sums.Count) { sumDate = sums[j].InputDate.Value; // default set if (dateType == DateTypeEnum.ACCOUNT_DATE) { sumDate = sums[j].AccountDate.Value; } else if (dateType == DateTypeEnum.DUE_DATE) { sumDate = sums[j].DueDate.Value; } } } } i++; ret.Data.Add(dayData); } while (i < dates.Count) { SumsOnDay dayData = new SumsOnDay(); dayData.Date = dates[i].Date; ret.Data.Add(dayData); i++; } return(ret); }
/// <summary> /// 获取日期段: 返回今天、本周(周一到周日)、本月、本年日期段 /// </summary> /// <param name="today"></param> /// <param name="dateType">类型:1今天;2本周;3本月</param> /// <param name="beginDate"></param> /// <param name="endDate"></param> public static void GetDateRange(this DateTime today, DateTypeEnum dateType, out DateTime beginDate, out DateTime endDate) { DateHelper.GetDateRange(today, dateType, out beginDate, out endDate); }
public ObjectProperty( string name, DateTypeEnum type, bool required ) { Name = name; Type = type; IsRequired = required; }
public DataTypeValidator(DateTypeEnum dateType) { _dateType = dateType; }