These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: Invalid attempt to GetBytes on column
PostPosted: Mon Nov 05, 2007 6:03 pm 
Newbie

Joined: Mon Nov 05, 2007 5:30 pm
Posts: 1
I am getting the following error when I try to run a basic hql query against my Charge class ("from Charge ca"). It appears to be complaining about the LastUser (typeof User) ModelReference in my Charge class, but I have another LastUser ModelReference in another class done the exact same way that is not having issues.

Quote:
Could not cast the value in field LastUserID26_0_ of type String to the Type SerializableType. Please check to make sure that the mapping is correct and that your DataProvider supports this Data Type.


Inner Exception
Quote:
{"Invalid attempt to GetBytes on column 'LastUserID26_0_'. The GetBytes function can only be used on columns of type Text, NText, or Image."}



Hibernate version:
v2.0.50727

Mapping Class:
Code:
public class NHibernateMapping : XmlDoc
    {
        public NHibernateMapping(Type type)
            : base("hibernate-mapping", "urn:nhibernate-mapping-2.2")
        {
            _type = type;

            ModelObjectAttribute moa = (ModelObjectAttribute)type.GetCustomAttributes(typeof(ModelObjectAttribute), false)[0];

            XmlElem root = DocumentElement as XmlElem;

            XmlElem cls = root.AddElem("class");
            cls.AddAttr("name", type.AssemblyQualifiedName);
            cls.AddAttr("proxy", type.AssemblyQualifiedName);
            cls.AddAttr("lazy", "true");
            cls.AddAttr("table", string.IsNullOrEmpty(moa.Table) ? type.Name : moa.Table);
            if (!string.IsNullOrEmpty(moa.Cache))
            {
                XmlElem cache = cls.AddElem("cache");
                cache.AddAttr("usage", moa.Cache);
            }

            AddIDElement(cls, type);
            AddPropertyElements(cls, type);
            AddManyToOneElements(cls, type);
            AddSetElements(cls, type);

            //if (type.FullName == "EBC.Model.WorkfilePatientMedicalOrders")
            //{
            //    Console.WriteLine(OuterXml);
            //}
        }

        public Type Type { get { return _type; } }

        protected void AddIDElement(XmlElem cls, Type type)
        {
            List<Attribute> ids = new List<Attribute>();
            List<PropertyInfo> props = new List<PropertyInfo>();

            foreach (PropertyInfo prop in type.GetProperties())
            {
                {
                    ModelPropertyAttribute attr = GetAttr<ModelPropertyAttribute>(prop);
                    if (attr != null && attr.ID)
                    {
                        ids.Add(attr);
                        props.Add(prop);
                    }
                }

                {
                    ModelReferenceAttribute attr = GetAttr<ModelReferenceAttribute>(prop);
                    if (attr != null && attr.ID)
                    {
                        ids.Add(attr);
                        props.Add(prop);
                    }
                }
            }

            if(ids[0] is ModelPropertyAttribute && ids.Count == 1)
            {
                ModelPropertyAttribute mpa = (ModelPropertyAttribute)ids[0];
           
                XmlElem id = AddPropElem(cls, "id", props[0], mpa);
                XmlElem gen = id.AddElem("generator");
                if (string.IsNullOrEmpty(mpa.Generator))
                {
                    gen.AddAttr("class", "assigned");
                }
                else
                {
                    gen.AddAttr("class", mpa.Generator);
                }
               
                if ("identity".Equals(mpa.Generator))
                {
                    id.AddAttr("unsaved-value", "0");
                }
            }
            else
            {
                XmlElem cid = cls.AddElem("composite-id");
                for (int ii = 0; ii < ids.Count; ii++)
                {
                    if (ids[ii] is ModelPropertyAttribute)
                    {
                        ModelPropertyAttribute mpa = (ModelPropertyAttribute)ids[ii];
                        AddPropElem(cid, "key-property", props[ii], mpa);
                    }
                    else
                    {
                        ModelReferenceAttribute mra = (ModelReferenceAttribute)ids[ii];
                        AddRefElem(cid, "key-many-to-one", props[ii], mra);
                    }
                }
            }
        }

        protected void AddPropertyElements(XmlElem cls, Type type)
        {
            foreach (PropertyInfo prop in type.GetProperties())
            {
                if (prop.GetCustomAttributes(typeof(ModelPropertyAttribute), true).Length > 0)
                {
                    ModelPropertyAttribute mpa = (ModelPropertyAttribute)prop.GetCustomAttributes(typeof(ModelPropertyAttribute), true)[0];

                    if (!mpa.ID)
                    {
                        AddPropElem(cls, "property", prop, mpa);
                    }
                }
            }
        }

        protected void AddManyToOneElements(XmlElem cls, Type type)
        {
            foreach (PropertyInfo prop in type.GetProperties())
            {
                if (prop.GetCustomAttributes(typeof(ModelReferenceAttribute), true).Length > 0)
                {
                    ModelReferenceAttribute mra = (ModelReferenceAttribute)prop.GetCustomAttributes(typeof(ModelReferenceAttribute), true)[0];
                    XmlElem mto = AddRefElem(cls, "many-to-one", prop, mra);
                    mto.AddAttr("not-found", "ignore");
                    if (!mra.Update)
                    {
                        mto.AddAttr("update", "false");
                        mto.AddAttr("insert", "false");
                    }
                }
            }
        }

        protected void AddSetElements(XmlElem cls, Type type)
        {
            foreach (PropertyInfo prop in type.GetProperties())
            {
                if (prop.GetCustomAttributes(typeof(ModelListAttribute), true).Length > 0)
                {
                    ModelListAttribute mla = prop.GetCustomAttributes(typeof(ModelListAttribute), true)[0] as ModelListAttribute;
                    XmlElem bag = cls.AddElem("bag");
                    bag.AddAttr("name", prop.Name);
                    bag.AddAttr("lazy", "true");
                    XmlElem key = bag.AddElem("key");
                    XmlElem col = key.AddElem("column");
                    col.AddAttr("name", mla.KeyColumn);
                    if (!string.IsNullOrEmpty(mla.KeyColumn2))
                    {
                        XmlElem col2 = key.AddElem("column");
                        col2.AddAttr("name", mla.KeyColumn2);
                    }
                    if (!string.IsNullOrEmpty(mla.KeyColumn3))
                    {
                        XmlElem col3 = key.AddElem("column");
                        col3.AddAttr("name", mla.KeyColumn3);
                    }

                    if (!string.IsNullOrEmpty(mla.Table))
                    {
                        // Many-to-many
                        bag.AddAttr("table", mla.Table);
                        XmlElem mtm = bag.AddElem("many-to-many");
                        mtm.AddAttr("class", prop.PropertyType.GetGenericArguments()[0].AssemblyQualifiedName);
                        mtm.AddAttr("column", mla.Column);
                        mtm.AddAttr("not-found", "ignore");
                    }
                    else
                    {
                        // One-to-many
                        XmlElem otm = bag.AddElem("one-to-many");
                        otm.AddAttr("class", prop.PropertyType.GetGenericArguments()[0].AssemblyQualifiedName);
                        otm.AddAttr("not-found", "ignore");
                    }
                }

                // Process lists of value types
                if (prop.GetCustomAttributes(typeof(ModelValueListAttribute), true).Length > 0)
                {
                    // Yoink the first one.
                    ModelValueListAttribute attr = prop.GetCustomAttributes(
                        typeof(ModelValueListAttribute), true)[0] as ModelValueListAttribute;

                    // <set name="Messages" table="EligibilityResponseMessage">
                    //   <key column="ResponseID"/>
                    //   <element column="Message" type="String"/>
                    // </set>
                    XmlElem set = cls.AddElem("bag");

                    // The set name is taken off the property we're annotating.
                    // Also load list of value types. The table is specified by the attribute.
                    set.AddAttr("name", prop.Name);
                    set.AddAttr("lazy", "false");
                    set.AddAttr("table", attr.Table);

                    // The FK is defined by the attribute.
                    XmlElem key = set.AddElem("key");
                    key.AddAttr("column", attr.KeyColumn);

                    // Element defintion is based off the property.
                    XmlElem element = set.AddElem("element");

                    element.AddAttr("column", attr.Column);
                    element.AddAttr("type",
                        prop.PropertyType.GetGenericArguments()[0].AssemblyQualifiedName);
                }
            }
        }

        protected XmlElem AddPropElem(XmlElem parent, string name, PropertyInfo prop, ModelPropertyAttribute mpa)
        {
            XmlElem elem = parent.AddElem(name);
            elem.AddAttr("name", prop.Name);
            if (!string.IsNullOrEmpty(mpa.Formula))
            {
                elem.AddAttr("formula", mpa.Formula);
            }
            else
            {
                elem.AddAttr("column", string.IsNullOrEmpty(mpa.Column) ? prop.Name : mpa.Column);
            }

            if (mpa.Size > 0)
            {
                elem.AddAttr("length", mpa.Size.ToString());
            }
            if (mpa.Trim && typeof(string).IsAssignableFrom(prop.PropertyType))
            {
                elem.AddAttr("type", "EBC.API.Impl.CharUserType, EBC.API.Impl");
            }
            else if (typeof(StringEnum).IsAssignableFrom(prop.PropertyType))
            {
                elem.AddAttr("type", "EBC.API.Impl." + prop.PropertyType.Name + "UserType, EBC.API.Impl");
            }
            else
            {
                elem.AddAttr("type", prop.PropertyType.AssemblyQualifiedName);
            }
            return elem;
        }

        protected XmlElem AddRefElem(XmlElem parent, string name, PropertyInfo prop, ModelReferenceAttribute mra)
        {
            XmlElem elem = parent.AddElem(name);
            elem.AddAttr("name", prop.Name);
            elem.AddAttr("class", prop.PropertyType.AssemblyQualifiedName);
            if (!string.IsNullOrEmpty(mra.Column))
            {
                XmlElem col = elem.AddElem("column");
                col.AddAttr("name", mra.Column);
            }
            if (!string.IsNullOrEmpty(mra.Column2))
            {
                XmlElem col = elem.AddElem("column");
                col.AddAttr("name", mra.Column2);
            }
            if (!string.IsNullOrEmpty(mra.Column3))
            {
                XmlElem col = elem.AddElem("column");
                col.AddAttr("name", mra.Column3);
            }
            return elem;
        }

        protected T GetAttr<T>(PropertyInfo prop)
        {
            object[] attrs = prop.GetCustomAttributes(typeof(T), true);
            if (attrs.Length > 0)
            {
                return (T)attrs[0];
            }
            else
            {
                return default(T);
            }
        }

        protected Type _type;
    }



Code between sessionFactory.openSession() and session.close():

Code:

                NHibernate.Hql.Classic.QueryTranslator translator = new NHibernate.Hql.Classic.QueryTranslator(
                    (NHibernate.Engine.ISessionFactoryImplementor)ds.Factory,
                    hqlText.Text,
                    null);
                translator.Compile(new Hashtable(), false);
                sqlText.Text = translator.SQLString;

                sqlText.Text = translator.SQLString
                    .Replace("select ",                       "SELECT           ")
                    .Replace(" as ",                          " AS "            )
                    .Replace(",",                 "," +  Environment.NewLine + "                 ")
                    .Replace(" from ",                   Environment.NewLine + "FROM             ")
                    .Replace(" left join ",              Environment.NewLine + "LEFT JOIN        ")
                    .Replace(" left outer join ",        Environment.NewLine + "LEFT OUTER JOIN  ")
                    .Replace(" inner join ",             Environment.NewLine + "INNER JOIN       ")
                    .Replace(" on ",                          " ON ")
                    .Replace(" where ",                  Environment.NewLine + "WHERE            ")
                    .Replace(")OR(",                          ") OR ("           )
                    .Replace(")AND(",                         ") AND ("          )
                    .Replace(" AND ",                    Environment.NewLine + "AND              ")
                    .Replace(" group by ",               Environment.NewLine + "GROUP BY         ")
                    .Replace(" having ",                 Environment.NewLine + "HAVING           ")
                    .Replace(" order by ",               Environment.NewLine + "ORDER BY         ");

                IList results = session.CreateQuery(hqlText.Text).List();


Full stack trace of any exception that occurs:
Code:
   at NHibernate.Type.NullableType.NullSafeGet(IDataReader rs, String name)
   at NHibernate.Type.NullableType.NullSafeGet(IDataReader rs, String[] names, ISessionImplementor session, Object owner)
   at NHibernate.Type.AbstractType.Hydrate(IDataReader rs, String[] names, ISessionImplementor session, Object owner)
   at NHibernate.Loader.Loader.Hydrate(IDataReader rs, Object id, Object obj, ILoadable persister, ISessionImplementor session, String[][] suffixedPropertyColumns)
   at NHibernate.Loader.Loader.LoadFromResultSet(IDataReader rs, Int32 i, Object obj, Type instanceClass, EntityKey key, LockMode lockMode, ILoadable rootPersister, ISessionImplementor session)
   at NHibernate.Loader.Loader.InstanceNotYetLoaded(IDataReader dr, Int32 i, ILoadable persister, EntityKey key, LockMode lockMode, EntityKey optionalObjectKey, Object optionalObject, IList hydratedObjects, ISessionImplementor session)
   at NHibernate.Loader.Loader.GetRow(IDataReader rs, ILoadable[] persisters, EntityKey[] keys, Object optionalObject, EntityKey optionalObjectKey, LockMode[] lockModes, IList hydratedObjects, ISessionImplementor session)
   at NHibernate.Loader.Loader.GetRowFromResultSet(IDataReader resultSet, ISessionImplementor session, QueryParameters queryParameters, LockMode[] lockModeArray, EntityKey optionalObjectKey, IList hydratedObjects, EntityKey[] keys, Boolean returnProxies)
   at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
   at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
   at NHibernate.Loader.Loader.LoadEntity(ISessionImplementor session, Object id, IType identifierType, Object optionalObject, Type optionalEntityName, Object optionalIdentifier, IEntityPersister persister)
   at NHibernate.Loader.Entity.AbstractEntityLoader.Load(ISessionImplementor session, Object id, Object optionalObject, Object optionalId)
   at NHibernate.Loader.Entity.AbstractEntityLoader.Load(Object id, Object optionalObject, ISessionImplementor session)
   at NHibernate.Persister.Entity.AbstractEntityPersister.Load(Object id, Object optionalObject, LockMode lockMode, ISessionImplementor session)
   at NHibernate.Impl.SessionImpl.DoLoad(Type theClass, Object id, Object optionalObject, LockMode lockMode, Boolean checkDeleted)
   at NHibernate.Impl.SessionImpl.DoLoadByClass(Type clazz, Object id, Boolean checkDeleted, Boolean allowProxyCreation)
   at NHibernate.Impl.SessionImpl.InternalLoad(Type clazz, Object id, Boolean eager, Boolean isNullable)
   at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImplementor session)
   at NHibernate.Type.EntityType.ResolveIdentifier(Object id, ISessionImplementor session, Object owner)
   at NHibernate.Impl.SessionImpl.InitializeEntity(Object obj)
   at NHibernate.Loader.Loader.InitializeEntitiesAndCollections(IList hydratedObjects, Object resultSetId, ISessionImplementor session)
   at NHibernate.Loader.Loader.DoQuery(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
   at NHibernate.Loader.Loader.DoQueryAndInitializeNonLazyCollections(ISessionImplementor session, QueryParameters queryParameters, Boolean returnProxies)
   at NHibernate.Loader.Loader.DoList(ISessionImplementor session, QueryParameters queryParameters)
   at NHibernate.Loader.Loader.ListIgnoreQueryCache(ISessionImplementor session, QueryParameters queryParameters)
   at NHibernate.Loader.Loader.List(ISessionImplementor session, QueryParameters queryParameters, ISet querySpaces, IType[] resultTypes)
   at NHibernate.Hql.Classic.QueryTranslator.List(ISessionImplementor session, QueryParameters queryParameters)
   at NHibernate.Impl.SessionImpl.Find(String query, QueryParameters parameters, IList results)
   at NHibernate.Impl.SessionImpl.Find(String query, QueryParameters parameters)
   at NHibernate.Impl.QueryImpl.List()
   at EBC.HQL.HQLForm.runButton_Click(Object sender, EventArgs e) in C:\Code\svn\trunk\EBC.NET\EBC.HQL\HQLForm.cs:line 74


Name and version of the database you are using:
Microsoft SQL Server 2005

The generated SQL (show_sql=true):
Code:
SELECT           charge0_.ClientID AS ClientID51_,
                  charge0_.ChargeID AS ChargeID51_,
                  charge0_.SiteID AS SiteID51_,
                  charge0_.PatientID AS PatientID51_,
                  charge0_.GuarantorID AS Guaranto5_51_,
                  charge0_.RenderingProviderCode AS Renderin6_51_,
                  charge0_.PPolicyOwnerID AS PPolicyO7_51_,
                  charge0_.SPolicyOwnerID AS SPolicyO8_51_,
                  charge0_.TPolicyOwnerID AS TPolicyO9_51_,
                  charge0_.CampaignType AS Campaig10_51_,
                  charge0_.ProcedureID AS Procedu11_51_,
                  charge0_.DOSFrom AS DOSFrom51_,
                  charge0_.DOSTo AS DOSTo51_,
                  charge0_.CreationDate AS Creatio14_51_,
                  charge0_.LastUpdateDate AS LastUpd15_51_,
                  charge0_.Modifier1 AS Modifier16_51_,
                  charge0_.Modifier2 AS Modifier17_51_,
                  charge0_.Modifier3 AS Modifier18_51_,
                  charge0_.Balance AS Balance51_,
                  charge0_.BaseFee AS BaseFee51_,
                  charge0_.Status AS Status51_,
                  charge0_.NextStateChangeDate AS NextSta22_51_,
                  charge0_.EnabledAction AS Enabled23_51_,
                  charge0_.LastStatus AS LastStatus51_,
                  charge0_.FilingCarrierBucket AS FilingC25_51_,
                  charge0_.PCarPolicyNo AS PCarPol26_51_,
                  charge0_.PCarGroupNo AS PCarGro27_51_,
                  charge0_.SCarPolicyNo AS SCarPol28_51_,
                  charge0_.SCarGroupNo AS SCarGro29_51_,
                  charge0_.TCarPolicyNo AS TCarPol30_51_,
                  charge0_.TCarGroupNo AS TCarGro31_51_,
                  charge0_.LocationID AS LocationID51_,
                  charge0_.ReferringProviderCode AS Referri33_51_,
                  charge0_.SuperRendProviderCode AS SuperRe34_51_,
                  charge0_.PaRendProviderCode AS PaRendP35_51_,
                  charge0_.PCarrierID AS PCarrierID51_,
                  charge0_.SCarrierID AS SCarrierID51_,
                  charge0_.TCarrierID AS TCarrierID51_,
                  charge0_.PrimaryICD9 AS PrimaryICD39_51_,
                  charge0_.SecondaryICD9 AS Seconda40_51_,
                  charge0_.TertiaryICD9 AS Tertiar41_51_,
                  charge0_.UserID AS UserID51_,
                  charge0_.LastUserID AS LastUserID51_
FROM             ChargeActive charge0_



Debug level Hibernate log excerpt:

Code for Charge Class
Code:
[Serializable]
    [ModelObject(Table = "ChargeActive")]
    public class Charge : BaseCharge
    {
        [ModelReference(Column = "ClientID", ID = true)]
        public override Client Client { get { return _client; } set { _client = value; } }

        [ModelReference(Column = "LocationID")]
        public override Location Location { get { return _location; } set { _location = value; } }

        [ModelProperty(NotNull = true, ID = true)]
        public override int ChargeID { get { return _chargeID; } set { _chargeID = value; } }

        [ModelProperty(NotNull=true, Size=10)]
        public virtual string SiteID { get { return _siteID; } set { _siteID = value; } }

        [ModelReference(Column = "ClientID", Column2 = "PatientID", Update = false)]
        public virtual Person Patient { get { return _patient; } set { _patient = value; _patientID = value.PersonID; } }
        [ModelProperty]
        public virtual int PatientID { get { return _patientID; } set { _patientID = value; } }

        [ModelReference(Column = "ClientID", Column2 = "GuarantorID", Update = false)]
        public virtual Person Guarantor { get { return _guarantor; } set { _guarantor = value; _guarantorID = value.PersonID; } }
        [ModelProperty]
        public virtual int GuarantorID { get { return _guarantorID; } set { _guarantorID = value; } }

        [ModelReference(Column = "ClientID", Column2 = "RenderingProviderCode", Update = false)]
        public virtual ClientProvider Rendering { get { return _rendering; } set { _rendering = value; _renderingProviderCode = value.ProviderCode; } }
        [ModelProperty]
        public virtual string RenderingProviderCode { get { return _renderingProviderCode; } set { _renderingProviderCode = value; } }

        [ModelReference(Column = "ReferringProviderCode")]
        public override Provider ReferringProvider { get { return _referringProvider; } set { _referringProvider = value; } }

        [ModelReference(Column = "ClientID", Column2 = "SuperRendProviderCode", Update = false)]
        public override ClientProvider SuperRendProviderCode { get { return _superRendProviderCode; } set { _superRendProviderCode = value; } }

        [ModelReference(Column = "ClientID", Column2 = "PaRendProviderCode", Update = false)]
        public override ClientProvider PaRenderingProvider { get { return _paRenderingProvider; } set { _paRenderingProvider = value; } }

        [ModelReference(Column = "PCarrierID")]
        public virtual Carrier PrimaryCarrier { get { return _primaryCarrier; } set { _primaryCarrier = value; } }

        [ModelReference(Column = "ClientID", Column2 = "PPolicyOwnerID", Update = false)]
        public virtual Person PrimaryPolicyOwner { get { return _primaryPolicyOwner; } set { _primaryPolicyOwner = value; _pPolicyOwnerID = value.PersonID; } }
        [ModelProperty]
        public virtual int PPolicyOwnerID { get { return _pPolicyOwnerID; } set { _pPolicyOwnerID = value; } }

        [ModelReference(Column = "SCarrierID")]
        public virtual Carrier SecondaryCarrier { get { return _secondaryCarrier; } set { _secondaryCarrier = value; } }

        [ModelReference(Column = "ClientID", Column2 = "SPolicyOwnerID", Update = false)]
        public virtual Person SecondaryPolicyOwner { get { return _secondaryPolicyOwner; } set { _secondaryPolicyOwner = value; } }
        [ModelProperty]
        public virtual int SPolicyOwnerID { get { return _sPolicyOwnerID; } set { _sPolicyOwnerID = value; } }

        [ModelReference(Column = "TCarrierID")]
        public virtual Carrier TertiaryCarrier { get { return _tertiaryCarrier; } set { _tertiaryCarrier = value; } }

        [ModelReference(Column = "ClientID", Column2 = "TPolicyOwnerID", Update = false)]
        public virtual Person TertiaryPolicyOwner { get { return _tertiaryPolicyOwner; } set { _tertiaryPolicyOwner = value; } }
        [ModelProperty]
        public virtual int TPolicyOwnerID { get { return _tPolicyOwnerID; } set { _tPolicyOwnerID = value; } }

        [ModelReference(Column = "CampaignType", Update = false)]
        public virtual CampaignType CampaignType { get { return _campaignType; } set { _campaignType = value; _campaignTypeID = value == null ? 0 : value.Type; } }
        [ModelProperty(Column = "CampaignType")]
        public virtual int CampaignTypeID { get { return _campaignTypeID; } set { _campaignTypeID = value; } }

        [ModelReference(Column = "ProcedureID", Update = false)]
        public virtual Procedure Procedure { get { return _procedure; } set { _procedure = value; } }

        [ModelProperty(Column = "ProcedureID")]
        public override string ProcedureCode { get { return _procedureCode; } set { _procedureCode = value; } }

        [ModelReference(Column = "PrimaryICD9")]
        public virtual Diagnosis PrimaryDiagnosis { get { return _primaryDiagnosis; } set { _primaryDiagnosis = value; } }

        [ModelReference(Column = "SecondaryICD9")]
        public virtual Diagnosis SecondaryDiagnosis { get { return _secondaryDiagnosis; } set { _secondaryDiagnosis = value; } }

        [ModelReference(Column = "TertiaryICD9")]
        public virtual Diagnosis TertiaryDiagnosis { get { return _tertiaryDiagnosis; } set { _tertiaryDiagnosis = value; } }

        [ModelReference(Column = "UserID")]
        public virtual User User { get { return _user; } set { _user = value; } }

        [ModelReference(Column = "LastUserID")]
        public virtual User LastUser { get { return _lastUser; } set { _lastUser = value; } }

        [ModelProperty(NotNull = true)]
        public override DateTime DOSFrom { get { return _dosFrom; } set { _dosFrom = value; } }

        [ModelProperty]
        public override DateTime DOSTo { get { return _dosTo; } set { _dosTo = value; } }

        [ModelProperty(NotNull = true)]
        public virtual DateTime CreationDate { get { return _creationDate; } set { _creationDate = value; } }

        [ModelProperty(NotNull = true)]
        public virtual DateTime LastUpdateDate { get { return _lastUpdateDate; } set { _lastUpdateDate = value; } }

        [ModelProperty(NotNull = true, Size = 2)]
        public override string Modifier1 { get { return _modifier1; } set { _modifier1 = value; } }

        [ModelProperty(NotNull = true, Size = 2)]
        public override string Modifier2 { get { return _modifier2; } set { _modifier2 = value; } }

        [ModelProperty(NotNull = true, Size = 2)]
        public override string Modifier3 { get { return _modifier3; } set { _modifier3 = value; } }

        [ModelProperty(NotNull = true)]
        public virtual decimal Balance { get { return _balance; } set { _balance = value; } }

        [ModelProperty(NotNull = true)]
        public virtual decimal BaseFee { get { return _baseFee; } set { _baseFee = value; } }

        [ModelProperty(NotNull = true)]
        public virtual ChargeStatus Status { get { return _status; } set { _status = value; } }

        /// <summary>
        /// The date/time of the next campaign state change for this charge.
        /// </summary>
        [ModelProperty(NotNull=true)]
        public virtual DateTime NextStateChangeDate { get { return _nextStateChangeDate; } set { _nextStateChangeDate = value; } }

        /// <summary>
        /// The enabled action for the current campaign state for the charge.
        /// </summary>
        [ModelProperty(NotNull=true)]
        public virtual EnabledAction EnabledAction { get { return _enabledAction; } set { _enabledAction = value; } }

        [ModelProperty(NotNull = true)]
        public virtual ChargeStatus LastStatus { get { return _lastStatus; } set { _lastStatus = value; } }

        [ModelProperty(NotNull = true)]
        public virtual CampaignBucket FilingCarrierBucket { get { return _filingCarrierBucket; } set { _filingCarrierBucket = value; } }

        [ModelProperty(Size = 20, Column = "PCarPolicyNo")]
        public virtual string PrimaryPolicyNumber { get { return _primaryPolicyNumber; } set { _primaryPolicyNumber = value; } }

        [ModelProperty(Size = 20, Column = "PCarGroupNo")]
        public virtual string PrimaryGroupNumber { get { return _primaryGroupNumber; } set { _primaryGroupNumber = value; } }

        [ModelProperty(Size = 20, Column = "SCarPolicyNo")]
        public virtual string SecondaryPolicyNumber { get { return _secondaryPolicyNumber; } set { _secondaryPolicyNumber = value; } }

        [ModelProperty(Size = 20, Column = "SCarGroupNo")]
        public virtual string SecondaryGroupNumber { get { return _secondaryGroupNumber; } set { _secondaryGroupNumber = value; } }

        [ModelProperty(Size = 20, Column = "TCarPolicyNo")]
        public virtual string TertiaryPolicyNumber { get { return _tertiaryPolicyNumber; } set { _tertiaryPolicyNumber = value; } }

        [ModelProperty(Size = 20, Column = "TCarGroupNo")]
        public virtual string TertiaryGroupNumber { get { return _tertiaryGroupNumber; } set { _tertiaryGroupNumber = value; } }

        [ModelList(KeyColumn = "ClientID", KeyColumn2 = "ChargeID")]
        public virtual IList<EligibilityRequest> EligibilityRequests { get { return _eligibilityRequests; } set { _eligibilityRequests = value; } }

        //Implementing parts of the ChargeBase class
        public override string PatientFirstName { get { return Patient.FirstName; } set { Patient.FirstName = value; } }

        public override string PatientLastName { get { return Patient.LastName; } set { Patient.LastName = value; } }

        public override string PatientMiddleName { get { return Patient.MiddleName; } set { Patient.MiddleName = value; } }

        public override ClientProvider RenderingProvider { get { return Rendering; } set { Rendering = value; } }


        public virtual Carrier CurrentCarrier
        {
            get
            {
                switch (FilingCarrierBucket)
                {
                    case CampaignBucket.PrimaryCarrier: return PrimaryCarrier;
                    case CampaignBucket.SecondaryCarrier: return SecondaryCarrier;
                    case CampaignBucket.TertiaryCarrier: return TertiaryCarrier;
                }
                return null;
            }
        }

        public virtual Person CurrentPolicyOwner
        {
            get
            {
                switch (FilingCarrierBucket)
                {
                    case CampaignBucket.PrimaryCarrier: return PrimaryPolicyOwner;
                    case CampaignBucket.SecondaryCarrier: return SecondaryPolicyOwner;
                    case CampaignBucket.TertiaryCarrier: return TertiaryPolicyOwner;
                }
                return Guarantor;
            }
        }

        public virtual string CurrentPolicyNumber
        {
            get
            {
                switch (FilingCarrierBucket)
                {
                    case CampaignBucket.PrimaryCarrier: return PrimaryPolicyNumber;
                    case CampaignBucket.SecondaryCarrier: return SecondaryPolicyNumber;
                    case CampaignBucket.TertiaryCarrier: return TertiaryPolicyNumber;
                }
                return null;
            }
        }

        public virtual string CurrentGroupNumber
        {
            get
            {
                switch (FilingCarrierBucket)
                {
                    case CampaignBucket.PrimaryCarrier: return PrimaryGroupNumber;
                    case CampaignBucket.SecondaryCarrier: return SecondaryGroupNumber;
                    case CampaignBucket.TertiaryCarrier: return TertiaryGroupNumber;
                }
                return null;
            }
        }

        protected Client _client;
        protected Location _location;
        protected Person _patient;
        protected int _patientID;
        protected string _siteID;
        protected Person _guarantor;
        protected int _guarantorID;
        protected ClientProvider _rendering;
        protected string _renderingProviderCode;
        protected Carrier _primaryCarrier;
        protected Person _primaryPolicyOwner;
        protected int _pPolicyOwnerID;
        protected Carrier _secondaryCarrier;
        protected Person _secondaryPolicyOwner;
        protected int _sPolicyOwnerID;
        protected Carrier _tertiaryCarrier;
        protected Person _tertiaryPolicyOwner;
        protected int _tPolicyOwnerID;
        protected CampaignType _campaignType;
        protected int _campaignTypeID;
        protected Procedure _procedure;
        protected Diagnosis _primaryDiagnosis;
        protected Diagnosis _secondaryDiagnosis;
        protected Diagnosis _tertiaryDiagnosis;
        protected User _user;
        protected User _lastUser;
        protected int _chargeID;
        protected DateTime _dosFrom;
        protected DateTime _dosTo;
        protected DateTime _nextStateChangeDate;
        protected EnabledAction _enabledAction;
        protected DateTime _creationDate;
        protected DateTime _lastUpdateDate;
        protected string _modifier1;
        protected string _modifier2;
        protected string _modifier3;
        protected decimal _baseFee;
        protected decimal _balance;
        protected ChargeStatus _status;
        protected ChargeStatus _lastStatus;
        protected CampaignBucket _filingCarrierBucket;
        protected string _primaryPolicyNumber;
        protected string _primaryGroupNumber;
        protected string _secondaryPolicyNumber;
        protected string _secondaryGroupNumber;
        protected string _tertiaryPolicyNumber;
        protected string _tertiaryGroupNumber;
        protected IList<EligibilityRequest> _eligibilityRequests;
        protected ClientProvider _superRendProviderCode;
        protected ClientProvider _paRenderingProvider;
        protected string _procedureCode;
        protected Provider _referringProvider;
    }


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.