public ActionResult Logistica(Logistica logistica, int idRequisicao) { var requisicao = service.Find(idRequisicao); ViewBag.Departamento = requisicao.Departamento.Descricao; ViewBag.EntregarDia = requisicao.EntregarDia.ToShortDateString(); ViewBag.SolicitadoPor = requisicao.SolicitadoPor.Nome; ViewBag.Situacao = requisicao.Situacao.ToString(); ViewBag.Id = requisicao.Id; try { if (ModelState.IsValid) { serviceRequisicao.SendToLogistica(logistica, idRequisicao); return(RedirectToAction("Index")); } return(View(logistica)); } catch (Exception e) { ModelState.AddModelError(string.Empty, e.Message); return(View(logistica)); } }
public void Comprar(ReqComprar item) { try { if (item.PrevisaoEntrega < DateTime.Today.Date) { throw new ArgumentException("Previsão de entrega inválida"); } if (item.Parcela.Count() == 0) { throw new ArgumentException("Informe ao menos uma parcela para pagamento"); } // grava pedido item.Requisicao.PedidoId = gravarPedido(item); // grava parcelas item = gravarParcelas(item); // atualiza situacao da requisicao item.Requisicao.Situacao = Situacao.Comprada; serviceRequisicao.Gravar(item.Requisicao); // agenda logistica if (item.AgendarLogistica == true) { serviceRequisicaoLogistica.SendToLogistica(new Logistica { ConcluidoObserv = string.Empty, DataServico = item.Requisicao.EntregarDia, EmpresaId = item.Requisicao.Departamento.IdEmpresa, Observ = string.Empty, MotoristaId = 0, UsuarioId = item.Requisicao.IdSolicitadoPor, Servico = serviceRequisicaoLogistica.GetStringServico(item.Requisicao, item.FornecedorId) }, item.Requisicao.Id); } // envia ordem de compra ao fornecedor if (item.EnviarOrdemCompra == true) { EnviarOrdemCompra(item); } } catch (Exception e) { throw new ArgumentException(e.Message); } }