2008-11-06 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / System.Web / System.Web.Security / MembershipCreateUserException.cs
index d2fc4ec0558917c535c0feeadd411e28453d2edc..58b5e9c98b5621bffb00a5676ddd0443cd535e16 100644 (file)
 //
 
 #if NET_2_0
-namespace System.Web.Security {
-       [MonoTODO ("make strings for the messages")]
-       public class MembershipCreateUserException : HttpException {
+using System;
+using System.Runtime.Serialization;
+
+namespace System.Web.Security
+{
+       [Serializable]
+       public class MembershipCreateUserException : Exception
+       {
+               MembershipCreateStatus statusCode;
+               
+               public MembershipCreateUserException ()
+               {
+               }
+               
+               public MembershipCreateUserException (string message): base (message)
+               {
+               }
+               
+               public MembershipCreateUserException (string message, Exception innerException): base (message, innerException)
+               {
+               }
+               
+               protected MembershipCreateUserException (SerializationInfo info, StreamingContext context): base (info, context)
+               {
+                       info.AddValue ("statusCode", statusCode);
+               }
+               
                public MembershipCreateUserException (MembershipCreateStatus statusCode) : base (statusCode.ToString ())
                {
                        this.statusCode = statusCode;
                }
                
-               MembershipCreateStatus statusCode;
+               public override void GetObjectData (SerializationInfo info, StreamingContext ctx)
+               {
+                       base.GetObjectData (info, ctx);
+                       statusCode = (MembershipCreateStatus) info.GetValue ("statusCode", typeof(MembershipCreateStatus));
+               }
+               
                public MembershipCreateStatus StatusCode {
                        get { return statusCode; }
                }