Пример #1
0
    protected void lnkTerminar_Click(object sender, EventArgs e)
    {
        lblError.Text = "";
        try
        {
            LinkButton btn      = (LinkButton)sender;
            string     id       = btn.CommandArgument.ToString();
            Entradas   entradas = new Entradas();
            entradas.entrada = Convert.ToInt32(id);
            entradas.tienda  = Convert.ToInt32(RadGrid1.SelectedValues["id_punto"].ToString());
            entradas.terminarEntrada();
            if (Convert.ToBoolean(entradas.retorno[0]))
            {
                decimal monto        = 0;
                string  factura      = "";
                int     idProveedor  = 0;
                int     proveedor    = 0;
                string  rfc          = "";
                string  nombrePorvee = "";

                entradas.obtieneEncabezadoEntrada();
                object[] infoEnt = entradas.retorno;
                if (Convert.ToBoolean(infoEnt[0]))
                {
                    DataSet datos = (DataSet)infoEnt[1];
                    foreach (DataRow r in datos.Tables[0].Rows)
                    {
                        monto     = Convert.ToDecimal(r[8]);
                        factura   = Convert.ToString(r[2]);
                        proveedor = Convert.ToInt32(r[5]);
                        break;
                    }
                }
                Proveedores proveerod = new Proveedores();
                DataSet     infoProv  = proveerod.obtieneInfo(proveedor.ToString());
                foreach (DataRow r in infoProv.Tables[0].Rows)
                {
                    rfc          = Convert.ToString(r[2]).ToUpper().Trim();
                    nombrePorvee = Convert.ToString(r[3]).ToUpper().Trim();
                }

                CatClientes clientes = new CatClientes();



                lblError.Text = "Entrada Concluida Existosamente";
                Facturas facturas = new Facturas();
                facturas.folio      = Convert.ToInt32(id);
                facturas.tipoCuenta = "PA";
                facturas.factura    = factura;



                object[] existe = clientes.existeCliente(rfc);

                if (Convert.ToBoolean(existe[0]))
                {
                    if (!Convert.ToBoolean(existe[1]))
                    {
                        clientes.insertaClienteBasicos(rfc, nombrePorvee, "", "", "", true, "M", "1900-01-01", "P", "");
                    }
                }


                object[] info = clientes.obtieneIdProveedor(rfc);
                if (Convert.ToBoolean(info[0]))
                {
                    idProveedor = Convert.ToInt32(info[1]);
                }
                else
                {
                    idProveedor = 0;
                }

                if (idProveedor != 0)
                {
                    string politica = clientes.obtieneClavePolitica(Convert.ToDecimal(idProveedor));
                    facturas.id_cliprov   = Convert.ToInt32(idProveedor);
                    facturas.politica     = politica;
                    facturas.estatus      = "PEN";
                    facturas.empresa      = 1;
                    facturas.taller       = Convert.ToInt16(RadGrid1.SelectedValues["id_punto"]);
                    facturas.tipoCargo    = "C";
                    facturas.Importe      = monto;
                    facturas.montoPagar   = monto;
                    facturas.orden        = Convert.ToInt32(id);
                    facturas.razon_social = nombrePorvee.ToUpper().Trim();
                    facturas.monto        = monto;
                    facturas.existeFactura();
                    if (Convert.ToBoolean(facturas.retorno[0]))
                    {
                        if (Convert.ToInt32(facturas.retorno[1]) == 0)
                        {
                            facturas.generaFactura();
                        }
                    }
                }
                RadGrid2.Rebind();
            }
            else
            {
                lblError.Text = "Error al terminar la entrada. Detalle: " + Convert.ToString(entradas.retorno[1]);
            }
        }
        catch (Exception ex)
        {
            lblError.Text = "Error al terminar la entrada. Detalle: " + ex.Message;
        }
    }