public BadgeToolBar(Patron patron, ApplicationPresenter presenter) { _patron = patron; _presenter = presenter; InitializeComponent(); PrintedName.Text = patron.CurrentCard.Name; EligibleCard prompt = new EligibleCard(); prompt.CardName = "Select Badge"; TemplateCombo.Items.Add(prompt); foreach (XmlCardDefinition def in LoginPresenter.DefinitionsList) { if (def.TemplateType.Equals("BADGE")) { if (def.CardFields.Count > 0) { foreach (CardFields project in def.CardFields) { EligibleCard ec = new EligibleCard(); ec.CardProject = def.TemplateFileName; ec.CardProject = ec.CardProject.Substring(0, ec.CardProject.IndexOf(".")); ec.CardName = project.CardName; ec.CardType = "BADGE"; ec.ExpireMonths = def.ExpireMonths; ec.CardFields = def.CardFields.Find(x => x.CardName == ec.CardName); TemplateCombo.Items.Add(ec); } } } } }
private void showCardPreview(EligibleCard def) { var CardRole = def.CardFields.CardField.Find(x => x.Name.Equals("__Role")); if (CardRole != null) { if (Role.Text == "") { MessageBox.Show("You need to enter a Role for this badge."); return; } else CardRole.Value = Role.Text; } var CardExp = def.CardFields.CardField.Find(x => x.Name.Equals("__ExpirationDate")); if (CardExp != null) { if (ExpirationDate.ToString() == "") { MessageBox.Show("You need to enter an Expiration Date for this badge."); return; } else CardExp.Value = ExpirationDate.Text; } IntPtr handle = new WindowInteropHelper(_presenter.View).Handle; Task t = new Task(() => { ApplicationPresenter.Manager.ShowCardPreview(def, _patron, handle); }); t.Start(); }