public HttpResponseMessage GetByIdAndUnidade(int id, int unidadeId) { try { var faturamento = _faturamentoAplicacao.PrimeiroPor(x => x.IdSoftpark.HasValue && x.IdSoftpark.Value == id && x.Unidade != null && x.Unidade.Id == unidadeId); if (faturamento == null) { JsonResult.Message = "Faturamento Não Existe"; return(Request.CreateResponse(HttpStatusCode.NotFound, JsonResult)); } var faturamentoViewModel = new FaturamentoViewModel(faturamento); JsonResult.Status = true; JsonResult.Object = faturamentoViewModel; return(Request.CreateResponse(HttpStatusCode.OK, JsonResult)); } catch (Exception ex) { JsonResult.Status = false; JsonResult.Message = ex.Message; return(Request.CreateResponse(HttpStatusCode.BadRequest, JsonResult)); } }
public FaturamentoViewModel Faturar(FaturamentoViewModel faturamento) { var pedido = _pedidoService.ObterPorId(faturamento.PedidoId); faturamento.Parcelas.ToList().ForEach(p => p.FaturamentoId = faturamento.FaturamentoId); var faturamentoRetorno = _faturamentoService.Faturar(Mapper.Map <Faturamento>(faturamento)); var valorTotalFaturamento = 0M; var faturamentosPedido = _faturamentoService.ObterTodos(faturamento.PedidoId); foreach (var item in faturamentosPedido) { valorTotalFaturamento += item.Valor; } valorTotalFaturamento += faturamento.Valor; if (valorTotalFaturamento < pedido.ValorTotal) { var statusId = _statusPedidoService.ObterPorDescricao("Parcialmente Faturado") .FirstOrDefault().StatusPedidoId; _pedidoService.AlterarStatus(statusId, faturamento.PedidoId); } else { var statusId = _statusPedidoService.ObterPorDescricao("Faturado") .FirstOrDefault().StatusPedidoId; _pedidoService.AlterarStatus(statusId, faturamento.PedidoId); } Commit(); return(Mapper.Map <FaturamentoViewModel>(faturamentoRetorno)); }
public HttpResponseMessage Billings([FromBody] FaturamentoViewModel faturamentoViewModel) { try { if (!ModelState.IsValid) { JsonResult.Message = String.Join(" ", ModelState.Values.SelectMany(value => value.Errors).Select(x => x.ErrorMessage)); if (string.IsNullOrEmpty(JsonResult.Message)) { JsonResult.Message = String.Join(" ", ModelState.Values.SelectMany(value => value.Errors).Select(x => x.Exception.Message)); } return(Request.CreateResponse(HttpStatusCode.PreconditionFailed, JsonResult)); } var unidade = _unidadeAplicacao.BuscarPorId(faturamentoViewModel.Estacionamento.Id); var usuario = _usuarioServico.BuscarPorId(faturamentoViewModel.Operador.Id); if (usuario == null) { JsonResult.Message = "Usuário Não Existe"; return(Request.CreateResponse(HttpStatusCode.NotFound, JsonResult)); } var mensagemDeErro = Validar(faturamentoViewModel.Id, unidade); if (mensagemDeErro != null) { return(mensagemDeErro); } var faturamento = faturamentoViewModel.ToEntity(); faturamento.Unidade = unidade; faturamento.Usuario = usuario; var faturamentoExistenteComIdSoftpark = faturamento.IdSoftpark.HasValue ? _faturamentoAplicacao .PrimeiroPor(x => x.IdSoftpark.HasValue && x.IdSoftpark.Value == faturamento.IdSoftpark.Value && x.Unidade != null && faturamento.Unidade != null && x.Unidade.Id == faturamento.Unidade.Id) : null; if (faturamentoExistenteComIdSoftpark != null) { faturamento.Id = faturamentoExistenteComIdSoftpark.Id; } _faturamentoAplicacao.Salvar(faturamento); JsonResult.Status = true; JsonResult.Object = faturamento; return(Request.CreateResponse(HttpStatusCode.Created, JsonResult.Message = "Faturamento Cadastrado!")); } catch (Exception ex) { JsonResult.Status = false; JsonResult.Message = ex.Message; return(Request.CreateResponse(HttpStatusCode.BadRequest, JsonResult.Message)); } }
public ActionResult Faturar(string faturamento) { FaturamentoViewModel faturamentoViewModel = _entitySerializationServicesFaturamento.Deserialize(faturamento); var _faturamentoRetorno = _faturamentoAppService.Faturar(faturamentoViewModel); TempData["Faturado"] = "Pedido Faturado com sucesso!"; return(Json(_faturamentoRetorno.ValidationResult, JsonRequestBehavior.AllowGet)); }
public FaturamentoViewModel Atualizar(FaturamentoViewModel faturamento) { var faturamentoRetorno = Mapper.Map <FaturamentoViewModel> (_faturamentoService.Atualizar(Mapper.Map <Faturamento>(faturamento))); if (faturamentoRetorno.EhValido()) { Commit(); } return(faturamentoRetorno); }