private void Acreedor_BT_Click(object sender, EventArgs e) { _tipo_titular = (ETipoTitular)(long)TipoTitular_CB.SelectedValue; switch (_tipo_titular) { case ETipoTitular.Despachante: { CustomAgentSelectForm form = new CustomAgentSelectForm(this, EEstado.Active); if (form.ShowDialog(this) == DialogResult.OK) { _acreedor = (IAcreedorInfo)form.Selected; Acreedor_TB.Text = _acreedor.Nombre; } } break; case ETipoTitular.Naviera: { ShippingCompanySelectForm form = new ShippingCompanySelectForm(this, EEstado.Active); if (form.ShowDialog(this) == DialogResult.OK) { _acreedor = (IAcreedorInfo)form.Selected; Acreedor_TB.Text = _acreedor.Nombre; } } break; case ETipoTitular.Proveedor: { ProveedorList list = ProveedorList.GetList(EEstado.Active, false); SupplierSelectForm form = new SupplierSelectForm(this, list); if (form.ShowDialog(this) == DialogResult.OK) { _acreedor = (IAcreedorInfo)form.Selected; Acreedor_TB.Text = _acreedor.Nombre; } } break; case ETipoTitular.TransportistaOrigen: case ETipoTitular.TransportistaDestino: { TransporterSelectForm form = new TransporterSelectForm(this, TransporterList.GetList(false)); if (form.ShowDialog(this) == DialogResult.OK) { _acreedor = (IAcreedorInfo)form.Selected; Acreedor_TB.Text = _acreedor.Nombre; } } break; } }
private void TipoTitular_CB_SelectedIndexChanged(object sender, EventArgs e) { ETipoTitular tipoTitular = (ETipoTitular)(long)TipoTitular_CB.SelectedValue; Cliente_GB.Enabled = (tipoTitular == ETipoTitular.Todos); Acreedor_GB.Enabled = (tipoTitular == ETipoTitular.Todos); if (tipoTitular == ETipoTitular.Todos) { TodosCliente_CkB.Checked = true; TodosAcreedor_CkB.Checked = true; _cliente = null; _acreedor = null; Cliente_TB.Text = string.Empty; Acreedor_TB.Text = string.Empty; } }
//private ExcelExporter _exporter; #endregion #region Factory Methods public PreciosForm(ETipoTitular tipo, IDataReader reader, string filtro) : base(true) { InitializeComponent(); _tipo = tipo; _reader = reader; _filtro = filtro; if (tipo == ETipoTitular.Cliente) { this.Text = Resources.Labels.INFORME_PRECIOS_CLIENTES; } else { this.Text = Resources.Labels.INFORME_PRECIOS_PROVEEDORES; } SetFormData(); }
public static ETipoAcreedor ToETipoAcreedor(ETipoTitular source) { switch (source) { case ETipoTitular.Acreedor: return(ETipoAcreedor.Acreedor); case ETipoTitular.Partner: return(ETipoAcreedor.Partner); case ETipoTitular.Proveedor: return(ETipoAcreedor.Proveedor); case ETipoTitular.Naviera: return(ETipoAcreedor.Naviera); case ETipoTitular.TransportistaOrigen: return(ETipoAcreedor.TransportistaOrigen); case ETipoTitular.TransportistaDestino: return(ETipoAcreedor.TransportistaDestino); case ETipoTitular.Despachante: return(ETipoAcreedor.Despachante); case ETipoTitular.Instructor: return(ETipoAcreedor.Instructor); } return(ETipoAcreedor.Todos); }
public void ExportInformePrecios(System.Data.DataTable datos, ETipoTitular tipo, string filtro) { Excel.Workbook theWorkbook = NewWorkbook(); Excel.Worksheet sheet = (Excel.Worksheet)theWorkbook.ActiveSheet; Excel.Range rango = null; string nombre = string.Empty; sheet.PageSetup.Orientation = Excel.XlPageOrientation.xlLandscape; sheet.Columns.Cells.Font.Name = "Arial"; sheet.Columns.Cells.Font.Size = 7; sheet.Columns.Cells.Font.Bold = false; sheet.Columns.Cells.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter; sheet.Columns.Cells.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter; sheet.Columns.Cells.ShrinkToFit = false; int fila_inicial = 7; int cols_per_page = 10; int row_index = fila_inicial; int col_section = cols_per_page; int col_index = 1; sheet.Cells[2, 1] = (tipo == ETipoTitular.Cliente) ? Resources.Labels.PRECIOS_CLIENTES_REPORT : Resources.Labels.PRECIOS_PROVEEDORES_REPORT; sheet.Cells[4, 1] = "Filtro: " + filtro; sheet.Cells[5, 1] = "Fecha de impresión: " + DateTime.Today.ToShortDateString(); rango = GetRange(sheet, 'A', 4, 2, true); //Dar formato a las cabeceras mediante rangos -> negrita, alineación central, ajustar, sombrado y bordes rango = GetRange(sheet, 'A', 2, col_section + 1, false); rango.MergeCells = true; rango.Font.Bold = true; rango.Font.Size = 9; rango.Borders.Weight = Excel.XlBorderWeight.xlThin; string[] maxWords = new string[0]; string maxWord = string.Empty; for (int i = 1; i < datos.Columns.Count; i++) { string cName = datos.Columns[i].ColumnName.Replace("\n", " "); string[] words = cName.Split(Convert.ToChar(" ")); foreach (string word in words) { if (maxWord.Length < word.Length) { maxWord = word; } } if (words.Length > maxWords.Length) { maxWords = words; } } //Numero de páginas en función de las columnas int resto; int pages = Math.DivRem(datos.Columns.Count - 1, cols_per_page, out resto); if (resto > 0) { pages++; } for (int page = 0; page < pages; page++) { try { //Correccion de numero de columnas para la ultima pagina if (col_index + col_section > datos.Columns.Count) { col_section = (datos.Columns.Count - col_index); } //Dar formato a las cabeceras mediante rangos -> alineación central, ajustar, sombreado y bordes rango = GetRange(sheet, 'A', row_index++, col_section + 1, false); int h = 10; rango.RowHeight = h * maxWords.Length; sheet.Columns.Cells.ShrinkToFit = true; rango.WrapText = true; rango.Borders.Weight = Excel.XlBorderWeight.xlThin; //Cabeceras string[] cabeceras = new string[col_section + 1]; double[] precios_productos = new double[col_section]; cabeceras[0] = (tipo == ETipoTitular.Cliente) ? "Cliente" : "Proveedor"; //Obtenemos los nombres de los productos y los precios de referencia for (int i = 0; i < col_section; i++) { string cName = datos.Columns[col_index + i].ColumnName; cabeceras[i + 1] = cName; int pos_ini = cName.IndexOf("\nPP:") + 5; int pos_fin = cName.IndexOf("\nPM:", pos_ini); precios_productos[i] = Convert.ToDouble(cName.Substring(pos_ini, (pos_fin - pos_ini) + 1)); } rango.Value2 = cabeceras; //Rellenamos los datos foreach (DataRow row in datos.Rows) { //Columna de titulares string[] sTextos = new string[1]; sTextos[0] = row[0].ToString(); rango = GetRange(sheet, 'A', row_index, 1, false); rango.ColumnWidth = 25; rango.HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft; rango.Value2 = sTextos; //Columnas de precios double[] valores = new double[col_section]; for (int i = 0; i < col_section; i++) { try { double d = Double.Parse(row[col_index + i].ToString()); valores[i] = d; } catch {} } rango = GetRange(sheet, 'B', row_index, col_section, false); rango.ColumnWidth = 9; rango.Value2 = valores; //Formateo de columnas de precios for (int i = 0; i < col_section; i++) { if (row[col_index + i].ToString().Equals("-")) { sheet.Cells[row_index, i + 2] = "--"; continue; } rango = GetRange(sheet, (char)((int)'B' + i), row_index, 1, false); // Formateamos el color de la celda en función de su relación con el precio de referencia if (precios_productos[i] > valores[i]) { rango.Interior.Color = (tipo == ETipoTitular.Cliente) ? ColorTranslator.ToOle(Color.Red) : ColorTranslator.ToOle(Color.LightGreen); } else if (precios_productos[i] < valores[i]) { rango.Interior.Color = (tipo == ETipoTitular.Cliente) ? ColorTranslator.ToOle(Color.LightGreen) : ColorTranslator.ToOle(Color.Red); } else { rango.Interior.Color = ColorTranslator.ToOle(Color.White); } } row_index++; } row_index += 2; col_index += col_section; } catch (Exception ex) { iQExceptionHandler.TreatException(ex); } } }
private void Proveedor_RB_CheckedChanged(object sender, EventArgs e) { _tipo = (Proveedor_RB.Checked) ? ETipoTitular.Proveedor : ETipoTitular.Cliente; Fechas_GB.Enabled = !Proveedor_RB.Checked; }