Problemer med at hente properties fra en klasse
HejJeg er i gang med at lave mig et system, hvor der skal være forskellige interfaces og hvor jeg gør brug af NHibernate. Af samme grund har jeg jo så delt tingene op i forskellige projekter og klasser.
Jeg har en DAL projekt, hvor jeg har alt database tilgangen.
Jeg har en ImplService projekt med klasser hvor mine metoder er og som arver fra InterfaceService projektet.
Jeg har en InterfaceService projekt med klasser hvor mine metoder (med in- og output parametre) bliver listet.
Jeg har et Web projekt med, hvor mine metoder skal bruges.
I den ene klasse, får jeg godt nok alting med og jeg kan også hente de parametre, jeg har skrevet. I den anden kommer mine parametre ikke med over (til web projektet) når jeg kalder dem. Jeg håber ved at vise den der går godt og den der går skidt, at en af jer kan fortælle mig, hvor min fejl ligger henne;
Dal'en hvor jeg laver database bearbejdning
Den der går godt:
namespace DAL.AnsiCrm_Area
{
public class AnsiCrm_Area
{
#region " Enums, Members, Properties "
public int areaId { get; set; }
public string areaName { get; set; }
#endregion
#region " Data Access Get "
public DataTable AnsiCrm_GetArea(int areaId)
{
try
{
DatabaseGeneric.EntityClasses.AnsiCrm_Area areas = DatabaseGeneric.EntityClasses.AnsiCrm_AreaDAO.LoadAnsiCrm_AreaByORMID(areaId);
if (areas != null)
{
areaId = areas.ORMID;
areaName = areas.AreaName;
}
DatabaseGeneric.EntityClasses.AnsiCrm_AreaCriteria areaCriteria = new DatabaseGeneric.EntityClasses.AnsiCrm_AreaCriteria();
areaCriteria.AreaId.Eq(areaId);
DatabaseGeneric.EntityClasses.AnsiCrm_Area[] area = areaCriteria.ListAnsiCrm_Area();
return HelpersStatics.ToDataTable(area);
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
Den der ikke går godt:
namespace DAL.AnsiCrm_System
{
public class AnsiCrm_SystemOptions
{
#region " Enums, Members, Properties "
DBUtility DAL = new DBUtility();
public int optionId { get; set; }
#region " Company "
//Felter
public bool Company_Phone { get; set; }
public bool Company_Fax { get; set; }
public bool Company_Email { get; set; }
public bool Company_Homepage { get; set; }
public bool Company_Comment { get; set; }
public bool Company_Address1 { get; set; }
public bool Company_Address2 { get; set; }
public bool Company_Country { get; set; }
public bool Company_ZipCode { get; set; }
public bool Company_City { get; set; }
public bool Company_AccountNo { get; set; }
public bool Company_Cvr { get; set; }
public bool Company_PNo { get; set; }
public bool Company_Responsible1 { get; set; }
public bool Company_Responsible2 { get; set; }
public bool Company_Status { get; set; }
public bool Company_Area { get; set; }
public bool Company_Type { get; set; }
public bool Company_Branch { get; set; }
public bool Company_Corporate { get; set; }
//Page Company New/Edit
public bool pCompanyNewEdit_aDisplayCompany { get; set; }
public bool pCompanyNewEdit_aDisplayCompanyComment { get; set; }
public bool pCompanyNewEdit_aDisplayCompanyAddress { get; set; }
public bool pCompanyNewEdit_aDisplayCompanyAccount { get; set; }
public bool pCompanyNewEdit_aDisplayCompanyInformation { get; set; }
//Page Company List
public bool pCompanyList_aDisplayCompaniesSearch { get; set; }
public bool pCompanyList_aDisplayCompaniesSearchStartsWith { get; set; }
//Page Company View
public bool pCompanyView_aDisplayCompanyViewActivityLink { get; set; }
public bool pCompanyView_aDisplayCompanyViewMeetingLink { get; set; }
public bool pCompanyView_aDisplayCompanyViewContactLink { get; set; }
public bool pCompanyView_aDisplayCompanyViewOfferLink { get; set; }
public bool pCompanyView_aDisplayCompanyViewDeliveryLink { get; set; }
public bool pCompanyView_aDisplayCompanyViewEmailLink { get; set; }
public bool pCompanyView_aDisplayCompanyViewDocumentLink { get; set; }
public bool pCompanyView_aDisplayCompanyViewRelationLink { get; set; }
public bool pCompanyView_aDisplayCompanyViewActivitiesList { get; set; }
public bool pCompanyView_aDisplayCompanyViewContactsList { get; set; }
public bool pCompanyView_aDisplayCompanyViewMeetingsList { get; set; }
#endregion
//public bool xxx { get; set; }
#endregion
#region " Data Access Get "
public void AnsiCrm_GetViewOptionList(int customerId)
{
try
{
DatabaseGeneric.EntityClasses.AnsiCrm_System_OptionsCriteria systemOptionsCritería = new DatabaseGeneric.EntityClasses.AnsiCrm_System_OptionsCriteria();
DatabaseGeneric.EntityClasses.AnsiCrm_System_OptionsColumnCriteria optionsColumnCriteria = systemOptionsCritería.CreateOptionCoulmnCriteria();
DatabaseGeneric.EntityClasses.AnsiCrm_CustomersCriteria customersCriteria = systemOptionsCritería.CreateCustomerCriteria();
customersCriteria.CustomerId.Eq(customerId);
DatabaseGeneric.EntityClasses.AnsiCrm_System_Options[] systemOptions = systemOptionsCritería.ListAnsiCrm_System_Options();
if (systemOptions != null)
{
for (int i = 0; i < systemOptions.Length; i++)
{
string name = systemOptions[i].OptionCoulmn.OptionColumnName;
#region " Company "
if (name == "Company_Phone")
{
Company_Phone = systemOptions[i].ViewOption;
}
else if (name == "Company_Fax")
{
Company_Fax = systemOptions[i].ViewOption;
}
#endregion
}
}
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
Min Interface service
Den der går godt:
namespace InterfaceService
{
public interface IAreaService
{
int areaId { get; set; }
string areaName { get; set; }
//Get
DataTable GetArea(int areaId);
}
}
Den der ikke går godt:
namespace InterfaceService
{
public interface ISystemOptionService
{
int optionId { get; set; }
#region " Company "
//Felter
bool Company_Phone { get; set; }
bool Company_Fax { get; set; }
#endregion
void GetViewOptionList(int customerId);
}
}
Min ImplService
Den der går godt:
namespace ImplService
{
public class Areas : IAreaService
{
public int areaId { get; set; }
public string areaName { get; set; }
//Get
public DataTable GetArea(int areaId)
{
try
{
AnsiCrm_Area areas = new AnsiCrm_Area();
DataTable getData = areas.AnsiCrm_GetArea(areaId);
areaId = areas.areaId;
areaName = areas.areaName;
return getData;
}
catch(Exception ex)
{
throw ex;
}
}
}
}
Den der ikke går godt:
namespace ImplService
{
public class SystemOption : ISystemOptionService
{
public int optionId { get; set; }
#region " Company "
//Felter
public bool Company_Phone { get; set; }
public bool Company_Fax { get; set; }
#endregion
//Get
public void GetViewOptionList(int customerId)
{
try
{
AnsiCrm_SystemOptions systemoptions = new AnsiCrm_SystemOptions();
systemoptions.AnsiCrm_GetViewOptionList(customerId);
#region " Company "
Company_Phone = systemoptions.Company_Phone;
Company_Fax = systemoptions.Company_Fax; #endregion
}
catch (Exception ex)
{
throw ex;
}
}
}
}
Og her vil jeg så teste det i en pageLoad side på Web delen:
Areas areas = new Areas();
areas.GetArea(1);
string areaName = areas.areaName;
int areaId = areas.areaId;
SystemOption systemOption = new SystemOption();
systemOption.SetViewOption(2, false);
SystemOption systemOption2 = new SystemOption();
systemOption.GetViewOptionList(1);
bool test1 = systemOption2.Company_Phone;
bool test2 = systemOption2.Company_Fax;
areaName og areaId kommer ganske glimrende ud -men systemOption2 henter ikke Company_Phone og Company_Fax ud - de står som bool false begge - hvor jeg ved fra databasen at den ene står som false og den anden som true.
Laver jeg en run to curser på ImplService klassen får den godt nok de korrekte data ud - altså én true og én false. Så jeg tror det er i bindingen - altså InterfaceService der går noget galt.
Jeg håber, det ikke er for forvirrende og jeg kan få lidt hjælp.
Mvh
simsen :-)