| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | using System;using System.Collections.Generic;using System.Data.SqlTypes;using System.Linq;using System.Linq.Expressions;using InABox.Core;namespace Comal.Classes{    public interface IEmployeeActivity    {        EmployeeLink Employee { get; set; }                ActivityLink Activity { get; set; }            }        public class EmployeeActivityCrossGenerator : AutoEntityCrossGenerator<IEmployeeActivity,EmployeeRole,RoleActivity>    {        public override Expression<Func<EmployeeRole, Guid>> LeftProperty => x => x.EmployeeLink.ID;        public override Expression<Func<IEmployeeActivity, Guid>> LeftMapping => x => x.Employee.ID;        public override Expression<Func<EmployeeRole, Guid>> LeftLink => x => x.RoleLink.ID;                public override Expression<Func<RoleActivity, Guid>> RightProperty => x => x.Activity.ID;        public override Expression<Func<IEmployeeActivity, Guid>> RightMapping => x => x.Activity.ID;        public override Expression<Func<RoleActivity, Guid>> RightLink => x => x.Role.ID;        public override bool Distinct => true;        public override Column<IEmployeeActivity>[] IDColumns => new Column<IEmployeeActivity>[]        {            new Column<IEmployeeActivity>(x => x.Employee.ID),            new Column<IEmployeeActivity>(x => x.Activity.ID)        };    }        [UserTracking(typeof(Employee))]    [AutoEntity(typeof(EmployeeActivityCrossGenerator))]    public class EmployeeActivity : Entity, IRemotable, IPersistent, IEmployeeActivity,        ILicense<CoreLicense>    {        public EmployeeLink Employee { get; set; }        public ActivityLink Activity { get; set; }    }}
 |