Пример #1
0
        public async Task <IRespostaDeCadastroDeComponente> CadastraComponente(ISolicitacaoDeCadastroDeComponente solicitacao)
        {
            await unitOfWork.BeginTransaction();

            try
            {
                Componente componentePai;

                if (solicitacao.ComponentePaiId.HasValue)
                {
                    componentePai = await repositorioDeComponentes.ObtemComponente(solicitacao.ComponentePaiId.Value);
                }
                else
                {
                    componentePai = null;
                }

                var unidadeDeMedida = await repositorioDeUnidadesDeMedidas.ObtemUnidadeDeMedida(solicitacao.UnidadePadraoSigla);

                var componente = new Componente(
                    solicitacao.Id,
                    solicitacao.Nome,
                    componentePai,
                    unidadeDeMedida
                    );

                //

                await repositorioDeComponentes.Add(componente);

                //

                await unitOfWork.Commit();

                //

                return(new RespostaDeCadastroDeComponente
                {
                    Id = solicitacao.Id,
                });
            }
            catch (Exception e)
            {
                await unitOfWork.Rollback();

                throw;
            }
        }
Пример #2
0
        public async Task <IRespostaDeCadastroDeComponente> CadastraComponente(ISolicitacaoDeCadastroDeComponente solicitacao)
        {
            HttpResponseMessage response = await client.PostAsJsonAsync("cadastro/materiais/componentes/", solicitacao);

            //response.EnsureSuccessStatusCode();

            //return response.Headers.Location;

            IRespostaDeCadastroDeComponente resposta = null;

            if (response.IsSuccessStatusCode)
            {
                resposta = await response.Content.ReadAsAsync <IRespostaDeCadastroDeComponente>();
            }

            return(resposta);
        }
Пример #3
0
        public async Task <IRespostaDeCadastroDeComponente> Put(int componenteId, ISolicitacaoDeCadastroDeComponente solicitacao)
        {
            var resposta = await cadastroDeComponentes.AtualizaComponente(componenteId, solicitacao);

            return(resposta);
        }
Пример #4
0
        public async Task <IRespostaDeCadastroDeComponente> Post(ISolicitacaoDeCadastroDeComponente solicitacao)
        {
            var resposta = await cadastroDeComponentes.CadastraComponente(solicitacao);

            return(resposta);
        }
Пример #5
0
        public async Task <IRespostaDeCadastroDeComponente> AtualizaComponente(int componenteId, ISolicitacaoDeCadastroDeComponente solicitacao)
        {
            await unitOfWork.BeginTransaction();

            try
            {
                var componente = await repositorioDeComponentes.ObtemComponente(componenteId);

                //

                Componente componentePai;

                if (solicitacao.ComponentePaiId.HasValue)
                {
                    componentePai = await repositorioDeComponentes.ObtemComponente(solicitacao.ComponentePaiId.Value);
                }
                else
                {
                    componentePai = null;
                }

                var unidadeDeMedida = await repositorioDeUnidadesDeMedidas.ObtemUnidadeDeMedida(solicitacao.UnidadePadraoSigla);

                //

                componente.Id = solicitacao.Id;

                componente.Nome = solicitacao.Nome;

                componente.ComponentePai = componentePai;

                componente.UnidadePadrao = unidadeDeMedida;

                //

                await repositorioDeComponentes.Update(componente);

                //

                await unitOfWork.Commit();

                //

                return(new RespostaDeCadastroDeComponente
                {
                    Id = componenteId,
                });
            }
            catch (Exception e)
            {
                await unitOfWork.Rollback();

                throw;
            }
        }