public ControlLoan Update(UpdateControlLoanCommand command) { var controlLoan = _repository.GetById(command.IdControlLoan); controlLoan.Update(command, controlLoan.StatusControlLoan); _repository.Update(controlLoan); if (Commit()) { return(controlLoan); } return(null); }
public void Update(UpdateControlLoanCommand command, EStatusControlLoan status) { if (!this.UpdateControlLoantScopesIsValid(command, status)) { return; } this.DateLocation = command.DateLocation; this.DateEndLocation = command.DateEndLocation; this.Note = command.Note; this.IdCompany = command.IdCompany; this.IdEquipment = command.IdEquipment; this.StatusControlLoan = command.StatusControlLoan; }
public Task <HttpResponseMessage> Put([FromBody] dynamic body, int id) { var command = new UpdateControlLoanCommand( idControlLoan: id, dateLocation: (DateTime)body.dateLocation, dateEndLocation: (DateTime)body.dateEndLocation, note: (string)body.note, statusControlLoan: (EStatusControlLoan)body.statusControlLoan, idCompany: (int)body.idCompany, idEquipment: (int)body.idEquipment ); var loan = _service.Update(command); return(CreateResponse(HttpStatusCode.Created, loan)); }
public static bool UpdateControlLoantScopesIsValid(this ControlLoan controlLoan, UpdateControlLoanCommand command, EStatusControlLoan status) { return(AssertionConcern.IsSatisfiedBy( AssertionConcern.AssertNotNull(controlLoan.DateLocation, "A Data de empréstimo é obrigatório"), AssertionConcern.AssertNotNull(controlLoan.DateLocation, "A Data de fim do empréstimo é obrigatório"), AssertionConcern.AssertTrue(!(controlLoan.DateLocation > command.DateEndLocation), "A data de fim do empréstimo deve ser maior que a data de início"), AssertionConcern.AssertTrue(status.Equals(EStatusControlLoan.Vigente), "É permitido editar apenas empréstimos vigentes") )); }