public DateTimeViewModel(Filter filter) { StateTypes = new ObservableCollection<StateType>(Enum.GetValues(typeof(StateType)).Cast<StateType>()); SelectedStateType = filter.StateType; Count = filter.Count; IsSortAsc = filter.IsSortAsc; PageSize = filter.PageSize; StartDateTime = new DateTimePairViewModel(filter.StartDate); EndDateTime = new DateTimePairViewModel(filter.EndDate); }
public DetailsParameterViewModel(Parameter model, DeviceDetailsViewModel parent) { Model = model; Name = model.DriverParameter.Description; _parent = parent; IsNotReadOnly = !model.DriverParameter.IsReadOnly && (model.DriverParameter.CanWriteInActive || !parent.IsActive); if (IsNotReadOnly) switch (Model.DriverParameter.ParameterType) { case ParameterType.Enum: IsEnum = true; ParameterEnum = new ObservableCollection<ParameterEnumItem>(Model.DriverParameter.ParameterEnumItems); SelectedEnumItem = ParameterEnum.FirstOrDefault(x => x.Value == model.IntValue); if (SelectedEnumItem == null) SelectedEnumItem = ParameterEnum.FirstOrDefault(); break; case ParameterType.String: IsString = true; StringValue = Model.StringValue; break; case ParameterType.Int: IsInt = true; IntValue = Model.IntValue ?? Model.DriverParameter.IntDefaultValue; if (Model.DriverParameter.IsReadOnly) StringValue = IntValue.ToString(); break; case ParameterType.Double: IsDouble = true; var doubleValue = Model.DoubleValue ?? Model.DriverParameter.DoubleDefaultValue; StringValue = doubleValue.ToString(); break; case ParameterType.Bool: IsBool = true; BoolValue = Model.BoolValue ?? Model.DriverParameter.BoolDefaultValue; break; case ParameterType.DateTime: IsDateTime = true; var dateTime = Model.DateTimeValue ?? DateTime.Now; DateTimeValue = new DateTimePairViewModel(dateTime); TimeSpan = dateTime.TimeOfDay; break; default: break; } else ReadOnlyValue = model.GetStringValue(); }