internal override IEmpresa Incluir(IEmpresa entidade)
        {
            this.repositorio.createTransacao();
            try
            {
                string  cnn     = this.repositorio.Contexto.Database.GetDbConnection().ConnectionString;
                Empresa empresa = ConverterEmpresa.converterIEmpresaParaEmpresa(entidade);

                this.repositorio.Adicionar(empresa);
                int registrosAfetados = this.repositorio.Salvar();
                if (registrosAfetados > 0)
                {
                    ICaminhoArquivo caminhoArquivo = CaminhoArquivo.Create();
                    caminhoArquivo.CaminhoBaseImagem   = empresa.Id.ToString().Replace("-", "");
                    caminhoArquivo.CaminhoBaseDownload = string.Format("{0}/Download", empresa.Id.ToString().Replace("-", ""));
                    caminhoArquivo.EmpresaId           = empresa.Id;

                    this.repositorio.Contexto.Set <CaminhoArquivo>().Add(ConverterEmpresa.converterICaminhoArquivoParaCaminhoArquivo(caminhoArquivo));
                    this.repositorio.Contexto.SaveChanges();
                    this.repositorio.Commit();
                }
                else
                {
                    this.repositorio.Rollback();
                }

                _Empresa = ConverterEmpresa.converterEmpresaParaIEmpresa(empresa);
                return(_Empresa);
            }
            catch (Exception ex)
            {
                this.repositorio.Rollback();
                throw ex;
            }
        }
        internal async override Task <IEmpresa> IncluirAsync(IEmpresa entidade)
        {
            this.repositorio.createTransacao();
            try
            {
                Empresa empresa = ConverterEmpresa.converterIEmpresaParaEmpresa(entidade);

                this.repositorio.Adicionar(empresa);
                Task <int> registrosAfetados = this.repositorio.SalvarAsync();
                if (registrosAfetados.Result > 0)
                {
                    ICaminhoArquivo caminhoArquivo = CaminhoArquivo.Create();
                    caminhoArquivo.CaminhoBaseImagem   = empresa.Id.ToString().Replace("-", "");
                    caminhoArquivo.CaminhoBaseDownload = string.Format("{0}/Download", empresa.Id.ToString().Replace("-", ""));
                    caminhoArquivo.EmpresaId           = empresa.Id;
                    this.repositorio.Contexto.Set <CaminhoArquivo>().Add(ConverterEmpresa.converterICaminhoArquivoParaCaminhoArquivo(caminhoArquivo));
                    this.repositorio.Contexto.SaveChanges();
                    this.repositorio.Commit();
                }
                else
                {
                    this.repositorio.Rollback();
                }

                await registrosAfetados;
                _Empresa = ConverterEmpresa.converterEmpresaParaIEmpresa(empresa);
                return(_Empresa);
            }
            catch (Exception ex)
            {
                this.repositorio.Rollback();
                throw ex;
            }
        }