frmEtiquetasPropiedadesBase.cs
1 using sage.ew.interficies;
2 using System;
3 using System.Collections.Generic;
4 using System.ComponentModel;
5 using System.Data;
6 using System.Drawing;
7 using System.Linq;
8 using System.Text;
9 using System.Windows.Forms;
10 
11 namespace sage.ew.formul.Forms
12 {
16  public partial class frmEtiquetasPropiedadesBase : FormDialog
17  {
18  #region PROPIEDADES
19 
20  private ILabel _oEtiqueta;
21  private ILabelsManager _oLabelsManager;
22 
26  public ILabel _Etiqueta
27  {
28  get
29  {
30  return _oEtiqueta;
31  }
32  set
33  {
34  _oEtiqueta = value;
35  }
36  }
37 
38  public ILabelsManager _LabelsManager
39  {
40  get
41  {
42  return _oLabelsManager;
43  }
44  set
45  {
46  _oLabelsManager = value;
47  }
48  }
49 
50 
51 
52  #endregion
53 
58  {
59  InitializeComponent();
60 
61  _Pantalla = "PROP_FOR"; // PE-87741
62 
63  //Bug 131825 => Ni acceso ni favoritos
64  _MostrarAccesoFavoritos = false;
65  _MostrarCrearAccesoDirecto = false;
66 
67  btnDisenyEtiqueta.Image = sage.ew.images.Properties.Resources.envio_etiquetas.ToBitmap();
68  }
69 
75  private void frmEtiquetasPropiedades_Shown(object sender, EventArgs e)
76  {
77  //diferenciar de si estamos mostrando el formulario como propiedades de una etiqueta o como una etiqueta nueva
78  if (string.IsNullOrEmpty(_Etiqueta._Nombre.Trim()))
79  {
80  etiquetaNueva();
81  }
82  else
83  {
84  etiquetaExistente();
85  }
86 
87  //Cargar los datos de las impresoras en el Combo y el seleccionado
88  foreach (string printer in System.Drawing.Printing.PrinterSettings.InstalledPrinters)
89  {
90  cbImpresoras.Items.Add(printer);
91  }
92  cbImpresoras.SelectedItem = (string)_Etiqueta._Impresora;
93 
94  //radio button Impresora Etiquetas si o no
95  rbImpEtiquetasSi.Checked = _Etiqueta._ImpresoraEtiqueta;
96  rbImpEtiquetasNo.Checked = !_Etiqueta._ImpresoraEtiqueta;
97 
98  //radio button Predeterminada si o no
99  rbPredetSi.Checked = _Etiqueta._Predeterminada;
100  rbPredetNo.Checked = !_Etiqueta._Predeterminada;
101 
102  }
103 
104  private void etiquetaExistente()
105  {
106  //Etiqueta Existente:
107  lblFormato.Visible = true;
108  txtEtiqueta.Visible = false;
109  btnDisenyEtiqueta.Visible = true; // 94118
110  lblFormato.Text = _Etiqueta._Nombre; //Nombre de la etiqueta
111  }
112 
113  private void etiquetaNueva()
114  {
115  //Etiqueta Nueva:
116  lblFormato.Visible = false;
117  txtEtiqueta.Visible = true;
118  btnDisenyEtiqueta.Visible = false; // 94118
119  }
120 
126  private void btDocAceptar1_Click(object sender, EventArgs e)
127  {
128  if (txtEtiqueta.Visible)
129  {
130  //estamos guardando una etiqueta nueva
131  if (string.IsNullOrWhiteSpace(txtEtiqueta.Text))
132  {
133  _MessageBox("Debe especificar un nombre para la etiqueta", MessageBoxButtons.OK, MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1, DialogResult.OK);
134  DialogResult = DialogResult.None;
135  return;
136  }
137  _Etiqueta._Nombre = txtEtiqueta.Text;
138  //en la función comprobar ya se creará el archivo de etiqueta desde el estándar, etc.
139 
140  if (_LabelsManager.ExistsLabel(txtEtiqueta.Text))
141  {
142  _MessageBox("Ya existe una etiqueta con el mismo nombre", MessageBoxButtons.OK, MessageBoxIcon.Stop, MessageBoxDefaultButton.Button1, DialogResult.OK);
143  DialogResult = DialogResult.None;
144  return;
145  }
146  }
147  //guardamos los valores del formulario en las propiedades del objeto _Etiqueta
148  _Etiqueta._Impresora = (cbImpresoras.SelectedItem != null ? cbImpresoras.SelectedItem.ToString() : "");
149  _Etiqueta._ImpresoraEtiqueta = rbImpEtiquetasSi.Checked;
150  _Etiqueta._Predeterminada = rbPredetSi.Checked;
151 
152  //guardamos la etiqueta modificada en la base de datos
153  _LabelsManager._Save(_Etiqueta);
154  }
155 
161  private void btnDisenyEtiqueta_Click(object sender, EventArgs e)
162  {
163  btDocAceptar1.PerformClick();
164 
165  if (!String.IsNullOrWhiteSpace(txtEtiqueta.Text) || !string.IsNullOrWhiteSpace(lblFormato.Text)) _LabelsManager._Design(_Etiqueta);
166 
167  }
168  }
169 }
Interficíe para la definición de la clase encargada de la gestión de labels
Clase de recurso fuertemente tipado, para buscar cadenas traducidas, etc.
Interficia para la definición de label
Definition: ILabel.cs:13
static System.Drawing.Icon envio_etiquetas
Busca un recurso adaptado de tipo System.Drawing.Icon similar a (Icono).
Clase FormDialog basada en FormBase
Definition: FormDialog.cs:17