| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | 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; }        protected override void Init()        {            base.Init();            Employee = new EmployeeLink();            Activity = new ActivityLink();        }    }}
 |