private void LinkLabelGroup_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { IEnumerable <Group> groups = SelectedMachines .Select(machine => ConnectionStore.Connections.Values .First(connection => ProcessManager.DataObjects.Comparers.Comparer <Machine> .IDObjectsEqual(connection.Machine, machine)) .Configuration) .SelectMany(configuration => configuration.Groups) .Distinct(new GroupEqualityComparer()); Picker.ShowMenu(linkLabelGroup, groups, ContextMenu_SelectGroup_GroupClicked); }
private void UpdateSelectedGroup() { if (SelectedGroup != null) { SelectedGroup = SelectedMachines?.SelectMany(machine => ConnectionStore.Connections.Values .First(connection => ProcessManager.DataObjects.Comparers.Comparer <Machine> .IDObjectsEqual(connection.Machine, machine)) .Configuration .Groups) .FirstOrDefault(group => Comparer.GroupsEqual(group, SelectedGroup)); } UpdateLinkLabelGroup(); }
private void UpdateSelectedMachines() { SelectedMachines = SelectedMachines? .Select(selectedMachine => ConnectionStore.Connections.Values .Where(connection => connection.Configuration != null) .Select(connection => connection.Machine) .FirstOrDefault(machine => Comparer.MachinesEqual(machine, selectedMachine))) .Where(machine => machine != null) .Distinct(new MachineEqualityComparer()) .ToList(); UpdateLinkLabelMachines(); }
private void UpdateMacroActionBundle() { ActionBundle.Actions.Clear(); if (HasValidSelections) { ActionBundle.Actions.AddRange(SelectedMachines.SelectMany(machine => SelectedApplications .Select(application => { Configuration configuration = ConnectionStore.Connections[machine].Configuration; Group actualGroup = configuration.Groups.FirstOrDefault(x => Comparer.GroupsEqual(x, SelectedGroup)); Application actualApplication = configuration.Applications.FirstOrDefault(x => Comparer.ApplicationsEqual(x, application)); return(actualGroup != null && actualApplication != null ? new MacroProcessAction(ActionBundle.Type, machine.ID, actualGroup.ID, actualApplication.ID) : null); }) .Where(action => action != null))); } RaiseMacroActionItemChangedEvent(); }
private void LinkLabelApplications_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { IEnumerable <Tuple <Application, bool> > applications = SelectedMachines .Select(machine => ConnectionStore.Connections.Values .First(connection => ProcessManager.DataObjects.Comparers.Comparer <Machine> .IDObjectsEqual(connection.Machine, machine)) .Configuration) .SelectMany(configuration => configuration .Applications .Where(application => configuration .Groups .Where(group => Comparer.GroupsEqual(group, SelectedGroup)) .SelectMany(group => group.Applications) .Any(applicationID => ProcessManager.DataObjects.Comparers.Comparer <Application> .IDObjectsEqual(application, applicationID)))) .Distinct(new ApplicationEqualityComparer()) .Select(application => new Tuple <Application, bool>(application, SelectedApplications != null && SelectedApplications.Any(x => Comparer.ApplicationsEqual(application, x)))); Picker.ShowMultiSelectMenu(linkLabelApplications, applications, ContextMenu_SelectApplications_MenuClosed); }
private void UpdateSelectedApplications() { if (SelectedApplications != null) { SelectedApplications = SelectedMachines == null ? null : SelectedApplications .Select(selectedApplication => SelectedMachines .Select(machine => ConnectionStore.Connections.Values .First(connection => ProcessManager.DataObjects.Comparers.Comparer <Machine> .IDObjectsEqual(connection.Machine, machine)) .Configuration) .SelectMany(configuration => configuration .Applications .Where(application => configuration .Groups .Where(group => Comparer.GroupsEqual(group, SelectedGroup)) .SelectMany(group => group.Applications) .Any(appID => ProcessManager.DataObjects.Comparers.Comparer <Application> .IDObjectsEqual(application, appID)))) .FirstOrDefault(application => Comparer.ApplicationsEqual(application, selectedApplication))) .Where(application => application != null) .Distinct(new ApplicationEqualityComparer()) .ToList(); } UpdateLinkLabelApplications(); }
public void BindingAvailableMachineList() { if (IsAllowSelectAll) { lbMachines.SelectionMode = SelectionMode.Multiple; ckbSelectAll.IsEnabled = true; } else { lbMachines.SelectionMode = SelectionMode.Single; ckbSelectAll.IsEnabled = false; } availableMachines = (Owner as MainWindow).m_machineVM.MachineCollection; lbMachines.ItemsSource = availableMachines; if (SelectedMachines != null) { if (SelectedMachines.Count > 0) { foreach (OctopusLib.Machine am in lbMachines.Items) { if (SelectedMachines.Where(o => o.Name.Equals(am.Name, StringComparison.InvariantCultureIgnoreCase)).Count() == 1) { if (IsAllowSelectAll) { lbMachines.SelectedItems.Add(am); } else { lbMachines.SelectedItem = am; } } } } } }
public void UpdateWorks(bool bMachines, bool bUsers, bool bNew, bool bConfirm, bool bInProduciton, bool bEnd, bool bDate, int dateType, DateTime from, DateTime to) { var filter = ""; var filterStatus = ""; if (bMachines) { if (SelectedMachines.Count > 0) { filter = " WHERE MachineID IN (" + string.Join(",", SelectedMachines.OfType <Int32>().ToArray()) + ")"; } else { filter = " WHERE PlannedWorkID =-1"; } } if (bUsers) { if (SelectedUsers.Count > 0) { if (filter.Length > 0) { filter += " AND PlannedWorkID IN (SELECT PlannedWorkID FROM PlannedWorkUsers WHERE UserID IN (" + string.Join(",", SelectedUsers.OfType <Int32>().ToArray()) + "))"; } else { filter = " WHERE PlannedWorkID IN (SELECT PlannedWorkID FROM PlannedWorkUsers WHERE UserID IN (" + string.Join(",", SelectedUsers.OfType <Int32>().ToArray()) + "))"; } } else { filter = " WHERE PlannedWorkID =-1"; } } if (!bNew && !bConfirm && !bInProduciton && !bEnd) { filterStatus = "PlannedWorkStatusID=-1"; } else { if (bNew) { filterStatus = "PlannedWorkStatusID=1"; } if (bConfirm) { if (filterStatus.Length > 0) { filterStatus += " OR PlannedWorkStatusID=2"; } else { filterStatus = "PlannedWorkStatusID=2"; } } if (bInProduciton) { if (filterStatus.Length > 0) { filterStatus += " OR PlannedWorkStatusID=3"; } else { filterStatus = "PlannedWorkStatusID=3"; } } if (bEnd) { if (filterStatus.Length > 0) { filterStatus += " OR PlannedWorkStatusID=4"; } else { filterStatus = "PlannedWorkStatusID=4"; } } } if (bDate) { if (dateType == 0) { if (filter.Length > 0) { filter += " AND CAST(StartDate AS DATE) >= '" + from.ToString("yyyy-MM-dd") + "' AND CAST(StartDate AS DATE) <= '" + to.ToString("yyyy-MM-dd") + "' "; } else { filter = " WHERE CAST(StartDate AS DATE) >= '" + from.ToString("yyyy-MM-dd") + "' AND CAST(StartDate AS DATE) <= '" + to.ToString("yyyy-MM-dd") + "' "; } } if (dateType == 1) { if (filter.Length > 0) { filter += " AND CAST(CreateDate AS DATE) >= '" + from.ToString("yyyy-MM-dd") + "' AND CAST(CreateDate AS DATE) <= '" + to.ToString("yyyy-MM-dd") + "' "; } else { filter = " WHERE CAST(CreateDate AS DATE) >= '" + from.ToString("yyyy-MM-dd") + "' AND CAST(CreateDate AS DATE) <= '" + to.ToString("yyyy-MM-dd") + "' "; } } if (dateType == 2) { if (filter.Length > 0) { filter += " AND CAST(EndDate AS DATE) >= '" + from.ToString("yyyy-MM-dd") + "' AND CAST(EndDate AS DATE) <= '" + to.ToString("yyyy-MM-dd") + "' "; } else { filter = " WHERE CAST(EndDate AS DATE) >= '" + from.ToString("yyyy-MM-dd") + "' AND CAST(EndDate AS DATE) <= '" + to.ToString("yyyy-MM-dd") + "' "; } } } if (filter.Length > 0) { filter += " AND (" + filterStatus + ")"; } else { filter = " WHERE " + filterStatus; } var selectCommand = @"SELECT * FROM PlannedWorks " + filter; using (var da = new SqlDataAdapter(selectCommand, ConnectionStrings.LightConnectionString)) { _plannedWorksDt.Clear(); da.Fill(_plannedWorksDt); } }
private void LinkLabelMachines_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { IEnumerable <Tuple <Machine, bool> > machines = ConnectionStore.Connections.Values .Where(connection => connection.Configuration != null) .Select(connection => connection.Machine) .Distinct(new MachineEqualityComparer()) .Select(machine => new Tuple <Machine, bool>(machine, SelectedMachines != null && SelectedMachines.Any(x => Comparer.MachinesEqual(machine, x)))); Picker.ShowMultiSelectMenu(linkLabelMachines, machines, ContextMenu_SelectMachines_MenuClosed); }