Beispiel #1
0
        public async Task <Cotacao> UpdateCotacao(int CotacaoId, CotacaoDto model)
        {
            try
            {
                var cotacao = await _CotacaoPresist.GetAllCotacaoByIdsemProdAsync(CotacaoId);

                if (cotacao == null)
                {
                    return(null);
                }
                var dataE = model.DataEmissaoCotacao.ToString("dd/MM/yyyy");
                cotacao.DataEmissaoCotacao = dataE;
                var dataP = model.PrazoOfertas.ToString("dd/MM/yyyy");
                cotacao.PrazoOfertas = dataP;

                if (cotacao.status != 1)
                {
                    FGeralPersist.Update <Cotacao>(cotacao);
                    if (await FGeralPersist.SaveChangesAsync())
                    {
                        return(await _CotacaoPresist.GetCotacaoByIdAsync(model.Id));
                    }
                }
                return(null);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Beispiel #2
0
 public async Task <ActionResult <Unit> > UpdateOne([FromBody] CotacaoDto cotacao)
 {
     return(await Mediator.Send(new UpdateCotacaoCommand()
     {
         data = cotacao
     }));
 }
        public async Task <IActionResult> Put(int Id, [FromBody] CotacaoDto model)
        {
            try
            {
                var cotacao = await CotacaoService.UpdateCotacao(Id, model);

                if (cotacao == null)
                {
                    return(BadRequest("Não foi possível encontrar cotacao ou ja encerrada!"));
                }
                return(Ok(cotacao));
            }
            catch (Exception ex)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Erro ao tentar Atualizar cotacao. Erro: {ex.Message}"));
            }
        }
Beispiel #4
0
        public async Task <Cotacao> CreateCotacao(int SolicitacaoId, CotacaoDto model)
        {
            try
            {
                var solicitacao = await _CotacaoPresist.GetAllSolicitacaoByIdAsync(SolicitacaoId);

                Cotacao    = new Cotacao();
                Cotacao.Id = model.Id;
                var prazo = model.PrazoOfertas.ToString("dd/MM/yyyy");
                Cotacao.PrazoOfertas = prazo;
                var dataHoje  = DateTime.Today;
                var DataTirar = model.PrazoOfertas.Subtract(dataHoje);
                Cotacao.prazoDias = Convert.ToInt32(DataTirar.TotalDays);
                var dataEmissao = model.DataEmissaoCotacao.ToString("dd/MM/yyyy");
                Cotacao.DataEmissaoCotacao = dataEmissao;
                Cotacao.SolicitacaoId      = SolicitacaoId;
                Cotacao.status             = model.status;
                Cotacao.fornecedorId       = model.fornecedorId;
                Cotacao.CotadorId          = model.CotadorId;
                Cotacao.FrmPagamento       = model.FrmPagamento;
                Cotacao.Parcelas           = model.Parcelas;


                FGeralPersist.Add <Cotacao>(Cotacao);

                if (await FGeralPersist.SaveChangesAsync())
                {
                    await AddCotacaoProduto(Cotacao.Id, SolicitacaoId);

                    solicitacao.StatusAprovacao = 3;

                    FGeralPersist.Update <Solicitacao>(solicitacao);
                    await FGeralPersist.SaveChangesAsync();

                    return(await _CotacaoPresist.GetCotacaoByIdAsync(Cotacao.Id));
                }
                return(null);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
        public async Task <IActionResult> Post(int SolicitcaoId, [FromBody] CotacaoDto model)
        {
            try
            {
                var cotacao = await CotacaoService.CreateCotacao(SolicitcaoId, model);

                if (cotacao == null)
                {
                    return(BadRequest("Erro ao tentar Adicionar a cotacao."));
                }
                var email = await CotacaoService.EnviarEmail(model.fornecedorId);

                return(Ok(cotacao));
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.InnerException?.Message);
                return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Erro ao tentar adicionar Cotacao. Erro: {ex.Message}"));
            }
        }
        private void SetupMocks()
        {
            var listaCotacao = new List <CotacaoDto>();

            //_service.Setup(x => x.SalvarCotacao<SalvarCotacaoResponse>(It.IsAny<CotacaoDto>()))
            //           .Callback((CotacaoDto cotacao) =>
            //           {
            //               listaCotacao.Add(cotacao);
            //           });

            //.Returns((Domain.AggregatesModel.CotacaoAggregate.Cotacao cotacao) =>
            //{
            //    listaCotacao.Add(cotacao);
            //    return new Task ;
            //});

            _mapper.Setup(x => x.Map <CotacaoDto>(It.IsAny <SalvarCotacaoCommand>()))
            .Returns((SalvarCotacaoCommand request) =>
            {
                var cotacao = new CotacaoDto
                {
                    _id = request._id
                };

                //if (request.Segurado != null)
                //{
                //    cotacao.Segurado = new Liberty.Faturaveis.UI.Infrastructure.Services.Cotacao.Dto.Segurado
                //    {
                //        CodigoCnae = request.Segurado.CodigoCnae,
                //        CodigoOcupacao = request.Segurado.CodigoOcupacao,
                //        DescricaoCnae = request.Segurado.DescricaoCnae,
                //        DescricaoOcupacao = request.Segurado.DescricaoOcupacao,
                //        Nome = request.Segurado.Nome,
                //        NumeroCpfCnpj = request.Segurado.NumeroCpfCnpj,
                //        TipoPessoa = request.Segurado.TipoPessoa
                //    };
                //}

                return(cotacao);
            });
        }