public void SaveModuleToMethod(IPaymentModule module, PaymentMethod method) { var serializer = new XmlSerializer(module.GetType()); using (var writer = new StringWriter()) { serializer.Serialize(writer, module); method.ModuleSettings = writer.ToString(); method.ModuleType = module.GetType().Name; } }
public IPaymentModule GetModuleFromMethod(PaymentMethod method) { var moduleInfo = GetModuleInfo(method.ModuleType); var serializer = new XmlSerializer(moduleInfo.ModuleType); using (var reader = new StringReader(method.ModuleSettings)) { return (IPaymentModule)serializer.Deserialize(reader); } }