public Boolean Modificar_GetContribuyente_Info(int IdEmpresa, string cedulaRuc, string mail, string password, ref string MensajeErrorOut)
        {
            try
            {
                if (password != null || password != "")
                {
                    using (EntitiesFactElectronica context = new EntitiesFactElectronica())
                    {
                        tb_Contribuyente contact = context.tb_Contribuyente.First(var => var.IdEmpresa == IdEmpresa && var.cedulaRuc_contri == cedulaRuc);
                        if (!string.IsNullOrEmpty(password))
                        {
                            contact.Password = password;
                        }
                        contact.Mail_de_Registro_x_WEB = mail;

                        context.SaveChanges();
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), eTipoError.ERROR, arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref MensajeErrorOut);
                MensajeErrorOut = ex.InnerException + " " + ex.Message;

                return(false);
            }
        }
        public bool GuardarDB(Info.tb_Contribuyente_Info InfoContribuyente, ref string MensajeErrorOut)
        {
            try
            {
                using (EntitiesFactElectronica Context = new EntitiesFactElectronica())
                {
                    var Address = new tb_Contribuyente();


                    var Q = from per in Context.tb_Contribuyente
                            where  per.IdEmpresa == InfoContribuyente.IdEmpresa &&
                            per.cedulaRuc_contri == InfoContribuyente.cedulaRuc_contri
                            select per;
                    if (Q.ToList().Count == 0)// no esta en la base
                    {
                        Address.IdEmpresa         = InfoContribuyente.IdEmpresa;
                        Address.IdContribuyente   = InfoContribuyente.IdContribuyente = getIdContribuyente(ref MensajeErrorOut);
                        Address.cedulaRuc_contri  = InfoContribuyente.cedulaRuc_contri.Trim();
                        Address.Nom_Contribuyente = InfoContribuyente.Nom_Contribuyente.Trim();
                        Address.Mail                      = InfoContribuyente.Mail;
                        Address.EsCliente                 = InfoContribuyente.EsCliente;
                        Address.EsProveedor               = InfoContribuyente.EsProveedor;
                        Address.Password                  = InfoContribuyente.Password;
                        Address.Estado                    = InfoContribuyente.Estado;
                        Address.Fecha_transaccion         = InfoContribuyente.Fecha_transaccion;
                        Address.Fecha_Registro_web        = InfoContribuyente.Fecha_Registro_web;
                        Address.Fecha_Actualizacion_datos = InfoContribuyente.Fecha_Actualizacion_datos;
                        Address.Registrado_web            = InfoContribuyente.Registrado_web;
                        Address.Observacion               = InfoContribuyente.Observacion;
                        Address.Mail_secundario           = InfoContribuyente.Mail_secundario;

                        Address.TipoContacto = InfoContribuyente.TipoContacto.ToString();
                        Address.Foto         = InfoContribuyente.Foto;
                        Address.Direccion    = InfoContribuyente.Direccion;
                        Address.Telefono     = InfoContribuyente.Telefono;

                        Context.tb_Contribuyente.Add(Address);
                        Context.SaveChanges();
                    }
                    else
                    {
                        try
                        {
                            var contact = Context.tb_Contribuyente.First(var => var.cedulaRuc_contri == InfoContribuyente.cedulaRuc_contri && (var.Mail == "" || var.Mail == null || var.Mail != InfoContribuyente.Mail));
                            contact.Mail             = InfoContribuyente.Mail;
                            contact.Mail_secundario  = InfoContribuyente.Mail_secundario;
                            contact.Mail_secundario2 = InfoContribuyente.Mail_secundario2;
                            Context.SaveChanges();
                        }
                        catch (Exception ex)
                        {
                        }



                        //Context.SaveChanges();



                        MensajeErrorOut = "Contribuyente ya esta en la base";
                        return(false);
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                string arreglo = ToString();
                string mensaje = "";
                tb_sis_Log_Error_Vzen_Data oDataLog      = new tb_sis_Log_Error_Vzen_Data();
                tb_sis_Log_Error_Vzen_Info Log_Error_sis = new tb_sis_Log_Error_Vzen_Info(ex.ToString(), eTipoError.ERROR, arreglo, "",
                                                                                          "", "", "", "", DateTime.Now);
                oDataLog.Guardar_Log_Error(Log_Error_sis, ref mensaje);
                mensaje = ex.InnerException + " " + ex.Message;

                MensajeErrorOut = mensaje;
                return(false);
            }
        }