>>>>>>>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...' >>>>>>>>>>>