HamBook – Blame information for rev 46

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 {
9 public class ClarifierDirection
10 {
16 office 11 public ShiftDirection Direction { get; set; }
3 office 12  
16 office 13 public ClarifierDirection(char symbol) : this()
3 office 14 {
15 Direction = Parse(symbol);
16 }
17  
16 office 18 public ClarifierDirection(string symbol) : this()
15 office 19 {
20 Direction = Parse(symbol);
21 }
22  
16 office 23 public ClarifierDirection()
24 {
25  
26 }
27  
46 office 28 public ClarifierDirection(ShiftDirection shiftDirection)
29 {
30 Direction = shiftDirection;
31 }
32  
3 office 33 private static ShiftDirection Parse(char symbol)
34 {
35 switch (symbol)
36 {
37 case '+':
38 return ShiftDirection.PLUS_SHIFT;
39 case '-':
40 return ShiftDirection.MINUS_SHIFT;
41 default:
42 throw new ArgumentException();
43 }
44 }
45  
15 office 46 private static ShiftDirection Parse(string symbol)
47 {
48 switch (symbol)
49 {
50 case "+":
51 return ShiftDirection.PLUS_SHIFT;
52 case "-":
53 return ShiftDirection.MINUS_SHIFT;
54 default:
55 throw new ArgumentException();
56 }
57 }
58  
3 office 59 private char ToChar()
60 {
61 switch (Direction)
62 {
63 case ShiftDirection.PLUS_SHIFT:
64 return '+';
65 case ShiftDirection.MINUS_SHIFT:
66 return '-';
67 default:
68 throw new ArgumentException();
69 }
70 }
71  
72 public static implicit operator ClarifierDirection(char symbol)
73 {
74 return new ClarifierDirection(symbol);
75 }
76  
77 public static implicit operator char(ClarifierDirection clarifierDirection)
78 {
79 return clarifierDirection.ToChar();
80 }
15 office 81  
82 public static implicit operator ClarifierDirection(string symbol)
83 {
84 return new ClarifierDirection(symbol);
85 }
86  
87 public static implicit operator string(ClarifierDirection clarifierDirection)
88 {
89 switch (clarifierDirection.Direction)
90 {
91 case ShiftDirection.PLUS_SHIFT:
92 return "+";
93 case ShiftDirection.MINUS_SHIFT:
94 return "-";
95 default:
96 throw new ArgumentException();
97 }
98 }
3 office 99 }
100 }