protected override string GetCurrentPathDescription(CardItemViewModel current) { if (current == null) { return(null); } string delim = " \\ "; var sb = new StringBuilder(); var h = current.Holder; var p = h.GetPatient(); sb.Append(NameFormatter.GetFullName(p) ?? string.Format("Пациент ({0:dd.MM.yy hh:mm})", p.CreatedAt)); if (h is Course) { var c = h as Course; sb.AppendFormat("{0}курс {1}", delim, DateFormatter.GetIntervalString(c.Start, c.End)); } else if (h is Appointment) { var a = h as Appointment; sb.AppendFormat("{0}курс {1}{2}осмотр {3}", delim, DateFormatter.GetIntervalString(a.Course.Start, a.Course.End), delim, DateFormatter.GetDateString(a.DateAndTime)); } return(sb.ToString()); }
public override object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (!(value is DateTime)) { return(DependencyProperty.UnsetValue); } DateTime from = (DateTime)value; var relativeEnding = parameter as string; if (relativeEnding == null) { return(DateFormatter.GetDateString(from)); } else { return(DateFormatter.GetRelativeDateString(from, relativeEnding)); } }
/// <summary> /// Показываем то, по чему сортируем, если нет группировки по этому же полю. /// </summary> private void SetHrExtra(IEnumerable <ShortHealthRecordViewModel> vms) { Action <ShortHealthRecordViewModel> setter = (vm) => vm.SortingExtraInfo = string.Empty; switch (Sorting) { case HrViewColumn.Category: if (Grouping != HrViewColumn.Category) { setter = (vm) => vm.SortingExtraInfo = (vm.Category != HrCategory.Null ? vm.Category.ToString() : string.Empty); } break; case HrViewColumn.CreatedAt: if (Grouping != HrViewColumn.CreatedAt) { setter = (vm) => vm.SortingExtraInfo = string.Format("{0} {1:H:mm}", DateFormatter.GetDateString(vm.CreatedAt), vm.CreatedAt); } break; case HrViewColumn.Date: // дата записи всегда видна break; case HrViewColumn.DescribedAt: break; case HrViewColumn.Ord: break; } vms.ForAll(setter); }