using Comal.Classes; using InABox.Core; using InABox.DynamicGrid; using InABox.WPF; using System.Windows; using System.Windows.Controls; namespace PRSDesktop { public class ActivityGrid : DynamicDataGrid { public ActivityGrid() { AddButton("Employees", PRSDesktop.Resources.employee.AsBitmapImage(), ShowEmployees); } private bool ShowEmployees(Button button, CoreRow[] rows) { if (rows.Length == 0) { MessageBox.Show("Please select an activity."); return false; } else if (rows.Length > 1) { MessageBox.Show("Please select only one activity"); return false; } DynamicGridUtils.CreateGridWindow("Employees", new DynamicCrossJoinGrid(rows[0].ToObject(), x => x.Activity.ID, x => x.ID)).ShowDialog(); return false; } //public override bool EditItems(Activity[] items, Func PageDataHandler = null, bool PreloadPages = false) //{ // return base.EditItems(items, CheckNewActivity(items, PageDataHandler), PreloadPages); //} //private Func CheckNewActivity(Activity[] items, Func handler ) //{ // return items.Any() && items.First().ID.Equals(Guid.Empty) ? RoleHandler : handler; //} //private CoreTable RoleHandler(Type t) //{ // if (t == typeof(RoleActivity)) // { // CoreTable result = new CoreTable(); // result.LoadColumns(typeof(RoleActivity)); // var roles = new Client().Query(); // foreach (var row in roles.Rows) // { // RoleActivity ra = new RoleActivity(); // ra.Role.ID = row.Get(c => c.ID); // ra.Role.Code = row.Get(c => c.Code); // ra.Role.Name = row.Get(c => c.Name); // ra.Enabled = true; // CoreRow newrow = result.NewRow(); // result.LoadRow(newrow, ra); // result.Rows.Add(newrow); // } // return result; // } // return null; //} } }