public void ActualizarFacturas(ref OperationResult pobjOperationResult, List<FacturaDto> Temp_Insertar, List<FacturaDto> Temp_Modificar, List<FacturaDto> Temp_Eliminar)
        {
            try
            {
                using (BdEntities dbContext = new BdEntities())
                {
                    #region Insertar
                    foreach (FacturaDto _Factura in Temp_Insertar)
                    {
                        factura Entidad = new factura();
                        Entidad.Data = _Factura.Data;
                        Entidad.n_Factura = _Factura.n_Factura;
                        Entidad.id_Client = _Factura.id_Client;
                        Entidad.IVA = _Factura.IVA;
                        Entidad.Descompte = _Factura.Descompte;
                        dbContext.factura.Add(Entidad);
                    }
                    #endregion

                    #region Modificar
                    foreach (FacturaDto _Factura in Temp_Modificar)
                    {
                        factura Entidad = (from n in dbContext.factura
                                           where n.id_Client == _Factura.id_Client
                                           select n).FirstOrDefault();
                        Entidad.Data = _Factura.Data;
                        Entidad.n_Factura = _Factura.n_Factura;
                        Entidad.id_Client = _Factura.id_Client;
                        Entidad.IVA = _Factura.IVA;
                        Entidad.Descompte = _Factura.Descompte;
                        dbContext.Entry(Entidad).CurrentValues.SetValues(Entidad);
                    }
                    #endregion

                    #region Eliminar
                    foreach (FacturaDto _Factura in Temp_Eliminar)
                    {
                        factura Entidad = (from n in dbContext.factura
                                           where n.id_Client == _Factura.id_Client
                                           select n).FirstOrDefault();
                        dbContext.factura.Remove(Entidad);
                    }
                    #endregion

                    dbContext.SaveChanges();
                    pobjOperationResult.Succes = 1;
                }
            }
            catch (Exception ex)
            {
                pobjOperationResult.Succes = 0;
                pobjOperationResult.ErrorMensaje = ex.Message;
                pobjOperationResult.InnerException = ex.InnerException != null ? ex.InnerException.Message : string.Empty;
                pobjOperationResult.AdditionalInformation = "FacturaBL.ActualizarFacturas()";
                return;
            }

        }
        public void ActualizarFactures_detall(ref OperationResult pobjOperationResult, List<Factures_detallDto> Temp_Insertar, List<Factures_detallDto> Temp_Modificar, List<Factures_detallDto> Temp_Eliminar)
        {
            try
            {
                using (BdEntities dbContext = new BdEntities())
                {
                    #region Insertar
                    foreach (Factures_detallDto _Factures_detall in Temp_Insertar)
                    {
                        factures_detall Entidad = new factures_detall();
                        Entidad.id_Producte = _Factures_detall.id_Producte;
                        Entidad.n_Factura = _Factures_detall.n_Factura;
                        Entidad.Quantitat = _Factures_detall.Quantitat;
                        dbContext.factures_detall.Add(Entidad);
                    }
                    #endregion

                    #region Modificar
                    foreach (Factures_detallDto _Factures_detall in Temp_Modificar)
                    {
                        factures_detall Entidad = (from n in dbContext.factures_detall
                                           where n.id_Producte == _Factures_detall.id_Producte
                                           select n).FirstOrDefault();
                        Entidad.id_Producte = _Factures_detall.id_Producte;
                        Entidad.n_Factura = _Factures_detall.n_Factura;
                        Entidad.Quantitat = _Factures_detall.Quantitat;
                        dbContext.Entry(Entidad).CurrentValues.SetValues(Entidad);
                    }
                    #endregion

                    #region Eliminar
                    foreach (Factures_detallDto _Factures_detall in Temp_Eliminar)
                    {
                        factures_detall Entidad = (from n in dbContext.factures_detall
                                           where n.id_Producte == _Factures_detall.id_Producte
                                           select n).FirstOrDefault();
                        dbContext.factures_detall.Remove(Entidad);
                    }
                    #endregion

                   
                    dbContext.SaveChanges();
                    pobjOperationResult.Succes = 1;
                }
            }
            catch (Exception ex)
            {
                pobjOperationResult.Succes = 0;
                pobjOperationResult.ErrorMensaje = ex.Message;
                pobjOperationResult.InnerException = ex.InnerException != null ? ex.InnerException.Message : string.Empty;
                pobjOperationResult.AdditionalInformation = "Factures_detallBL.ActualizarFactures_detall()";
                return;
            }
        }
        public void ActualizarProductes(ref OperationResult pobjOperationResult, List<ProductesDto> Temp_Insertar, List<ProductesDto> Temp_Modificar, List<ProductesDto> Temp_Eliminar)
        {
            try
            {
                using (BdEntities dbContext = new BdEntities())
                {
                    #region Insertar
                    foreach (ProductesDto _Productes in Temp_Insertar)
                    {
                        productes Entidad = new productes();
                        Entidad.idProducte = _Productes.idProducte;
                        Entidad.Preu = _Productes.Preu;
                        Entidad.Producte = _Productes.Producte;
                        dbContext.productes.Add(Entidad);
                    }
                    #endregion

                    #region Modificar
                    foreach (ProductesDto _Productes in Temp_Modificar)
                    {
                        productes Entidad = (from n in dbContext.productes
                                                   where n.idProducte == _Productes.idProducte
                                                   select n).FirstOrDefault();
                        Entidad.idProducte = _Productes.idProducte;
                        Entidad.Preu = _Productes.Preu;
                        Entidad.Producte = _Productes.Producte;
                        dbContext.Entry(Entidad).CurrentValues.SetValues(Entidad);
                    }
                    #endregion

                    #region Eliminar
                    foreach (ProductesDto _Productes in Temp_Eliminar)
                    {
                        productes Entidad = (from n in dbContext.productes
                                                   where n.idProducte == _Productes.idProducte
                                                   select n).FirstOrDefault();
                        dbContext.productes.Remove(Entidad);
                    }
                    #endregion

                    dbContext.SaveChanges();
                    pobjOperationResult.Succes = 1;
                }
            }
            catch (Exception ex)
            {
                pobjOperationResult.Succes = 0;
                pobjOperationResult.ErrorMensaje = ex.Message;
                pobjOperationResult.InnerException = ex.InnerException != null ? ex.InnerException.Message : string.Empty;
                pobjOperationResult.AdditionalInformation = "ProductesBL.ActualizarProductes()";
                return;
            }
        }
        public void MeterXML(ref OperationResult pobjOperationResult)
        {

            try
            {
                using (BdEntities dbContext = new BdEntities())
                {
                    var Query = (from n in dbContext.factures_detall
                                 select new Factures_detallDto
                                 {
                                     n_Factura = n.n_Factura,
                                     id_Producte = n.id_Producte,
                                     Quantitat = n.Quantitat
                                 }).ToList();
                    if (Query.Count > 0)
                    {
                        var xEle = new XElement("Factures_detall",
                            from emp in Query
                            select new XElement("Factura_detall",
                                new XElement("n_Factura", emp.n_Factura),
                                new XElement("id_Producte", emp.id_Producte),
                                new XElement("Quantitat", emp.Quantitat)
                                ));

                        xEle.Save("Factures_detall.xml");

                    }
                    pobjOperationResult.Succes = 1;
                }
            }
            catch (Exception ex)
            {
                pobjOperationResult.Succes = 0;
                pobjOperationResult.ErrorMensaje = ex.Message;
                pobjOperationResult.InnerException = ex.InnerException != null ? ex.InnerException.Message : string.Empty;
                return;
            }

            
        }
        public void MeterXML(ref OperationResult pobjOperationResult)
        {
            try
            {
                using (BdEntities dbContext = new BdEntities())
                {
                    var Query = (from n in dbContext.factura
                                 select new FacturaDto
                                 {
                                     n_Factura = n.n_Factura,
                                     id_Client = n.id_Client,
                                     Data = n.Data,
                                     Descompte = n.Descompte,
                                     IVA = n.IVA
                                 }).ToList();
                    if (Query.Count > 0)
                    {
                        var xEle = new XElement("Factures",
                            from emp in Query
                            select new XElement("Factura",
                                new XElement("n_Factura", emp.n_Factura),
                                new XElement("Id_Client", emp.id_Client),
                                new XElement("Data", emp.Data),
                                new XElement("Descompte", emp.Descompte),
                                new XElement("Iva", emp.IVA)
                                ));

                        xEle.Save("Factures.xml");

                    }
                    pobjOperationResult.Succes = 1;
                }
            }
            catch (Exception ex)
            {
                pobjOperationResult.Succes = 0;
                pobjOperationResult.ErrorMensaje = ex.Message;
                pobjOperationResult.InnerException = ex.InnerException != null ? ex.InnerException.Message : string.Empty;
                return;
            }

   
        }
        public void MeterXML(ref OperationResult pobjOperationResult)
        {
            try
            {
                using (BdEntities dbContext = new BdEntities())
                {
                    var Query = (from n in dbContext.productes
                                 select new ProductesDto
                                 {
                                     idProducte = n.idProducte,
                                     Producte = n.Producte,
                                     Preu = n.Preu
                                 }).ToList();
                    if (Query.Count > 0)
                    {
                        var xEle = new XElement("Productes",
                            from emp in Query
                            select new XElement("Producte",
                                new XElement("idProducte", emp.idProducte),
                                new XElement("Producte", emp.Producte),
                                new XElement("Preu", emp.Preu)
                                ));

                        xEle.Save("Productes.xml");

                    }
                    pobjOperationResult.Succes = 1;
                }
            }
            catch (Exception ex)
            {
                pobjOperationResult.Succes = 0;
                pobjOperationResult.ErrorMensaje = ex.Message;
                pobjOperationResult.InnerException = ex.InnerException != null ? ex.InnerException.Message : string.Empty;
                return;
            }
        }
        public void ActualizarClientes(ref OperationResult pobjOperationResult, List<ClientDto> Temp_Insertar, List<ClientDto> Temp_Modificar, List<ClientDto> Temp_Eliminar)
        {
            try
            {
                using (BdEntities dbContext = new BdEntities())
                {
                    #region Insertar
                    foreach (ClientDto _Clients in Temp_Insertar)
                    {
                        clients Entidad = new clients();
                        Entidad.Nom = _Clients.Nom;
                        Entidad.Cognom1 = _Clients.Cognom1;
                        Entidad.id_Client = _Clients.id_Client;
                        Entidad.Adreça = _Clients.Adreça;
                        Entidad.CodiPostal = _Clients.CodiPostal;
                        Entidad.Poblacio = _Clients.Poblacio;
                        Entidad.Provincia = _Clients.Provincia;
                        Entidad.Telefon = _Clients.Telefon;
                        Entidad.Fax = _Clients.Fax;
                        Entidad.E_mail = _Clients.E_mail;

                        dbContext.clients.Add(Entidad);
                    }
                    #endregion

                    #region Modificar
                    foreach (ClientDto _Clients in Temp_Modificar)
                    {
                        clients Entidad = (from n in dbContext.clients
                                           where n.id_Client == _Clients.id_Client
                                           select n).FirstOrDefault();
                        Entidad.Nom = _Clients.Nom;
                        Entidad.Cognom1 = _Clients.Cognom1;
                        Entidad.id_Client = _Clients.id_Client;
                        Entidad.Adreça = _Clients.Adreça;
                        Entidad.CodiPostal = _Clients.CodiPostal;
                        Entidad.Poblacio = _Clients.Poblacio;
                        Entidad.Provincia = _Clients.Provincia;
                        Entidad.Telefon = _Clients.Telefon;
                        Entidad.Fax = _Clients.Fax;
                        Entidad.E_mail = _Clients.E_mail;
                        dbContext.Entry(Entidad).CurrentValues.SetValues(Entidad);
                    }
                    #endregion

                    #region Eliminar
                    foreach (ClientDto _Clients in Temp_Eliminar)
                    {
                        clients Entidad = (from n in dbContext.clients
                                           where n.id_Client == _Clients.id_Client
                                           select n).FirstOrDefault();
                        dbContext.clients.Remove(Entidad);
                    }
                    #endregion

                    dbContext.SaveChanges();
                    pobjOperationResult.Succes = 1;
                }
            }
            catch (Exception ex)
            {
                pobjOperationResult.Succes = 0;
                pobjOperationResult.ErrorMensaje = ex.Message;
                pobjOperationResult.InnerException = ex.InnerException != null ? ex.InnerException.Message : string.Empty;
                pobjOperationResult.AdditionalInformation = "ClientBL.ActualizarClientes()";
                return;
            }
        }
        public void MeterXML(ref OperationResult pobjOperationResult)
        {
            try
            {
                using (BdEntities dbContext = new BdEntities())
                {
                    var Query = (from n in dbContext.clients
                                 select new ClientDto
                                 {
                                     id_Client = n.id_Client,
                                     Nom = n.Nom,
                                     Cognom1 = n.Cognom1,
                                     Adreça = n.Adreça,
                                     CodiPostal = n.CodiPostal,
                                     Poblacio = n.Poblacio,
                                     Provincia = n.Provincia,
                                     Telefon = n.Telefon,
                                     Fax = n.Fax,
                                     E_mail = n.E_mail
                                 }).ToList();
                    if (Query.Count > 0)
                    {
                        var xEle = new XElement("Clientes",
                            from emp in Query
                            select new XElement("Cliente",
                                new XElement("id_Client", emp.id_Client),
                                new XElement("Nom", emp.Nom),
                                new XElement("Cognom1", emp.Cognom1),
                                new XElement("Adreça", emp.Adreça),
                                new XElement("CodiPostal", emp.CodiPostal),
                                new XElement("Poblacio", emp.Poblacio),
                                new XElement("Provincia", emp.Provincia),
                                new XElement("Telefon", emp.Telefon),
                                new XElement("Fax", emp.Fax),
                                new XElement("E_mail", emp.E_mail)
                                ));

                        xEle.Save("Clientes.xml");
                    }
                    pobjOperationResult.Succes = 1;
                }
            }
            catch (Exception ex)
            {
                pobjOperationResult.Succes = 0;
                pobjOperationResult.ErrorMensaje = ex.Message;
                pobjOperationResult.InnerException = ex.InnerException != null ? ex.InnerException.Message : string.Empty;
                return;
            }



        }