Inheritance issue
- by VenkateshGudipati
hi Friends
i am facing a issue in Inheritance
i have a interface called Irewhizz
interface irewhzz
{
void object save(object obj);
void object getdata(object obj);
}
i write definition in different class like
public user:irewhzz
{
public object save(object obj);
{
.......
}
public object getdata(object obj);
{
.......
}
}
this is antoher class
public client:irewhzz
{
public object save(object obj);
{
.......
}
public object getdata(object obj);
{
.......
}
}
now i have different classes like
public partial class RwUser
{
#region variables
IRewhizzDataHelper irewhizz;
IRewhizzRelationDataHelper irewhizzrelation;
private string _firstName;
private string _lastName;
private string _middleName;
private string _email;
private string _website;
private int _addressId;
private string _city;
private string _zipcode;
private string _phone;
private string _fax;
//private string _location;
private string _aboutMe;
private string _username;
private string _password;
private string _securityQuestion;
private string _securityQAnswer;
private Guid _user_Id;
private long _rwuserid;
private byte[] _image;
private bool _changepassword;
private string _mobilephone;
private int _role;
#endregion
//IRewhizz is the interface and its functions are implimented by UserDataHelper class
//RwUser Class is inheriting the UserDataHelper Properties and functions.
//Here UserDataHelper functions are called with Irewhizz Interface Object but not with the
//UserDataHelper class Object It will resolves the unit testing conflict.
#region Constructors
public RwUser()
: this(new UserDataHelper(), new RewhizzRelationalDataHelper())
{
}
public RwUser(IRewhizzDataHelper repositary, IRewhizzRelationDataHelper relationrepositary)
{
irewhizz = repositary;
irewhizzrelation = relationrepositary;
}
#endregion
#region Properties
public int Role
{
get
{
return _role;
}
set
{
_role = value;
}
}
public string MobilePhone
{
get
{
return _mobilephone;
}
set
{
_mobilephone = value;
}
}
public bool ChangePassword
{
get
{
return _changepassword;
}
set
{
_changepassword = value;
}
}
public byte[] Image
{
get
{
return _image;
}
set
{
_image = value;
}
}
public string FirstName
{
get
{
return _firstName;
}
set
{
_firstName = value;
}
}
public string LastName
{
get
{
return _lastName;
}
set
{
_lastName = value;
}
}
public string MiddleName
{
get
{
return _middleName;
}
set
{
_middleName = value;
}
}
public string Email
{
get
{
return _email;
}
set
{
_email = value;
}
}
public string Website
{
get
{
return _website;
}
set
{
_website = value;
}
}
public int AddressId
{
get
{
return _addressId;
}
set
{
_addressId = value;
}
}
public string City
{
get
{
return _city;
}
set
{
_city = value;
}
}
public string Zipcode
{
get
{
return _zipcode;
}
set
{
_zipcode = value;
}
}
public string Phone
{
get
{
return _phone;
}
set
{
_phone = value;
}
}
public string Fax
{
get
{
return _fax;
}
set
{
_fax = value;
}
}
//public string Location
//{
// get
// {
// return _location;
// }
// set
// {
// _location = value;
// }
//}
public string AboutMe
{
get
{
return _aboutMe;
}
set
{
_aboutMe = value;
}
}
public string username
{
get
{
return _username;
}
set
{
_username = value;
}
}
public string password
{
get
{
return _password;
}
set
{
_password = value;
}
}
public string SecurityQuestion
{
get
{
return _securityQuestion;
}
set
{
_securityQuestion = value;
}
}
public string SecurityQAnswer
{
get
{
return _securityQAnswer;
}
set
{
_securityQAnswer = value;
}
}
public Guid UserID
{
get
{
return _user_Id;
}
set
{
_user_Id = value;
}
}
public long RwUserID
{
get
{
return _rwuserid;
}
set
{
_rwuserid = value;
}
}
#endregion
#region MemberFunctions
// DataHelperDataContext db = new DataHelperDataContext();
// RewhizzDataHelper rwdh=new RewhizzDataHelper();
//It saves user information entered by user and returns the id of that user
public object saveUserInfo(RwUser userObj)
{
userObj.UserID = irewhizzrelation.GetUserId(username);
var res = irewhizz.saveData(userObj);
return res;
}
//It returns the security questions for user registration
}
public class Agent : RwUser
{
IRewhizzDataHelper irewhizz;
IRewhizzRelationDataHelper irewhizzrelation;
private int _roleid;
private int _speclisationid;
private int[] _language;
private string _brokaragecompany;
private int _loctionType_lk;
private string _rolename;
private int[] _specialization;
private string _agentID;
private string _expDate;
private string _regstates;
private string _selLangs;
private string _selSpels;
private string _locations;
public string Locations
{
get
{
return _locations;
}
set
{
_locations = value;
}
}
public string SelectedLanguages
{
get
{
return _selLangs;
}
set
{
_selLangs = value;
}
}
public string SelectedSpecialization
{
get
{
return _selSpels;
}
set
{
_selSpels = value;
}
}
public string RegisteredStates
{
get
{
return _regstates;
}
set
{
_regstates = value;
}
}
//private string _registeredStates;
public string AgentID
{
get
{
return _agentID;
}
set
{
_agentID = value;
}
}
public string ExpDate
{
get
{
return _expDate;
}
set
{
_expDate = value;
}
}
private int[] _registeredStates;
public SelectList RegisterStates
{
set;
get;
}
public SelectList Languages
{
set;
get;
}
public SelectList Specializations
{
set;
get;
}
public int[] RegisterdStates
{
get
{
return _registeredStates;
}
set
{
_registeredStates = value;
}
}
//public string RegisterdStates
//{
// get
// {
// return _registeredStates;
// }
// set
// {
// _registeredStates = value;
// }
//}
public int RoleId
{
get
{
return _roleid;
}
set
{
_roleid = value;
}
}
public int SpeclisationId
{
get
{
return _speclisationid;
}
set
{
_speclisationid = value;
}
}
public int[] Language
{
get
{
return _language;
}
set
{
_language = value;
}
}
public int LocationTypeId
{
get
{
return _loctionType_lk;
}
set
{
_loctionType_lk = value;
}
}
public string BrokarageCompany
{
get
{
return _brokaragecompany;
}
set
{
_brokaragecompany = value;
}
}
public string Rolename
{
get
{
return _rolename;
}
set
{
_rolename = value;
}
}
public int[] Specialization
{
get
{
return _specialization;
}
set
{
_specialization = value;
}
}
public Agent()
: this(new AgentDataHelper(), new RewhizzRelationalDataHelper())
{
}
public Agent(IRewhizzDataHelper repositary, IRewhizzRelationDataHelper relationrepositary)
{
irewhizz = repositary;
irewhizzrelation = relationrepositary;
}
public void inviteclient()
{
//Code related to mailing
}
//DataHelperDataContext dataObj = new DataHelperDataContext();
//#region IRewhizzFactory Members
//public List<object> getAgentInfo(string username)
//{
// var res=dataObj.GetCompleteUserDetails(username);
// return res.ToList();
// throw new NotImplementedException();
//}
//public List<object> GetRegisterAgentData(string username)
//{
// var res= dataObj.RegisteredUserdetails(username);
// return res.ToList();
//}
//public void saveAgentInfo(string username, string password, string firstname, string lastname, string middlename, string securityquestion, string securityQanswer)
//{
// User userobj=new User();
// var result = dataObj.rw_Users_InsertUserInfo(firstname, middlename, lastname, dataObj.GetUserId(username), securityquestion, securityquestionanswer);
// throw new NotImplementedException();
//}
//#endregion
public Agent updateData(Agent objectId)
{
objectId.UserID = irewhizzrelation.GetUserId(objectId.username);
objectId = (Agent)irewhizz.updateData(objectId);
return objectId;
}
public Agent GetAgentData(Agent agentodj)
{
agentodj.UserID = irewhizzrelation.GetUserId(agentodj.username);
agentodj = (Agent)irewhizz.getData(agentodj);
if (agentodj.RoleId != 0)
agentodj.Rolename = (string)(string)irewhizzrelation.getValue(agentodj.RoleId);
if (agentodj.RegisterdStates.Count() != 0)
{
List<SelectListItem> list = new List<SelectListItem>();
string regstates = "";
foreach (int i in agentodj.RegisterdStates)
{
SelectListItem listitem = new SelectListItem();
listitem.Value = i.ToString();
listitem.Text = (string)irewhizzrelation.getValue(i);
list.Add(listitem);
regstates += (string)irewhizzrelation.getValue(i) + ",";
}
SelectList selectlist = new SelectList(list, "Value", "Text");
agentodj.RegisterStates = selectlist;
if(regstates!=null)
agentodj.RegisteredStates = regstates.Remove(regstates.Length - 1);
}
if (agentodj.Language.Count() != 0)
{
List<SelectListItem> list = new List<SelectListItem>();
string selectedlang = "";
foreach (int i in agentodj.Language)
{
SelectListItem listitem = new SelectListItem();
listitem.Value = i.ToString();
listitem.Text = (string)irewhizzrelation.getValue(i);
list.Add(listitem);
selectedlang += (string)irewhizzrelation.getValue(i) + ",";
}
SelectList selectlist = new SelectList(list, "Value", "Text");
agentodj.Languages = selectlist;
// agentodj.SelectedLanguages = selectedlang;
}
if (agentodj.Specialization.Count() != 0)
{
List<SelectListItem> list = new List<SelectListItem>();
string selectedspel = "";
foreach (int i in agentodj.Specialization)
{
SelectListItem listitem = new SelectListItem();
listitem.Value = i.ToString();
listitem.Text = (string)irewhizzrelation.getValue(i);
list.Add(listitem);
selectedspel += (string)irewhizzrelation.getValue(i) + ",";
}
SelectList selectlist = new SelectList(list, "Value", "Text");
agentodj.Specializations = selectlist;
//agentodj.SelectedSpecialization = selectedspel;
}
return agentodj;
}
public void SaveImage(byte[] pic, String username)
{
irewhizzrelation.SaveImage(pic, username);
}
}
now the issue is when ever i am calling agent class it is given error like null reference exception for rwuser class
can any body give the solution
thanks in advance