public static Facade.Callback ToFacade(this Callback callback) { if (callback == null || callback.Url==null) return null; try { var result = new Facade.Callback { Url = callback.Url.ToString() }; switch (callback.Kind) { case CallbackKind.Message: result.Kind = Facade.CallbackKind.Message; break; case CallbackKind.Key : result.Kind = Facade.CallbackKind.Key; break; default: throw new InvalidOperationException(string.Format(Messages.CallbackKindUnknown, callback.Kind)); } return result; } catch (Exception e) { throw new ArgumentException(Messages.InvalidCallbackFormat, "callback", e); } }
static public Facade.Callback ToFacade(this Callback callback) { if (callback == null || callback.Url == null) { return(null); } try { var result = new Facade.Callback { Url = callback.Url.ToString() }; switch (callback.Kind) { case CallbackKind.Message: result.Kind = Facade.CallbackKind.Message; break; case CallbackKind.Key: result.Kind = Facade.CallbackKind.Key; break; default: throw new InvalidOperationException(string.Format(Messages.CallbackKindUnknown, callback.Kind)); } return(result); } catch (Exception e) { throw new ArgumentException(Messages.InvalidCallbackFormat, "callback", e); } }
static public Callback ToModel(this Facade.Callback callback) { if (callback == null) { return(null); } try { if (string.IsNullOrWhiteSpace(callback.Url)) { return(null); } var result = new Callback { Url = new Uri(callback.Url) }; switch (callback.Kind) { case Facade.CallbackKind.Message: result.Kind = CallbackKind.Message; break; case Facade.CallbackKind.Key: result.Kind = CallbackKind.Key; break; default: throw new InvalidOperationException(string.Format(Messages.CallbackKindUnknown, callback.Kind)); } return(result); } catch (Exception e) { throw new ArgumentException(Messages.InvalidCallbackFormat, "callback", e); } }