public static Guid Ссылка(this ПричиныИзмененияСостояния Значение)
        {
            switch (Значение)
            {
            case ПричиныИзмененияСостояния.ПриемНаРаботу: return(ПриемНаРаботу);

            case ПричиныИзмененияСостояния.Перемещение: return(Перемещение);

            case ПричиныИзмененияСостояния.Увольнение: return(Увольнение);
            }
            return(Guid.Empty);
        }
 public static ПричиныИзмененияСостояния Получить(this ПричиныИзмененияСостояния Значение, Guid Ссылка)
 {
     if (Ссылка == ПриемНаРаботу)
     {
         return(ПричиныИзмененияСостояния.ПриемНаРаботу);
     }
     else if (Ссылка == Перемещение)
     {
         return(ПричиныИзмененияСостояния.Перемещение);
     }
     else if (Ссылка == Увольнение)
     {
         return(ПричиныИзмененияСостояния.Увольнение);
     }
     return(ПричиныИзмененияСостояния.ПустаяСсылка);
 }
 public static byte[] Ключ(this ПричиныИзмененияСостояния Значение)
 {
     return(Ссылка(Значение).ToByteArray());
 }
 public static ПричиныИзмененияСостояния Получить(this ПричиныИзмененияСостояния Значение, byte[] Ссылка)
 {
     return(Получить(Значение, new Guid(Ссылка)));
 }