public Solicitacao RealizarEntrega(Solicitacao solicitacao, Cliente responsavel, bool aceita, string observacoes, Programa programa) { if (solicitacao.Situacao == SituacaoDaSolicitacao.Entregue) { if (responsavel == null) { solicitacao.RegraQuebrada(RegrasDeNegocioSolicitacao.SomenteClientePodeAceitarEntrega); } var entrega = new EntregaDaSolicitacao { Aceita = aceita, DataDoAceite = SystemTime.Now, Observacoes = observacoes, Responsavel = responsavel, Programa = programa }; solicitacao.Entrega = entrega; solicitacao.Situacao = entrega.Aceita ? SituacaoDaSolicitacao.Finalizado : SituacaoDaSolicitacao.Cancelado; return(solicitacao); } solicitacao.RegraQuebrada(RegrasDeNegocioSolicitacao.DeveEstarComSituacaoEntrege); return(solicitacao); }
public Solicitacao RealizarEntrega(Solicitacao solicitacao, Cliente responsavel, bool aceita, string observacoes, Programa programa) { if (solicitacao.Situacao == SituacaoDaSolicitacao.Entregue) { if (responsavel == null) solicitacao.RegraQuebrada(RegrasDeNegocioSolicitacao.SomenteClientePodeAceitarEntrega); var entrega = new EntregaDaSolicitacao { Aceita = aceita, DataDoAceite = SystemTime.Now, Observacoes = observacoes, Responsavel = responsavel, Programa = programa }; solicitacao.Entrega = entrega; solicitacao.Situacao = entrega.Aceita ? SituacaoDaSolicitacao.Finalizado : SituacaoDaSolicitacao.Cancelado; return solicitacao; } solicitacao.RegraQuebrada(RegrasDeNegocioSolicitacao.DeveEstarComSituacaoEntrege); return solicitacao; }