Exemplo n.º 1
0
        public void guardar()
        {
            if (validacion == "unico")
            {
                if (txtRazonSocialP.Text != "" && txtCalleP.Text != "" && txtCodigoPostalP.Text != "" &&
                    txtPaisP.Text != "" && txtMunicipioP.Text != "" &&
                    txtEstadoP.Text != "" && txtRfcP.Text != "" && txtNoExteriorP.Text != "" && !String.IsNullOrEmpty(txtcodigoProveedor.Text) && cbxGrupos.SelectedItem != null)
                {
                    SDK.CteProv cProveedor = new SDK.CteProv();

                    cProveedor.cCodigoCliente = txtcodigoProveedor.Text;
                    cProveedor.cRazonSocial   = txtRazonSocialP.Text;
                    cProveedor.cRFC           = txtRfcP.Text;
                    cProveedor.cDenComercial  = txtRazonSocialP.Text;
                    cProveedor.cEstatus       = 1;

                    Empresa   empresa   = new Empresa();
                    Proveedor proveedor = new Proveedor();
                    proveedor.codigo        = txtcodigoProveedor.Text;
                    proveedor.nombre        = txtRazonSocialP.Text;
                    proveedor.razon_social  = txtRazonSocialP.Text;
                    proveedor.RFC           = txtRfcP.Text;
                    proveedor.sucursal      = txtSucursalP.Text;
                    proveedor.calle         = txtCalleP.Text;
                    proveedor.codigo_postal = txtCodigoPostalP.Text;
                    proveedor.colonia       = txtColoniaP.Text;
                    proveedor.Empresa       = empresa.obtenerPorNombre(SDK.companyName);
                    proveedor.empresa_id    = proveedor.Empresa.id;
                    proveedor.localidad     = txtLocalidadP.Text;
                    proveedor.municipio     = txtMunicipioP.Text;
                    proveedor.estado        = txtEstadoP.Text;
                    proveedor.NoExterior    = txtNoExteriorP.Text;
                    proveedor.pais          = txtPaisP.Text;
                    DateTime thisDay = DateTime.Today;
                    proveedor.fecha_registro = Convert.ToDateTime(thisDay.ToString());
                    List <string> cIDClasificacionesGrupos = new List <string>();

                    foreach (var grupos in cbxGrupos.SelectedItems)
                    {
                        String[] groups = grupos.ToString().Split('|');
                        cIDClasificacionesGrupos.Add(groups[0].ToString().Trim());
                        proveedor.tipos_proveedor += groups[1].ToString().Trim() + ";";
                    }
                    int cIDCteProv = 0;
                    int error      = SDK.fAltaCteProv(ref cIDCteProv, ref cProveedor);
                    if (error == 0)
                    {
                        proveedor.registrar(proveedor);
                        MessageBox.Show("ÉXITO, SE REGISTRÓ AL PROVEEDOR '" + proveedor.razon_social + "'");
                        SDK.fBuscaIdCteProv(cIDCteProv);
                        SDK.fEditaCteProv();
                        SDK.fSetDatoCteProv("CTIPOCLIENTE", "3");
                        SDK.fSetDatoCteProv("CIDMONEDA", "1");
                        int i = 1;
                        foreach (var item in cIDClasificacionesGrupos)
                        {
                            SDK.fSetDatoCteProv("CIDVALORCLASIFPROVEEDOR" + i, item);
                            i++;
                        }
                        SDK.fGuardaCteProv();
                    }
                    else
                    {
                        SDK.rError(error);
                    }
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("Hay campos importantes que están vacíos, pueden ser en la tabla de productos o en los campos de proveedor");
                }
            }
            else if (validacion == "sucursal")
            {
                if (txtSucursalP.Text != "")
                {
                    proveedor.registrar(proveedor);
                }
                else
                {
                    System.Windows.Forms.MessageBox.Show("Datos del actual proveedor: \nSe tiene registrado este proveedor con el RFC: \n" + proveedor.RFC + "Pero hay datos que difieren con el registro existente, En caso de tratarse de otra sucursal ingrese la sucursal por favor");
                }
            }
            obtenerConceptos();
        }
        /// <summary>
        /// Guarda o Modifica el proveedor.
        /// </summary>
        public void guardarModificar()
        {
            List <string> cIDClasificacionesGrupos = new List <string>();

            if (!String.IsNullOrEmpty(txtNombreP.Text) && !String.IsNullOrEmpty(txtRFC.Text) && cbxGrupos.SelectedItem != null && !String.IsNullOrEmpty(txtRazonP.Text) && cbxEmpresa.SelectedItem != null)
            {
                //Inicialización de objeto Contpaqi.
                SDK.CteProv cProveedor = new SDK.CteProv();
                cProveedor.cCodigoCliente = txtCodigo.Text;
                cProveedor.cRazonSocial   = txtRazonP.Text;
                cProveedor.cRFC           = txtRFC.Text;
                cProveedor.cDenComercial  = txtNombreP.Text;
                cProveedor.cEstatus       = 1;

                //Inicialización de objeto Shark.
                Proveedor proveedor = new Proveedor();
                proveedor.codigo        = txtCodigo.Text;
                proveedor.nombre        = txtNombreP.Text;
                proveedor.razon_social  = txtRazonP.Text;
                proveedor.RFC           = txtRFC.Text;
                proveedor.sucursal      = txtSucursalP.Text;
                proveedor.telefono      = txtTelefono.Text;
                proveedor.calle         = txtCalleP.Text;
                proveedor.codigo_postal = txtCodigoPostalP.Text;
                proveedor.colonia       = txtColoniaP.Text;
                proveedor.Empresa       = empresa.obtenerPorNombre(cbxEmpresa.SelectedItem.ToString());
                proveedor.empresa_id    = proveedor.Empresa.id;
                proveedor.localidad     = txtLocalidadP.Text;
                proveedor.municipio     = txtMunicipioP.Text;
                proveedor.estado        = txtEstadoP.Text;
                proveedor.NoExterior    = txtNoExteriorP.Text;
                proveedor.pais          = txtPaisP.Text;
                DateTime thisDay = DateTime.Today;
                proveedor.fecha_registro = Convert.ToDateTime(thisDay.ToString());

                foreach (var grupos in cbxGrupos.SelectedItems)
                {
                    String[] groups = grupos.ToString().Split('|');
                    cIDClasificacionesGrupos.Add(groups[0].ToString().Trim());
                    proveedor.tipos_proveedor += groups[1].ToString().Trim() + ";";
                }
                if (hasChanged == "Yes")
                {
                    //Modifica el proveedor en Contpaqi.
                    SDK.fBuscaCteProv(proveedor.codigo);
                    SDK.fEditaCteProv();
                    SDK.fSetDatoCteProv("CRAZONSOCIAL", cProveedor.cRazonSocial);
                    SDK.fSetDatoCteProv("CRFC", cProveedor.cRFC);
                    SDK.fSetDatoCteProv("CDENCOMERCIAL", cProveedor.cDenComercial);
                    int i = 1;
                    foreach (var item in cIDClasificacionesGrupos)
                    {
                        SDK.fSetDatoCteProv("CIDVALORCLASIFPROVEEDOR" + i, item);
                        i++;
                    }
                    int error = SDK.fGuardaCteProv();
                    if (error == 0)
                    {
                        //Modifica proveedor en Shark.
                        proveedor.id = this.proveedor.id;
                        proveedor.modificar(proveedor);
                        if (exit == "No")
                        {
                            ClearField();
                        }
                        else
                        {
                            this.Close();
                        }
                    }
                }
                else
                {
                    //Da de alta un proveedor en Contpaqi.
                    int cIDCteProv = 0;
                    int error      = SDK.fAltaCteProv(ref cIDCteProv, ref cProveedor);
                    if (error == 0)
                    {
                        //Da de alta un proveedor en Shark.
                        proveedor.registrar(proveedor);
                        MessageBox.Show("ÉXITO, SE REGISTRÓ AL PROVEEDOR '" + proveedor.razon_social + "'");
                        SDK.fBuscaIdCteProv(cIDCteProv);
                        SDK.fEditaCteProv();
                        SDK.fSetDatoCteProv("CTIPOCLIENTE", "3");
                        SDK.fSetDatoCteProv("CIDMONEDA", "1");
                        int i = 1;
                        foreach (var item in cIDClasificacionesGrupos)
                        {
                            SDK.fSetDatoCteProv("CIDVALORCLASIFPROVEEDOR" + i, item);
                            i++;
                        }


                        error = SDK.fGuardaCteProv();
                        if (error != 0)
                        {
                            SDK.rError(error);
                        }
                        if (exit == "No")
                        {
                            ClearField();
                        }
                        else
                        {
                            this.Close();
                        }
                    }
                    else
                    {
                        SDK.rError(error);
                    }
                }
            }
            else
            {
                if (!String.IsNullOrEmpty(txtNombreP.Text) || cbxGrupos.SelectedItem != null)
                {
                    MessageBox.Show("IMPOSIBLE GUARDAR, EXISTEN CAMPOS IMPORTANTES SIN INGRESAR");
                }
                else
                {
                    if (exit == "Yes")
                    {
                        this.Close();
                    }
                }
            }
        }