public async override Task <TipoServicoAbstract> Alterar(ITipoServicoDominio tipoServicoDominio)
        {
            this.TipoServicoDominio = tipoServicoDominio;
            this.Repositorio.createTransacao();
            TipoServicoDominio tipoServico = consultarPorId(tipoServicoDominio.Id);

            if (tipoServico != null)
            {
                tipoServico.Nome      = tipoServicoDominio.Nome;
                tipoServico.Status    = tipoServicoDominio.Status;
                tipoServico.Descricao = tipoServicoDominio.Descricao;

                this.Repositorio.Atualizar(tipoServico);
                Task <int> registrosAfetados = this.Repositorio.SalvarAsync();

                if (registrosAfetados.Result > 0)
                {
                    this.Repositorio.Commit();
                }
                else
                {
                    this.Repositorio.Rollback();
                }

                await registrosAfetados;
                this.TipoServicoDominio = ConverterTipoServico.converterTipoServicoDominioParaITipoServicoDominio(tipoServico);
            }


            return(this);
        }
        public async override Task <TipoServicoAbstract> Incluir(ITipoServicoDominio tipoServicoDominio)
        {
            TipoServicoDominio _tipoServicoDominio = ConverterTipoServico.converterITipoServicoDominioParaTipoServicoDominio(tipoServicoDominio);

            this.Repositorio.createTransacao();
            try
            {
                this.Repositorio.Adicionar(_tipoServicoDominio);
                Task <int> registrosAfetados = this.Repositorio.SalvarAsync();

                if (registrosAfetados.Result > 0)
                {
                    this.Repositorio.Commit();
                }
                else
                {
                    this.Repositorio.Rollback();
                }

                await registrosAfetados;

                TipoServicoDominio = ConverterTipoServico.converterTipoServicoDominioParaITipoServicoDominio(_tipoServicoDominio);
            }
            catch (Exception ex)
            {
                this.Repositorio.Rollback();
                throw ex;
            }
            return(this);
        }
        public override ITipoServicoDominio Get(int Id)
        {
            TipoServicoDominio tipoServico = consultarPorId(Id);

            var ITipoServico = ConverterTipoServico.converterTipoServicoDominioParaITipoServicoDominio(tipoServico);

            return(ITipoServico);
        }
        private static ITipoServicoDominio getITipoServicoDominio(TipoServicoDominio tipoServicoDominio)
        {
            ITipoServicoDominio _tipoServicoDominio = null;

            if (tipoServicoDominio != null)
            {
                _tipoServicoDominio = TipoServicoDominio.Create();
                _tipoServicoDominio.caminhoDaImage = tipoServicoDominio.caminhoDaImage;
                _tipoServicoDominio.Descricao      = tipoServicoDominio.Descricao;
                _tipoServicoDominio.Id             = tipoServicoDominio.Id;
                _tipoServicoDominio.Nome           = tipoServicoDominio.Nome;
                _tipoServicoDominio.Status         = tipoServicoDominio.Status;
            }

            return(_tipoServicoDominio);
        }
        internal static TipoServicoDominio converterITipoServicoDominioParaTipoServicoDominio(ITipoServicoDominio tipoServicoDominio)
        {
            TipoServicoDominio _tipoServicoDominio = null;

            if (tipoServicoDominio != null)
            {
                _tipoServicoDominio = TipoServicoDominio.Create();
                _tipoServicoDominio.caminhoDaImage = tipoServicoDominio.caminhoDaImage;
                _tipoServicoDominio.Descricao      = tipoServicoDominio.Descricao;
                _tipoServicoDominio.Id             = tipoServicoDominio.Id;
                _tipoServicoDominio.Nome           = tipoServicoDominio.Nome;
                _tipoServicoDominio.Status         = tipoServicoDominio.Status;
            }

            return(_tipoServicoDominio);
        }