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