Files
BeWoPlaner/Data/Access/OrganisationDAO.cs

50 lines
1.6 KiB
C#

using BeWo.Data.Entities;
using BeWo.Data.Entities.Light;
using BS.Shared.Core;
using NHibernate.Criterion;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BeWo.Data.Access
{
public class OrganisationDAO : AbstractBaseDAO
{
public IList<Organisation> GetAllOrganisation2PersonRelations(long personOid)
{
var c = CreateCriteriaIsActive<Person>()
.Add(Restrictions.Eq(BeWoEntityBase.PropertyName_Oid, personOid)).UniqueResult<Person>().Organisation2Persons.Select(s => s.Organisation).ToList();
return c;
}
public List<Organisation> GetAllOrganisationByIKKrankenkasse(string ikkrankenkasse)
{
var criteria = CreateCriteria<Organisation>()
.Add(Restrictions.Where<Organisation>(x => x.IKKrankenkasse == ikkrankenkasse));
return criteria.List<Organisation>().ToList();
}
public List<Organisation> GetAllActiveOrganisationByIKKrankenkasse(string ikkrankenkasse)
{
var criteria = CreateCriteria<Organisation>()
.Add(Restrictions.Where<Organisation>(x => x.IsActive == BS.Shared.ActivationTypeId.Active && x.IKKrankenkasse == ikkrankenkasse));
return criteria.List<Organisation>().ToList();
}
public virtual IEnumerable<Organisation> FindOrganisation(string pName, bool pOnlyCostBearer)
{
var lCriteria = CreateCriteria<Organisation>()
.Add(Restrictions.Like(Organisation.PropertyName_Name, pName, MatchMode.Anywhere));
if (pOnlyCostBearer)
lCriteria.Add(Restrictions.IsNotNull(Organisation.PropertyName_CostBearer));
return lCriteria.List<Organisation>();
}
}
}