| | | 1 | | using pva.SuperV.Engine; |
| | | 2 | | using pva.SuperV.Engine.Exceptions; |
| | | 3 | | |
| | | 4 | | namespace pva.SuperV.Model.Instances |
| | | 5 | | { |
| | | 6 | | public static class FieldValueMapper |
| | | 7 | | { |
| | 522 | 8 | | public static FieldValueModel ToDto(IField field) => field switch |
| | 522 | 9 | | { |
| | 39 | 10 | | Field<bool> derivedField => new BoolFieldValueModel(derivedField.Value, FormatValue(derivedField), derivedFi |
| | 38 | 11 | | Field<DateTime> derivedField => new DateTimeFieldValueModel(derivedField.Value, FormatValue(derivedField), d |
| | 49 | 12 | | Field<double> derivedField => new DoubleFieldValueModel(derivedField.Value, FormatValue(derivedField), deriv |
| | 38 | 13 | | Field<float> derivedField => new FloatFieldValueModel(derivedField.Value, FormatValue(derivedField), derived |
| | 90 | 14 | | Field<int> derivedField => new IntFieldValueModel(derivedField.Value, FormatValue(derivedField), derivedFiel |
| | 38 | 15 | | Field<long> derivedField => new LongFieldValueModel(derivedField.Value, FormatValue(derivedField), derivedFi |
| | 38 | 16 | | Field<short> derivedField => new ShortFieldValueModel(derivedField.Value, FormatValue(derivedField), derived |
| | 40 | 17 | | Field<string> derivedField => new StringFieldValueModel(derivedField.Value, derivedField.Quality, derivedFie |
| | 38 | 18 | | Field<TimeSpan> derivedField => new TimeSpanFieldValueModel(derivedField.Value, FormatValue(derivedField), d |
| | 38 | 19 | | Field<uint> derivedField => new UintFieldValueModel(derivedField.Value, FormatValue(derivedField), derivedFi |
| | 38 | 20 | | Field<ulong> derivedField => new UlongFieldValueModel(derivedField.Value, FormatValue(derivedField), derived |
| | 38 | 21 | | Field<ushort> derivedField => new UshortFieldValueModel(derivedField.Value, FormatValue(derivedField), deriv |
| | 0 | 22 | | _ => throw new UnhandledMappingException(nameof(FieldValueMapper), field.Type.ToString()) |
| | 522 | 23 | | }; |
| | | 24 | | |
| | | 25 | | public static string? FormatValue<T>(Field<T> field) |
| | 482 | 26 | | { |
| | 482 | 27 | | return FormatValue(field.FieldDefinition, field.Value); |
| | 482 | 28 | | } |
| | | 29 | | |
| | | 30 | | public static string? FormatValue<T>(IFieldDefinition? fieldDefinition, T? value) |
| | 523 | 31 | | { |
| | 523 | 32 | | return fieldDefinition?.Formatter?.ConvertToString(value) ?? null; |
| | 523 | 33 | | } |
| | | 34 | | |
| | | 35 | | public static void SetFieldValue(IField field, FieldValueModel value) |
| | 95 | 36 | | { |
| | | 37 | | (value switch |
| | | 38 | | { |
| | 14 | 39 | | BoolFieldValueModel derivedField => new Action(() => FieldValueSetter.SetValue(field, derivedField.Value |
| | 12 | 40 | | DateTimeFieldValueModel derivedField => new Action(() => FieldValueSetter.SetValue(field, derivedField.V |
| | 20 | 41 | | DoubleFieldValueModel derivedField => new Action(() => FieldValueSetter.SetValue(field, derivedField.Val |
| | 12 | 42 | | FloatFieldValueModel derivedField => new Action(() => FieldValueSetter.SetValue(field, derivedField.Valu |
| | 22 | 43 | | IntFieldValueModel derivedField => new Action(() => FieldValueSetter.SetValue(field, derivedField.Value, |
| | 12 | 44 | | LongFieldValueModel derivedField => new Action(() => FieldValueSetter.SetValue(field, derivedField.Value |
| | 12 | 45 | | ShortFieldValueModel derivedField => new Action(() => FieldValueSetter.SetValue(field, derivedField.Valu |
| | 38 | 46 | | StringFieldValueModel derivedField => new Action(() => FieldValueSetter.SetValue(field, derivedField.Val |
| | 12 | 47 | | TimeSpanFieldValueModel derivedField => new Action(() => FieldValueSetter.SetValue(field, derivedField.V |
| | 12 | 48 | | UintFieldValueModel derivedField => new Action(() => FieldValueSetter.SetValue(field, derivedField.Value |
| | 12 | 49 | | UlongFieldValueModel derivedField => new Action(() => FieldValueSetter.SetValue(field, derivedField.Valu |
| | 12 | 50 | | UshortFieldValueModel derivedField => new Action(() => FieldValueSetter.SetValue(field, derivedField.Val |
| | 0 | 51 | | _ => new Action(() => throw new UnhandledMappingException(field.FieldDefinition!.Name, field.Type.ToStri |
| | | 52 | | })(); |
| | 95 | 53 | | } |
| | | 54 | | } |
| | | 55 | | } |