public void LoadPrinters(AssetContractCollection <PrinterContract> printers) { _printers = printers; bool changesMade = false; using (AssetInventoryContext context = DbConnect.AssetInventoryContext()) { foreach (var printer in _printers) { if (!context.Assets.Any(x => x.Pool.Name.Equals(printer.PoolName))) { if (context.AssetPools.Count() > 0) { printer.PoolName = context.AssetPools.First().Name; if (!context.Assets.Any(x => x.AssetId.Equals(printer.AssetId))) { context.Assets.Add(ContractFactory.Create(printer, context)); changesMade = true; } } } } if (changesMade) { context.SaveChanges(); } } resolveDataGridView.DataSource = _printers; CheckItemsResolved(); }
private void exportToolStripMenuItem_Click(object sender, EventArgs e) { using (var dialog = new ExportSaveFileDialog(_directory, "Export Printer Definition Data", ImportExportType.Printer)) { if (dialog.ShowDialog() == DialogResult.OK) { using (new BusyCursor()) { Refresh(); try { var file = dialog.Base.FileName; _directory = Path.GetDirectoryName(file); var printerContracts = new AssetContractCollection <PrinterContract>(); var printers = radGridViewPrinters .SelectedRows .Cast <GridViewRowInfo>() .Select(x => x.DataBoundItem) .Cast <Printer>(); printerContracts.Load(printers); printerContracts.Export(file); MessageBox.Show("Data successfully exported", "STB Data Export", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } } }
public void Reset() { _printers = null; resolveDataGridView.DataSource = null; }