private void TypePicker_SelectedIndexChanged(object sender, EventArgs e) { PickerEx picker = (PickerEx)sender; if (picker.SelectedItem != null && projectInfoLayout != null) { msdyn_timeentrytype type = ((msdyn_timeentrytype[])picker.ItemsSource)[picker.SelectedIndex]; projectInfoLayout.IsVisible = (type == msdyn_timeentrytype.Work); if (type != msdyn_timeentrytype.Work) { this.ViewModel.Time.msdyn_project = null; } } }
/// <summary> /// Returns the title string given the time entry /// </summary> /// <param name="value">msdyn_timeentrytype</param> /// <param name="targetType"></param> /// <param name="parameter"></param> /// <param name="culture"></param> /// <returns>title string</returns> public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { msdyn_timeentry time = value as msdyn_timeentry; if (time == null) { return(string.Empty); } else if (time.msdyn_project != null && time.msdyn_project.Name != null) { return(time.msdyn_project.Name); } else { msdyn_timeentrytype currentValue = (msdyn_timeentrytype)Enum.ToObject(typeof(msdyn_timeentrytype), time.msdyn_type.Value); return(currentValue.ToString()); } }
/// <summary> /// Returns the icon given the entry type /// </summary> /// <param name="value">msdyn_timeentrytype</param> /// <param name="targetType"></param> /// <param name="parameter"></param> /// <param name="culture"></param> /// <returns>Icon based on expense type</returns> public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) { OptionSetValue optionSetValue = value as OptionSetValue; if (optionSetValue != null) { msdyn_timeentrytype type = (msdyn_timeentrytype)Enum.ToObject(typeof(msdyn_timeentrytype), optionSetValue.Value); switch (type) { case msdyn_timeentrytype.Work: return("\uE555"); case msdyn_timeentrytype.Vacation: return("\uE700"); case msdyn_timeentrytype.Absence: return("\uE705"); } } return("\uE555"); }