Exemplo n.º 1
0
        public async Task <IRespostaDeCadastroDeMaterial> CadastraMaterial(ISolicitacaoDeCadastroDeMaterial solicitacao)
        {
            HttpResponseMessage response = await client.PostAsJsonAsync("cadastro/materiais/", solicitacao);

            //response.EnsureSuccessStatusCode();

            //return response.Headers.Location;

            IRespostaDeCadastroDeMaterial resposta = null;

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

            return(resposta);
        }
Exemplo n.º 2
0
        public async Task <IRespostaDeCadastroDeMaterial> CadastraMaterial(ISolicitacaoDeCadastroDeMaterial solicitacao)
        {
            await unitOfWork.BeginTransaction();

            try
            {
                var fabricante = await repositorioDeFabricantes.ObtemFabricante(solicitacao.FabricanteId);

                var componente = await repositorioDeComponentes.ObtemComponente(solicitacao.ComponenteId);

                var material = new Material(
                    solicitacao.Id,
                    solicitacao.Nome,
                    solicitacao.Descricao,
                    solicitacao.CustoPadrao,
                    fabricante,
                    componente
                    );

                //

                await repositorioDeMateriais.Add(material);

                //

                await unitOfWork.Commit();

                //

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

                throw;
            }
        }
Exemplo n.º 3
0
        public async Task <IRespostaDeCadastroDeMaterial> AtualizaMaterial(int materialId, ISolicitacaoDeCadastroDeMaterial solicitacao)
        {
            await unitOfWork.BeginTransaction();

            try
            {
                var material = await repositorioDeMateriais.ObtemMaterial(materialId);

                //

                var fabricante = await repositorioDeFabricantes.ObtemFabricante(solicitacao.FabricanteId);

                var componente = await repositorioDeComponentes.ObtemComponente(solicitacao.ComponenteId);

                //

                material.Id = solicitacao.Id;

                material.Nome = solicitacao.Nome;

                material.Fabricante = fabricante;

                material.Componente = componente;

                //

                await repositorioDeMateriais.Update(material);

                //

                await unitOfWork.Commit();

                //

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

                throw;
            }
        }