HamBook – Blame information for rev 15

Subversion Repositories:
Rev:
Rev Author Line No. Line
3 office 1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6  
7 namespace HamBook.Radios.Generic
8 {
15 office 9 public class RadioStorage
3 office 10 {
15 office 11 public int Storage { get; private set; }
12  
13 public RadioStorage(string storage)
14 {
15 Storage = Parse(storage);
16 }
17  
18 public RadioStorage(int storage)
19 {
20 Storage = Parse(storage);
21 }
22  
23 public static bool TryParse(string storage, out RadioStorage radioMode)
24 {
25 switch (storage)
26 {
27  
28 case "VFO":
29 case "Memory":
30 case "Memory Tune":
31 case "PMS":
32 radioMode = new RadioStorage(storage);
33 return true;
34 default:
35 radioMode = null;
36 return false;
37 }
38 }
39  
40 public static bool TryParse(int storage, out RadioStorage radioMode)
41 {
42 switch (storage)
43 {
44 case 0:
45 case 1:
46 case 2:
47 case 5:
48 radioMode = new RadioStorage(storage);
49 return true;
50 default:
51 radioMode = null;
52 return false;
53 }
54 }
55  
56 private int Parse(string storage)
57 {
58 switch (storage)
59 {
60  
61 case "VFO":
62 return 0;
63 case "Memory":
64 return 1;
65 case "Memory Tune":
66 return 2;
67 case "PMS":
68 return 5;
69 default:
70 throw new ArgumentException();
71 }
72 }
73  
74 private int Parse(int storage)
75 {
76 switch (storage)
77 {
78 case 0:
79 case 1:
80 case 2:
81 case 5:
82 return storage;
83 default:
84 throw new ArgumentException();
85 }
86 }
87  
88 public static implicit operator RadioStorage(string storage)
89 {
90 return new RadioStorage(storage);
91 }
92  
93 public static implicit operator string(RadioStorage radioStorage)
94 {
95 switch (radioStorage.Storage)
96 {
97 case 0:
98 return "VFO";
99 case 1:
100 return "Memory";
101 case 2:
102 return "Memory Tune";
103 case 5:
104 return "PMS";
105 default:
106 throw new ArgumentException();
107 }
108 }
109  
110 public static implicit operator RadioStorage(int storage)
111 {
112 return new RadioStorage(storage);
113 }
114  
115 public static implicit operator int(RadioStorage radioMode)
116 {
117 return radioMode.Storage;
118 }
3 office 119 }
120 }