예제 #1
0
        public override string mBuscarDoctosArchivo(string aNombreArchivo)
        {
            //System.Data.OleDb.OleDbConnection conn = new OleDbConnection ( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + aNombreArchivo + ";");
            OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + aNombreArchivo + ";Extended Properties='Excel 12.0 xml;HDR=YES;'");

            conn.Open();
            System.Data.OleDb.OleDbCommand cmd = new OleDbCommand();
            cmd.Connection  = conn;
            cmd.CommandText = "SELECT * FROM [LAYOUT$]";
            cmd.ExecuteNonQuery();

            long xxx;

            xxx = 1000000;


            System.Data.OleDb.OleDbDataReader dr;
            dr = cmd.ExecuteReader();
            Boolean noseguir = false;

            _RegDoctos.Clear();
            if (dr.HasRows)
            {
                while (noseguir == false)
                {
                    dr.Read();
                    _RegDoctoOrigen        = null;
                    _RegDoctoOrigen        = new RegDocto();
                    _RegDoctoOrigen.cFolio = xxx;
                    xxx = xxx + 1;
                    _RegDoctoOrigen.cCodigoConcepto = "";
                    try
                    {
                        _RegDoctoOrigen.cCodigoConcepto = dr["CODIGO CONCEPTO ADMIN"].ToString();
                    }
                    catch
                    { }
                    if (_RegDoctoOrigen.cCodigoConcepto == "")
                    {
                        noseguir = true;
                    }
                    else
                    {
                        _RegDoctoOrigen.cCodigoCliente = dr["RFC"].ToString();
                        _RegDoctoOrigen.cRFC           = dr["RFC"].ToString();
                        _RegDoctoOrigen.cFecha         = DateTime.Parse(dr["FECHA DE CAPTURA"].ToString());
                        //_RegDoctoOrigen.cFecha = DateTime.Today ;
                        _RegDoctoOrigen.cFecha       = _RegDoctoOrigen.cFecha;
                        _RegDoctoOrigen.cRazonSocial = dr["RAZON SOCIAL"].ToString();
                        if (dr["RAZON SOCIAL"].ToString() == string.Empty)
                        {
                            _RegDoctoOrigen.cRazonSocial = "Cliente sin razon social";
                        }
                        _RegDoctoOrigen.cMoneda = "Pesos";

                        _RegDoctoOrigen.cTipoCambio = 1;
                        _RegDoctoOrigen.cReferencia = dr["REFERENCIA"].ToString().Substring(0, 10);

                        _RegDoctoOrigen.cTextoExtra1 = dr["OBSERVACIONES"].ToString();


                        _RegDoctoOrigen._RegDireccion.cNombreCalle = dr["CALLE"].ToString().Trim();

                        _RegDoctoOrigen._RegDireccion.cNumeroExterior = dr["NUMERO EXTERIOR"].ToString().Trim();
                        _RegDoctoOrigen._RegDireccion.cNumeroInterior = dr["NUMERO INTERIOR"].ToString().Trim();
                        _RegDoctoOrigen._RegDireccion.cColonia        = dr["COLONIA"].ToString().Trim();
                        _RegDoctoOrigen._RegDireccion.cCodigoPostal   = dr["CODIGO POSTAL"].ToString().PadLeft(5, '0');
                        //_RegDoctoOrigen._RegDireccion.cCodigoPostal = _RegDoctoOrigen._RegDireccion.cCodigoPostal.PadLeft(5, "0");
                        _RegDoctoOrigen._RegDireccion.cEstado = dr["ESTADO"].ToString().Trim();
                        _RegDoctoOrigen._RegDireccion.cPais   = "MEXICO";
                        _RegDoctoOrigen._RegDireccion.cCiudad = dr["MUNICIPIO"].ToString().Trim();
                        _RegDoctoOrigen._RegDireccion.cEmail  = dr["CORREO ELECTRONICO"].ToString().Trim();
                        _RegDoctoOrigen._RegDireccion.cEmail2 = dr["CORREO ELECTRONICO 2"].ToString().Trim();


                        RegMovto lRegmovto = new RegMovto();
                        lRegmovto.cCodigoProducto = dr["CODIGO SERVICIO ADMIN"].ToString();
                        //lRegmovto.cNombreProducto = dr["cnombrep01"].ToString();
                        //lRegmovto.cIdDocto = long.Parse(_RegDoctoOrigen.cIdDocto.ToString());
                        lRegmovto.cPrecio = decimal.Parse(dr["SUBTOTAL"].ToString());

                        lRegmovto.cImpuesto      = decimal.Parse(dr["IVA"].ToString());
                        lRegmovto.cPorcent01     = decimal.Round(decimal.Parse(dr["IVA"].ToString()) * 100 / decimal.Parse(dr["SUBTOTAL"].ToString()), 2);
                        lRegmovto.cUnidades      = 1;
                        lRegmovto.cTotal         = decimal.Parse(dr["IVA"].ToString()) + decimal.Parse(dr["SUBTOTAL"].ToString());;
                        lRegmovto.cneto          = decimal.Parse(dr["SUBTOTAL"].ToString());
                        lRegmovto.cCodigoAlmacen = "1";
                        lRegmovto.cNombreAlmacen = "1";
                        lRegmovto.cUnidad        = "";
                        _RegDoctoOrigen._RegMovtos.Add(lRegmovto);
                        _RegDoctoOrigen.sMensaje = "";
                        _RegDoctos.Add(_RegDoctoOrigen);
                    }
                }
            }



            return("");
        }
예제 #2
0
        public string mLlenarDocto1(OleDbDataReader aReader, int atipo, string aFolio, string aFuente)
        {
            string lrespuesta = "";
            string lfolio     = "0";

            if (atipo == 1 || atipo == 2)
            {
                lfolio = aReader["cfolio"].ToString();
                _RegDoctoOrigen.cFolio = long.Parse(lfolio);
            }
            if (aReader["cliente"].ToString() == string.Empty)
            {
                return("Falta Codigo de cliente en documento " + aFolio);
            }
            else
            {
                _RegDoctoOrigen.cCodigoCliente = aReader["cliente"].ToString();
            }

            _RegDoctoOrigen.cFecha = DateTime.Parse(aReader["cfecha"].ToString());
            if (mchecarvalido() == false)
            {
                return("");
            }



            //_RegDoctoOrigen.cFolio = long.Parse (aReader["cfolio"].ToString()) ;
            if (aReader["cRFC"].ToString() == string.Empty)
            {
                return("Cliente sin RFC en documento " + aFolio);
            }
            else
            if (!(aReader["cRFC"].ToString().Length == 12 || aReader["cRFC"].ToString().Length == 13))
            {
                return("El RFC tiene una longitud incorrecta en el documento " + aFolio);
            }
            else
            {
                _RegDoctoOrigen.cRFC = aReader["cRFC"].ToString();
            }


            if (atipo == 1)
            {
                _RegDoctoOrigen.cAgente = aReader["Agente"].ToString();
                _RegDoctoOrigen.cCond   = aReader["condpago"].ToString();
            }
            if (aReader["cRazonso01"].ToString() == string.Empty)
            {
                return("Cliente sin Razon Social en documento " + aFolio);
            }
            else
            {
                _RegDoctoOrigen.cRazonSocial = aReader["cRazonso01"].ToString();
            }

            //IsDBNull(
            //aReader["cTextoExtra1"].isnull
            if (!aReader.IsDBNull(18))
            {
                _RegDoctoOrigen.cTextoExtra1 = aReader[18].ToString();
            }



            // UNA modificacion que aplica para flexo es que los datos del cliente se toman de adminpaq
            lrespuesta = mModificaDatosCliente();
            //lrespuesta = mModificaDatosClienteFlexo();
            if (lrespuesta != string.Empty)
            {
                return(lrespuesta);
            }


            _RegDoctoOrigen.cMoneda     = aReader["Moneda"].ToString();
            _RegDoctoOrigen.cTipoCambio = decimal.Parse(aReader["TipoCambio"].ToString());

            if (atipo != 1)
            {
                _RegDoctoOrigen.cReferencia = aReader["cReferen01"].ToString();
            }
            else
            {
                _RegDoctoOrigen.cReferencia = aReader["cReferen01"].ToString();
            }



            if (aReader["cnombrec01"].ToString().Trim() == string.Empty)
            {
                _RegDoctoOrigen._RegDireccion.cNombreCalle = "Ninguna";
            }
            else
            {
                _RegDoctoOrigen._RegDireccion.cNombreCalle = aReader["cnombrec01"].ToString().Trim();
            }

            _RegDoctoOrigen._RegDireccion.cNumeroExterior = aReader["cnumeroe01"].ToString().Trim();
            _RegDoctoOrigen._RegDireccion.cNumeroInterior = aReader["cnumeroi01"].ToString().Trim();
            _RegDoctoOrigen._RegDireccion.cColonia        = aReader["ccolonia"].ToString().Trim();
            _RegDoctoOrigen._RegDireccion.cCodigoPostal   = aReader["ccodigop01"].ToString().Trim();
            _RegDoctoOrigen._RegDireccion.cEstado         = aReader["cestado"].ToString().Trim();
            _RegDoctoOrigen._RegDireccion.cPais           = aReader["cpais"].ToString().Trim();
            _RegDoctoOrigen._RegDireccion.cCiudad         = aReader["cciudad"].ToString().Trim();
            if (atipo == 3 || atipo == 4)
            {
                _RegDoctoOrigen.cNeto      = double.Parse(aReader["importe"].ToString());
                _RegDoctoOrigen.cImpuestos = double.Parse(aReader["impuestos"].ToString().Trim());
            }


            SqlCommand    lsql = new SqlCommand();
            SqlDataReader lreader;

            lsql.CommandText = mRegresarConsultaMovimientos(aFuente, lfolio, atipo);


            //lsql.Connection = (SqlConnection)_con;
            //aReader.Close();
            lreader = lsql.ExecuteReader();
            _RegDoctoOrigen._RegMovtos.Clear();
            if (lreader.HasRows)
            {
                while (lreader.Read())
                {
                    RegMovto lRegmovto = new RegMovto();
                    lRegmovto.cCodigoProducto = lreader["ccodigop01"].ToString();
                    lRegmovto.cNombreProducto = lreader["cnombrep01"].ToString();
                    lRegmovto.cIdDocto        = long.Parse(_RegDoctoOrigen.cIdDocto.ToString());
                    lRegmovto.cPrecio         = decimal.Parse(lreader["cprecioc01"].ToString());

                    lRegmovto.cImpuesto  = decimal.Parse(lreader["cimpuesto1"].ToString());
                    lRegmovto.cPorcent01 = decimal.Parse(lreader["cPorcent01"].ToString());
                    if (aFuente != "Mercado")
                    {
                        lRegmovto.cUnidades    = decimal.Parse(lreader["unidades"].ToString());
                        lRegmovto.cTotal       = decimal.Parse(lreader["cTotal"].ToString());
                        lRegmovto.cneto        = decimal.Parse(lreader["cneto"].ToString());
                        lRegmovto.cReferencia  = lreader["creferen01"].ToString();
                        lRegmovto.ctextoextra1 = lreader["ctextoextra1"].ToString();
                        lRegmovto.ctextoextra2 = lreader["ctextoextra2"].ToString();
                        lRegmovto.ctextoextra3 = lreader["ctextoextra3"].ToString();
                    }
                    else
                    {
                        lRegmovto.cUnidades = decimal.Parse(lreader["cunidades"].ToString());
                    }
                    lRegmovto.cCodigoAlmacen = lreader["ccodigoa01"].ToString();
                    lRegmovto.cNombreAlmacen = lreader["ccodigoa01"].ToString();
                    lRegmovto.cUnidad        = lreader["unidad"].ToString();
                    _RegDoctoOrigen._RegMovtos.Add(lRegmovto);
                }
            }
            else
            {
            }
            lreader.Close();
            return(lrespuesta);
            //miconexion.mCerrarConexionOrigen();
        }