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); } }
// GET: Erp/Requisicao/Logistica/5 public ActionResult Logistica(int id) { var requisicao = service.Find(id); if (requisicao == null) { return(HttpNotFound()); } Logistica logistica; if (requisicao.LogisticaId == null) { logistica = new Domain.Models.Cap.Logistica { AlteradoEm = DateTime.Now, DataServico = requisicao.EntregarDia < DateTime.Today.Date ? DateTime.Today.Date : requisicao.EntregarDia, EmpresaId = requisicao.Departamento.IdEmpresa, Observ = $"Requisição # { requisicao.Id}", Id = 0, Servico = serviceRequisicao.GetStringServico(requisicao, null), UsuarioId = login.GetIdUsuario(System.Web.HttpContext.Current.User.Identity.Name) }; } else { logistica = requisicao.Logistica; } ViewBag.Departamento = requisicao.Departamento.Descricao; ViewBag.EntregarDia = requisicao.EntregarDia.ToShortDateString(); ViewBag.SolicitadoPor = requisicao.SolicitadoPor.Nome; ViewBag.Situacao = requisicao.Situacao.ToString(); ViewBag.Id = requisicao.Id; return(View(logistica)); }