Exemple #1
0
 public string getXML(RequestCFD requestCFD)
 {
     XmlNode root = createDocument();
     addStringAttribute(root, "oru", requestCFD.oru);
     addStringAttribute(root, "cveProveedor", requestCFD.cveProveedor);
     addStringAttribute(root, "nomProveedor", requestCFD.nomProveedor);
     addStringAttribute(root, "mailProveedor", requestCFD.mailProveedor);
     addStringAttribute(root, "mailPhilips", requestCFD.mailPhilips);
     addStringAttribute(root, "OC", requestCFD.OC);
     addStringAttribute(root, "ctaContable", requestCFD.ctaContable);
     addStringAttribute(root, "CCostos", requestCFD.CCostos);
     addStringAttribute(root, "texto", requestCFD.texto);
     XmlNode items = dom.CreateNode(XmlNodeType.Element, null, "Items", null);
     for (int i = 0; i < requestCFD.getItemCount(); i++)
     {
         XmlNode item = dom.CreateNode(XmlNodeType.Element, null, "Item", null);
         Item objItem = requestCFD.getItem(i);
         addStringAttribute(item, "ItemOrder", objItem.ItemOrder);
         addStringAttribute(item, "cveMaterial", objItem.cveMaterial);
         addStringAttribute(item, "pedimento", objItem.pedimento);
         addStringAttribute(item, "patente", objItem.patente);
         addStringAttribute(item, "cantidad", objItem.cantidad);
         addStringAttribute(item, "WBS", objItem.WBS);
         addStringAttribute(item, "OC", objItem.OC);
         addStringAttribute(item, "OrdenServicio", objItem.OrdenServicio);
         addStringAttribute(item, "texto", objItem.texto);
         items.AppendChild(item);
     }
     root.AppendChild(items);
     return root.OuterXml;
 }
Exemple #2
0
        public string insertarAddenda(string scfd, RequestCFD requestCFD)
        {
            string sAgregarAdenda = string.Empty;
            dom = new XmlDocument();
            XmlDocument domB = new XmlDocument();

            dom.LoadXml(scfd);
            domB = dom;

            try
            {
                sAgregarAdenda = getXML(requestCFD);
            }
            catch (Exception EX)
            {
                Console.Write(EX.Message);
            }
            dom = domB;
            if (dom.DocumentElement.Prefix.Length > 0)
            {
                sprefix = dom.DocumentElement.Prefix + "";
            }
            XmlNode addNode = dom.CreateNode(XmlNodeType.Element, sprefix, "Addenda", nameSpace);
            addNode.InnerXml = sAgregarAdenda;
            dom.DocumentElement.AppendChild(addNode);
            //foreach (XmlNode node in dom.DocumentElement.ChildNodes)
            //{
            //    Xml = node.InnerText; //
            //}

            string sTemp = dom.InnerXml.ToString();
            if (System.Text.RegularExpressions.Regex.IsMatch(sTemp, "Addenda"))
            {
                sTemp = sTemp.Replace("Addenda", "cfdi:Addenda");
            }
            return sTemp;
        }
Exemple #3
0
        public static bool AdendaPhillips(string sNombreDB, int NumeroRegistro, int Tipo, int NumeroEmpresa, ref string xml)
        {

            //CfdiBLL ctrl = new CfdiBLL();
            RequestCFD PhilipsReq = new RequestCFD();
            AddPhilips AddendaPhilips = new AddPhilips();
            Item AddendaPhilipsItem = new Item();
            string sMail_Proveedor, sNombre_Proveedor;
            int Num_Cotiza = 0;
            DataTable tableprovider, tablereference, tableFactura, tablepartidaadenda, tablaCotizacion;
            // -----------------------------------------
            SQLConection context = new SQLConection();
            context.Parametros.Clear();
            context.Parametros.Add(new SqlParameter("@companynumber", NumeroEmpresa));
            context.Parametros.Add(new SqlParameter("@numeroregistro", NumeroRegistro));
            tablaCotizacion = context.ExecuteProcedure("[" + sNombreDB + "].[dbo].[sp_CFDI_ObtieneNumeroCuota_v1]", true).Copy();
            // -----------------------------------------
            if (tablaCotizacion != null && tablaCotizacion.Rows.Count > 0)
            {
                if (tablaCotizacion.Rows[0][1] != DBNull.Value)
                {
                    Num_Cotiza = Convert.ToInt32(tablaCotizacion.Rows[0][1]);
                }
            }
            else
            {
                return false;
            }

            CustomerBLL DataProvider = new CustomerBLL();
            //tableprovider = DataProvider.GetCustomerData(NumeroEmpresa, 1);// CHECAR POR QUE PUSE 1
            context = new SQLConection();
            context.Parametros.Clear();
            context.Parametros.Add(new SqlParameter("@numero", 1));
            tableprovider = context.ExecuteProcedure("[" + sNombreDB + "].[dbo].[sp_ObtieneCorreoPersona]", true).Copy();
            // -----------------------------------------------------------------------------------------
            if (tableprovider != null && tableprovider.Rows.Count > 0)
            {
                if (tableprovider.Rows[0][0] != DBNull.Value)
                {
                    sNombre_Proveedor = Convert.ToString(tableprovider.Rows[0][0]);

                }
                else
                {
                    return false;
                }

                if (tableprovider.Rows[0][1] != DBNull.Value)
                {
                    sMail_Proveedor = Convert.ToString(tableprovider.Rows[0][1]);

                }
                else
                {
                    return false;
                }
            }
            else
            {
                return false;
            }

            // tablereference = ctrl.GetRerefence(NumeroRegistro, NumeroEmpresa);
            // --------------------------------------------------------------------
            context = new SQLConection();
            context.Parametros.Clear();
            context.Parametros.Add(new SqlParameter("@companynumber", NumeroEmpresa));
            context.Parametros.Add(new SqlParameter("@numeroregistro", Num_Cotiza));
            tablereference = context.ExecuteProcedure("[" + sNombreDB + "].[dbo].[sp_CFDI_ObtieneReferencia_v1]", true).Copy();

            // ---------------------------------------------------------------------
            if (tablereference != null && tablereference.Rows.Count > 0)
            {
                if (tablereference.Rows[0][0] != DBNull.Value)
                {
                    PhilipsReq = new RequestCFD();
                    PhilipsReq.oru = Convert.ToString(tablereference.Rows[0][0]);

                    if (tablereference.Rows[0][1] != DBNull.Value)
                    {
                        PhilipsReq.cveProveedor = Convert.ToString(tablereference.Rows[0][1]);
                    }
                    else
                    {
                        return false;
                    }
                    PhilipsReq.nomProveedor = sNombre_Proveedor;

                    if (sMail_Proveedor != "")
                    {
                        PhilipsReq.mailProveedor = sMail_Proveedor;
                    }
                    else
                    {
                        //msj el provedor no cuenta con un mail
                        return false;
                    }

                    if (tablereference.Rows[0][2] != DBNull.Value)
                    {
                        PhilipsReq.mailPhilips = Convert.ToString(tablereference.Rows[0][2]);
                    }
                    else
                    {
                        return false;
                    }
                    if (tablereference.Rows[0][3] != DBNull.Value)
                    {
                        PhilipsReq.OC = Convert.ToString(tablereference.Rows[0][3]);
                    }
                    else
                    {
                        return false;
                    }
                    if (tablereference.Rows[0][4] != DBNull.Value)
                    {
                        PhilipsReq.ctaContable = Convert.ToString(tablereference.Rows[0][4]);
                    }
                    else
                    {
                        return false;
                    }

                    if (tablereference.Rows[0][5] != DBNull.Value)
                    {
                        PhilipsReq.CCostos = Convert.ToString(tablereference.Rows[0][5]);
                    }
                    else
                    {
                        return false;
                    }
                    if (tablereference.Rows[0][6] != DBNull.Value)
                    {
                        PhilipsReq.texto = Convert.ToString(tablereference.Rows[0][6]);
                    }
                    else
                    {
                        PhilipsReq.texto = "";
                    }
                }
                else
                {
                    //msj no se encontro el registro
                    return false;
                }


                //-------------------------------------------------------------------------
                context = new SQLConection();
                context.Parametros.Clear();
                context.Parametros.Add(new SqlParameter("@companynumber", NumeroEmpresa));
                context.Parametros.Add(new SqlParameter("@numeroregistro", NumeroRegistro));
                tableFactura = context.ExecuteProcedure("[" + sNombreDB + "].[dbo].[sp_CFDI_ObtieneNumeroCuota_v1]", true).Copy();
                //-------------------------------------------------------------------------

                int index = 0, inx = 0;
                if (tableFactura != null && tableFactura.Rows.Count > 0)
                {

                    foreach (DataRow row in tableFactura.Rows)
                    {

                        //tablepartidaadenda = ctrl.GetCotizacionPartidaAdenda(NumeroRegistro, NumeroEmpresa, Convert.ToInt32(tableFactura.Rows[index][0]));
                        //-------------------------------------------------------------------------
                        context = new SQLConection();
                        context.Parametros.Clear();
                        context.Parametros.Add(new SqlParameter("@companynumber", NumeroEmpresa));
                        context.Parametros.Add(new SqlParameter("@numeroregistro", Convert.ToInt32(tableFactura.Rows[index][1])));
                        context.Parametros.Add(new SqlParameter("@partida", Convert.ToInt32(tableFactura.Rows[index][0])));
                        tablepartidaadenda = context.ExecuteProcedure("[" + sNombreDB + "].[dbo].[sp_CFDI_ObtieneCotizacionPartidaAdenda_v1]", true).Copy();
                        //-------------------------------------------------------------------------

                        if (tablepartidaadenda != null && tablepartidaadenda.Rows.Count > 0)
                        {
                            if (tablepartidaadenda.Rows[0][0] != DBNull.Value)
                            {
                                AddendaPhilipsItem = new Item();

                                foreach (DataRow rows in tablepartidaadenda.Rows)
                                {
                                    switch (inx)
                                    {
                                        case 0:
                                            if (tablepartidaadenda.Rows[0][0] != DBNull.Value)
                                            {
                                                AddendaPhilipsItem.ItemOrder = Convert.ToString(tablepartidaadenda.Rows[inx][0]);
                                            }
                                            else
                                            {
                                                AddendaPhilipsItem.ItemOrder = "";
                                            }
                                            break;

                                        case 1:
                                            if (tablepartidaadenda.Rows[0][0] != DBNull.Value)
                                            {
                                                AddendaPhilipsItem.cveMaterial = Convert.ToString(tablepartidaadenda.Rows[inx][0]);
                                            }
                                            else
                                            {
                                                AddendaPhilipsItem.cveMaterial = "";
                                            }

                                            break;

                                        case 2:
                                            if (tablepartidaadenda.Rows[0][0] != DBNull.Value)
                                            {
                                                AddendaPhilipsItem.pedimento = Convert.ToString(tablepartidaadenda.Rows[inx][0]);
                                            }
                                            else
                                            {
                                                AddendaPhilipsItem.pedimento = "";
                                            }



                                            break;

                                        case 3:
                                            if (tablepartidaadenda.Rows[0][0] != DBNull.Value)
                                            {
                                                AddendaPhilipsItem.patente = Convert.ToString(tablepartidaadenda.Rows[inx][0]);
                                            }
                                            else
                                            {
                                                AddendaPhilipsItem.patente = "";
                                            }

                                            break;

                                        case 4:
                                            if (tablepartidaadenda.Rows[0][0] != DBNull.Value)
                                            {
                                                AddendaPhilipsItem.cantidad = Convert.ToString(tablepartidaadenda.Rows[inx][0]);
                                            }
                                            else
                                            {
                                                AddendaPhilipsItem.cantidad = "";
                                            }


                                            break;

                                        case 5:
                                            if (tablepartidaadenda.Rows[0][0] != DBNull.Value)
                                            {
                                                AddendaPhilipsItem.WBS = Convert.ToString(tablepartidaadenda.Rows[inx][0]);
                                            }
                                            else
                                            {
                                                AddendaPhilipsItem.WBS = "";
                                            }


                                            break;

                                        case 6:
                                            if (tablepartidaadenda.Rows[0][0] != DBNull.Value)
                                            {
                                                AddendaPhilipsItem.OC = Convert.ToString(tablepartidaadenda.Rows[inx][0]);
                                            }
                                            else
                                            {
                                                AddendaPhilipsItem.OC = "";
                                            }


                                            break;

                                        case 7:
                                            if (tablepartidaadenda.Rows[0][0] != DBNull.Value)
                                            {
                                                AddendaPhilipsItem.OrdenServicio = Convert.ToString(tablepartidaadenda.Rows[inx][0]);
                                            }
                                            else
                                            {
                                                AddendaPhilipsItem.OrdenServicio = "";
                                            }


                                            break;

                                        case 8:
                                            if (tablepartidaadenda.Rows[0][0] != DBNull.Value)
                                            {
                                                AddendaPhilipsItem.texto = Convert.ToString(tablepartidaadenda.Rows[inx][0]);
                                            }
                                            else
                                            {
                                                AddendaPhilipsItem.texto = "";
                                            }


                                            break;
                                    }

                                    inx++;
                                }


                                PhilipsReq.addItem(AddendaPhilipsItem);
                            }
                        }



                        else
                        {
                            return false;
                            //msj no se capturo los datos de la partida
                        }

                        index++;

                    }
                }
                else
                {
                    return false;
                    //msj la factura no cuenta con detalle
                }

            }
            else
            {
                return false;
            }

            AddendaPhilips = new AddPhilips();
            xml = AddendaPhilips.insertarAddenda(xml, PhilipsReq);

            return true;
        }