예제 #1
0
        public ActionResult Index(CotacaoFornecedor cotacao)
        {
            if (cotacao == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            cotacao.CotDadosCotacao.AlteradoEm      = DateTime.Now;
            cotacao.CotDadosCotacao.Condicao        = cotacao.CotDadosCotacao.Condicao ?? string.Empty;
            cotacao.CotDadosCotacao.Contato         = cotacao.CotDadosCotacao.Contato ?? string.Empty;
            cotacao.CotDadosCotacao.Observ          = cotacao.CotDadosCotacao.Observ ?? string.Empty;
            cotacao.CotDadosCotacao.PrevisaoEntrega = cotacao.CotDadosCotacao.PrevisaoEntrega ?? string.Empty;
            cotacao.CotDadosCotacao.Validade        = cotacao.CotDadosCotacao.Validade ?? string.Empty;

            TryUpdateModel(cotacao);

            if (ModelState.IsValid)
            {
                try
                {
                    serviceCotacao.GravarCotacao(cotacao);
                    ViewBag.Message = "Cotação enviada. Obrigado!";
                    return(View(cotacao));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError(string.Empty, e.Message);
                    ViewBag.Error = e.Message;
                }
            }

            return(View(cotacao));
        }
예제 #2
0
        public ActionResult GetCotacaoFornecedor(CotacaoFornecedor cotacao)
        {
            if (cotacao == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            cotacao.CotDadosCotacao.AlteradoEm      = DateTime.Now;
            cotacao.CotDadosCotacao.Condicao        = cotacao.CotDadosCotacao.Condicao ?? string.Empty;
            cotacao.CotDadosCotacao.Contato         = cotacao.CotDadosCotacao.Contato ?? string.Empty;
            cotacao.CotDadosCotacao.Observ          = cotacao.CotDadosCotacao.Observ ?? string.Empty;
            cotacao.CotDadosCotacao.PrevisaoEntrega = cotacao.CotDadosCotacao.PrevisaoEntrega ?? string.Empty;
            cotacao.CotDadosCotacao.Validade        = cotacao.CotDadosCotacao.Validade ?? string.Empty;

            TryUpdateModel(cotacao);

            if (ModelState.IsValid)
            {
                try
                {
                    // grava cotacao
                    serviceCotacao.GravarCotacao(cotacao);

                    // agenda pedido/parcela
                    int idPedido = AgendarPagamento(cotacao.RequisicaoId, cotacao.FornecedorId);

                    return(Json(new { success = true, idPedido = idPedido }, JsonRequestBehavior.AllowGet));
                }
                catch (Exception e)
                {
                    ModelState.AddModelError(string.Empty, e.Message);
                    ViewBag.Error = e.Message;
                }
            }

            return(PartialView(cotacao));
        }
예제 #3
0
        public CotacaoFornecedor GetCotacao(string guid)
        {
            var cotCom = serviceCotadoCom.Listar().Where(x => x.Guid == guid).FirstOrDefault();

            if (cotCom == null)
            {
                throw new ArgumentException("Cotação inexistente");
            }

            if (cotCom.Requisicao.Situacao == Situacao.Comprada)
            {
                throw new ArgumentException("Esta requisição já foi comprada");
            }

            var cotacaoFornecedor = new CotacaoFornecedor
            {
                RequisicaoId    = cotCom.ReqRequisicaoId,
                FornecedorId    = cotCom.FornecedorId,
                CotCotacao      = getCotacaoFornecedor(cotCom.ReqRequisicaoId, cotCom.FornecedorId),
                CotDadosCotacao = getDadosCotacao(cotCom.ReqRequisicaoId, cotCom.FornecedorId)
            };

            return(cotacaoFornecedor);
        }
예제 #4
0
        public void GravarCotacao(CotacaoFornecedor cotacao)
        {
            // grava dados da cotacao
            if (cotacao.CotDadosCotacao.Id == 0)
            {
                //var cotadoComId = cotacao.CotDadosCotacao.CotadoCom.Id;
                var cotadoComId = cotacao.CotDadosCotacao.CotCotadoComId;
                if (cotadoComId != 0)
                {
                    var dados = serviceDadosCotacao.Listar().Where(x => x.CotCotadoComId == cotadoComId).FirstOrDefault();
                    if (dados != null)
                    {
                        cotacao.CotDadosCotacao.Id = dados.Id;
                    }
                }
            }
            serviceDadosCotacao.Gravar(cotacao.CotDadosCotacao);

            // grava cotacao
            for (int i = 0; i < cotacao.CotCotacao.Count; i++)
            {
                service.Gravar(cotacao.CotCotacao[i]);
            }

            // define status como preenchida
            var cotcom = serviceCotadoCom.Listar()
                         .Where(x => x.ReqRequisicaoId == cotacao.RequisicaoId &&
                                x.FornecedorId == cotacao.FornecedorId)
                         .FirstOrDefault();

            if (cotcom != null)
            {
                cotcom.Preenchida = true;
                serviceCotadoCom.Gravar(cotcom);
            }
        }