using FluentNHibernate.Mapping; using Gestor.Infrastructure.Entities.Generic; using Gestor.Infrastructure.Entities.Seguros; using System; using System.Linq.Expressions; using System.Runtime.CompilerServices; namespace Gestor.Infrastructure.Mappings.Seguros { public class ItemMap : ClassMap { public ItemMap() { base.Table("item"); base.LazyLoad(); base.Id((ItemDb x) => (object)x.Id).GeneratedBy.Identity().Column("iditem"); base.References((ItemDb x) => x.Documento).Column("iddocumento").Not.Nullable().Fetch.Join(); base.Map((ItemDb x) => (object)x.Endosso).Column("idendosso"); base.Map((ItemDb x) => (object)x.Substituicao).Column("idsubstituicao"); base.Map((ItemDb x) => (object)x.Substituido).Column("idsubstituido"); base.Map((ItemDb x) => (object)x.Ordem).Column("ordem"); base.Map((ItemDb x) => x.Descricao).Column("descricao"); base.Map((ItemDb x) => x.Status).Column("status"); base.Map((ItemDb x) => x.StatusInclusao).Column("statusinc"); base.Map((ItemDb x) => x.Observacao).Column("obs").CustomType("StringClob").CustomSqlType("varchar(MAX)"); base.Map((ItemDb x) => (object)x.IdDocumentoCancelado); base.Map((ItemDb x) => (object)x.Cancelado).Column("cancelado").CustomType(); base.Map((ItemDb x) => (object)x.Sinistrado).Column("sinistrado").CustomType(); base.HasMany((ItemDb x) => x.Sinistros).Not.KeyUpdate(); base.HasMany((ItemDb x) => x.Coberturas).Not.KeyUpdate(); } } }