示例#1
0
        //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;
                }
            }
        }
示例#2
0
        //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;
            }
        }
示例#3
0
        //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;
            }
        }