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);
        }
コード例 #2
0
        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;
        }
コード例 #3
0
        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));
        }
コード例 #4
0
 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")
                ));
 }