//Validar los 2 campos (Código de Empresa y Tipo de Contrato) private void txtCodTipoContrato_Validating(object sender, CancelEventArgs e) { try { if (txtCodEmpresa.Text.Trim() != "" && txtCodEmpresa.Text.Trim().Length <= 4 && txtCodTipoContrato.Text.Trim() != "" && txtCodTipoContrato.Text.Trim().Length <= 2) { EPTipoContrato.Clear(); } else { throw new Exception("El codigo de Empresa debe tener entre 1 y 4 dígitos y el CodContrato entre 1 y 2"); } } catch (Exception ex) { EPTipoContrato.SetError(txtCodEmpresa, ex.Message); e.Cancel = true; return; } try { lblMensaje.Text = ""; IServicio serv = new ServicioClient(); //Busco el tipo de contrato TipoContratoBuscado = serv.BuscarContrato(Convert.ToInt32(txtCodEmpresa.Text), Convert.ToInt32(txtCodTipoContrato.Text), usuLogueado); if (TipoContratoBuscado != null) { HabilitarBotones(); txtNombre.Text = TipoContratoBuscado.Nombre; txtCodEmpresa.Enabled = false; txtCodTipoContrato.Enabled = false; btnIngresar.Enabled = false; } else { btnIngresar.Enabled = true; } } catch (FormatException) { lblMensaje.Text = ("El codigo de Emprasa y de Contratos deben ser numéricos"); } catch (Exception ex) { if (ex.Message.Length > 80) { lblMensaje.Text = ex.Message.Substring(0, 80); } else { lblMensaje.Text = ex.Message; } } }
//Agregar facturas al GridView private void btnAgregar_Click(object sender, EventArgs e) { try { //Capturo el codEmp y codTipoContrato de la facutra ingresada por el usuario int codEmp = Convert.ToInt32(txtCodBarra.Text.Substring(0, 4).TrimStart('0')); int codTipoContrato = Convert.ToInt32(txtCodBarra.Text.Substring(4, 2).TrimStart('0')); IServicio serv = new ServicioClient(); //Si no existe tipo de contrato salgo TipoContrato unContrato = serv.BuscarContrato(codEmp, codTipoContrato, usuLogueado); if (unContrato == null) { throw new Exception("El tipo de contrato no existe"); } Factura unaFactura = new Factura(); //Agrego datos a la factura unaFactura.UnTipoContrato = unContrato; unaFactura.Monto = Convert.ToInt32(txtMonto.Text); unaFactura.CodCli = Convert.ToInt32(txtCodCli.Text); var fechaFactura = DateTime.ParseExact(txtCodBarra.Text.Substring(6, 8).TrimStart('0').ToString(), "yyyyMMdd", CultureInfo.InvariantCulture); unaFactura.FechaVto = fechaFactura; //Si la factura esta vencida salgo if (fechaFactura < DateTime.Today) { throw new Exception("La factura esta vencida"); } //Agrego a la lista de facturas lasFacturas.Add(unaFactura); //Agrego al Grid DataRow dr = this.dt.NewRow(); dr["Rut Emp"] = txtCodEmp.Text; dr["Cod Contrato"] = txtTipoContrato.Text; dr["Fecha Vto"] = txtFVencimiento.Text; dr["Cod Cli"] = txtCodCli.Text; dr["Monto"] = txtMonto.Text; dt.Rows.Add(dr); //Limpio los dato de la factura LimpiarDatosFactura(); } catch (Exception ex) { lblMensaje.Text = "Error: " + ex.Message; } }
//Validación del Codigo de barras y carga de factura private void txtCodBarra_Validating_1(object sender, CancelEventArgs e) { try { if (txtCodBarra.Text.Trim() != "" && txtCodBarra.Text.Trim().Length == 25) { EPBarras.Clear(); } else { throw new Exception("El código de barras debe contener 25 números"); } } catch (Exception ex) { EPBarras.SetError(txtCodBarra, ex.Message); e.Cancel = true; return; } try { int codEmp = Convert.ToInt32(txtCodBarra.Text.Substring(0, 4).TrimStart('0')); int codTipoContrato = Convert.ToInt32(txtCodBarra.Text.Substring(4, 2).TrimStart('0')); IServicio serv = new ServicioClient(); //Busco la Empresa Empresa unaEmpresa = serv.BuscarEmpresa(codEmp, usuLogueado); if (unaEmpresa == null) { throw new Exception("La empresa no existe"); } //Busco el Tipo de Contrato TipoContrato unContrato = serv.BuscarContrato(codEmp, codTipoContrato, usuLogueado); if (unContrato == null) { throw new Exception("El tipo de contrato no existe"); } //Cargo todos los textbox txtCodCli.Text = Convert.ToInt32(txtCodBarra.Text.Substring(14, 6).TrimStart('0')).ToString(); txtCodEmp.Text = unaEmpresa.Rut.ToString(); try { var newDate = DateTime.ParseExact(txtCodBarra.Text.Substring(6, 8).TrimStart('0').ToString(), "yyyyMMdd", CultureInfo.InvariantCulture); txtFVencimiento.Text = newDate.ToShortDateString(); } catch (Exception) { throw new Exception("La fecha de la factura tiene un formato incorrecto"); } txtMonto.Text = Convert.ToInt32(txtCodBarra.Text.Substring(20, 5).TrimStart('0')).ToString(); txtTipoContrato.Text = unContrato.Nombre.ToString(); //Si llego acá habilito el boton agregar factura y saco mensaje de error btnAgregar.Enabled = true; lblMensaje.Text = ""; } catch (FormatException) { lblMensaje.Text = "Error: el código de barras debe ser numérico"; } catch (Exception ex) { lblMensaje.Text = "Error: " + ex.Message; } }