>>>>>>using System; >>>>>>using System.Collections.Generic; >>>>>>using System.Linq; >>>>>>using System.Text; >>>>>>using System.Data.SqlClient; >>>>>>using System.Collections; >>>>>>using System.Data; >>>>>> >>>>>>namespace Marois.WorkIT.DataAccess >>>>>>{ >>>>>> [Serializable] >>>>>> public class Address : DataClassBase >>>>>> { >>>>>> private int _AddressTypeKey = 0; >>>>>> public int AddressTypeKey >>>>>> { >>>>>> get { return _AddressTypeKey; } >>>>>> set { _AddressTypeKey = value; } >>>>>> } >>>>>> >>>>>> private string _Street1 = string.Empty; >>>>>> public string Street1 >>>>>> { >>>>>> get { return _Street1; } >>>>>> set { _Street1 = value; } >>>>>> } >>>>>> >>>>>> private string _Street2 = string.Empty; >>>>>> public string Street2 >>>>>> { >>>>>> get { return _Street2; } >>>>>> set { _Street2 = value; } >>>>>> } >>>>>> >>>>>> private string _City = string.Empty; >>>>>> public string City >>>>>> { >>>>>> get { return _City; } >>>>>> set { _City = value; } >>>>>> } >>>>>> >>>>>> private string _State = string.Empty; >>>>>> public string State >>>>>> { >>>>>> get { return _State; } >>>>>> set { _State = value; } >>>>>> } >>>>>> >>>>>> private string _PostalCode = string.Empty; >>>>>> public string PostalCode >>>>>> { >>>>>> get { return _PostalCode; } >>>>>> set { _PostalCode = value; } >>>>>> } >>>>>> >>>>>> public override void LoadData() >>>>>> { >>>>>> DataSet ds = AppDataAccess.GetAddresses(this.RecordId); >>>>>> >>>>>> if (ds != null && ds.Tables.Count > 0) >>>>>> { >>>>>> this.RecordId = Convert.ToInt32(ds.Tables[0].Rows[0]["AddressKey"]); >>>>>> _AddressTypeKey = Convert.ToInt32(ds.Tables[0].Rows[0]["AddressTypeKey"]); >>>>>> _Street1 = ds.Tables[0].Rows[0]["Street1"].ToString(); >>>>>> _Street2 = ds.Tables[0].Rows[0]["Street2"].ToString(); >>>>>> _City = ds.Tables[0].Rows[0]["City"].ToString(); >>>>>> _State = ds.Tables[0].Rows[0]["State"].ToString(); >>>>>> _PostalCode = ds.Tables[0].Rows[0]["PostalCode"].ToString(); >>>>>> >>>>>> } >>>>>> >>>>>> else >>>>>> { >>>>>> this.DataException = AppDataAccess.DataException; >>>>>> } >>>>>> } >>>>>> >>>>>> >>>>>> public override void Delete() >>>>>> { >>>>>> SqlParameter pAddressKey = new SqlParameter("@AddessKey", this.RecordId); >>>>>> ArrayList colParams = new ArrayList(); >>>>>> colParams.Add(AddressTypeKey); >>>>>> >>>>>> AppDataAccess.ExecuteNonQuery("wit_DeleteAddress",colParams); >>>>>> >>>>>> if (AppDataAccess.DataException == null) >>>>>> { >>>>>> this.RecordId = 0; >>>>>> _AddressTypeKey = 0; >>>>>> >>>>>> } >>>>>> else >>>>>> { >>>>>> this.DataException = AppDataAccess.DataException; >>>>>> } >>>>>> >>>>>> } >>>>>> >>>>>> public override bool SaveChanges() >>>>>> { >>>>>> bool RetVal = Validate(); >>>>>> >>>>>> if (RetVal) >>>>>> { >>>>>> string ProcName = string.Empty; >>>>>> >>>>>> SqlParameter pAddressKey = new SqlParameter("@AddressKey", 0); >>>>>> >>>>>> if (this.RecordId == 0) >>>>>> { >>>>>> pAddressKey.Direction = ParameterDirection.Output; >>>>>> ProcName = "wit_AddAddress"; >>>>>> } >>>>>> else >>>>>> { >>>>>> >>>>>> pAddressKey.Value = this.RecordId; >>>>>> ProcName = "wit_UpdateAddress"; >>>>>> } >>>>>> >>>>>> SqlParameter pAddressTypeKey = new SqlParameter("@AddressTypeKey",_AddressTypeKey); >>>>>> SqlParameter pStreet1 = new SqlParameter("@Street1", _Street1); >>>>>> SqlParameter pStreet2 = new SqlParameter("@Street2", _Street2); >>>>>> SqlParameter pCity = new SqlParameter("@City", _City); >>>>>> SqlParameter pState = new SqlParameter("@State", _State); >>>>>> SqlParameter pPostalCode = new SqlParameter("@PostalCode", _PostalCode); >>>>>> >>>>>> ArrayList colParams = new ArrayList(); >>>>>> colParams.Add(pAddressKey); >>>>>> colParams.Add(pAddressTypeKey); >>>>>> colParams.Add(pStreet1); >>>>>> colParams.Add(pStreet2); >>>>>> colParams.Add(pCity); >>>>>> colParams.Add(pState); >>>>>> colParams.Add(pPostalCode); >>>>>> >>>>>> AppDataAccess.ExecuteNonQuery(ProcName, colParams); >>>>>> >>>>>> if (AppDataAccess.DataException == null) >>>>>> { >>>>>> >>>>>> if (pAddressKey.Direction == ParameterDirection.Output) >>>>>> { >>>>>> this.RecordId = Convert.ToInt32(pAddressKey.Value); >>>>>> } >>>>>> } >>>>>> else >>>>>> { >>>>>> this.DataException = AppDataAccess.DataException; >>>>>> } >>>>>> } >>>>>> >>>>>> return RetVal; >>>>>> } >>>>>> >>>>>> public override bool Validate() >>>>>> { >>>>>> bool bValid = true; >>>>>> >>>>>> if (_AddressTypeKey == 0) >>>>>> { >>>>>> bValid = false; >>>>>> base.DataException = new DataValidationException("Address can not be empty"); >>>>>> } >>>>>> return bValid; >>>>>> } >>>>>> } >>>>>>} >>>>>>>>>>>>
'System.Runtime.Serialization.SerializationException: Type 'Marois.WorkIT.DataAccess.Address' in Assembly 'DataAccess, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable.
Marking it as serializable should get rid of that error but if any of the properties of the Address class were not serializable you may get a different error. Can you post the code for the class?>>>>>>>>>>Failed to create component 'crlAddresses'. The error message follows: >>>>>>>>>> >>>>>>>>>> 'System.Runtime.Serialization.SerializationException: Type 'Marois.WorkIT.DataAccess.Address' in Assembly 'DataAccess, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable. >>>>>>>>>> >>>>>>>>>> at System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type) >>>>>>>>>> >>>>>>>>>> at System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type, StreamingContext context) >>>>>>>>>> >>>>>>>>>> at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo() >>>>>>>>>> >>>>>>>>>> at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Type objectType, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter) >>>>>>>>>> >>>>>>>>>> at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(Type objectType, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter) >>>>>>>>>> >>>>>>>>>> at System.Runtime.Serialization.Formatters.Bina...' >>>>>>>>>>