public OOB.Resultado Proveedor_EditarFicha(OOB.LibCompra.Proveedor.Editar.Ficha ficha)
        {
            var rt = new OOB.Resultado();

            var fichaDTO = new DtoLibCompra.Proveedor.Editar.Ficha()
            {
                autoPrv     = ficha.autoPrv,
                ciRif       = ficha.ciRif,
                codigo      = ficha.codigo,
                codPostal   = ficha.codPostal,
                contacto    = ficha.contacto,
                denFiscal   = ficha.denFiscal,
                dirFiscal   = ficha.dirFiscal,
                email       = ficha.email,
                idEstado    = ficha.idEstado,
                idGrupo     = ficha.idGrupo,
                pais        = ficha.pais,
                razonSocial = ficha.razonSocial,
                retIva      = ficha.retIva,
                telefono    = ficha.telefono,
                webSite     = ficha.webSite,
            };

            var r01 = MyData.Proveedor_EditarFicha(fichaDTO);

            if (r01.Result == DtoLib.Enumerados.EnumResult.isError)
            {
                rt.Mensaje = r01.Mensaje;
                rt.Result  = OOB.Enumerados.EnumResult.isError;
                return(rt);
            }

            return(rt);
        }
        public DtoLib.Resultado Proveedor_EditarFicha(DtoLibCompra.Proveedor.Editar.Ficha ficha)
        {
            var fichaVal = new DtoLibCompra.Proveedor.Editar.FichaValidar()
            {
                codigo      = ficha.codigo,
                razonSocial = ficha.razonSocial,
                autoId      = ficha.autoPrv,
            };
            var r01 = ServiceProv.Proveedor_EditarFicha_Validar(fichaVal);

            if (r01.Result == DtoLib.Enumerados.EnumResult.isError)
            {
                return(new DtoLib.ResultadoAuto()
                {
                    Auto = "",
                    Mensaje = r01.Mensaje,
                    Result = DtoLib.Enumerados.EnumResult.isError,
                });
            }
            return(ServiceProv.Proveedor_EditarFicha(ficha));
        }
        public DtoLib.Resultado Proveedor_EditarFicha(DtoLibCompra.Proveedor.Editar.Ficha ficha)
        {
            var rt = new DtoLib.ResultadoAuto();

            try
            {
                using (var cnn = new compraEntities(_cnCompra.ConnectionString))
                {
                    using (var ts = new TransactionScope())
                    {
                        var entPrv = cnn.proveedores.Find(ficha.autoPrv);
                        if (entPrv == null)
                        {
                            rt.Mensaje = "[ ID ] PROVEEDOR NO ENCONTRADO";
                            rt.Result  = DtoLib.Enumerados.EnumResult.isError;
                            return(rt);
                        }

                        entPrv.auto_estado         = ficha.idEstado;
                        entPrv.auto_grupo          = ficha.idGrupo;
                        entPrv.ci_rif              = ficha.ciRif;
                        entPrv.codigo              = ficha.codigo;
                        entPrv.codigo_postal       = ficha.codPostal;
                        entPrv.contacto            = ficha.contacto;
                        entPrv.denominacion_fiscal = ficha.denFiscal;
                        entPrv.dir_fiscal          = ficha.dirFiscal;
                        entPrv.email         = ficha.email;
                        entPrv.pais          = ficha.pais;
                        entPrv.razon_social  = ficha.razonSocial;
                        entPrv.retencion_iva = ficha.retIva;
                        entPrv.telefono      = ficha.telefono;
                        entPrv.website       = ficha.webSite;
                        cnn.SaveChanges();

                        ts.Complete();
                    }
                }
            }
            catch (DbEntityValidationException e)
            {
                var msg = "";
                foreach (var eve in e.EntityValidationErrors)
                {
                    foreach (var ve in eve.ValidationErrors)
                    {
                        msg += ve.ErrorMessage;
                    }
                }
                rt.Mensaje = msg;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }
            catch (System.Data.Entity.Infrastructure.DbUpdateException e)
            {
                var msg = "";
                if (e.InnerException != null)
                {
                    var x = e.InnerException.InnerException;
                    msg = x.Message;
                }
                else
                {
                    foreach (var eve in e.Entries)
                    {
                        //msg += eve.m;
                        foreach (var ve in eve.CurrentValues.PropertyNames)
                        {
                            msg += ve.ToString();
                        }
                    }
                }
                rt.Mensaje = msg;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }
            catch (Exception e)
            {
                rt.Mensaje = e.Message;
                rt.Result  = DtoLib.Enumerados.EnumResult.isError;
            }

            return(rt);
        }