public Video Update(UpdateVideoCommand command) { var video = _repository.GetById(command.IdVideo); video.Update(command); _repository.Update(video); //if(video.Plan.IdPlan != command.IdPlan || video.) Commit(); var videoEquipment = _repositoryVideoEquipment.GetAllByVideo(video.IdVideo); foreach (var item in videoEquipment) { decimal valueByTv = _repositoryBalance.GetValueByVideo(video.IdVideo); var history = new HistoryEquipment(command.IdVideo, item.IdEquipment, item.ControlLoan.IdCompany, video.Plan.Description, EAction.Atualização, valueByTv); history.Create(); _repositoryHistoryEquipment.Create(history); } if (Commit()) { return(video); } return(null); }
public static bool UpdateVideoScopeIsValid(this Video video, UpdateVideoCommand newVideo) { return(AssertionConcern.IsSatisfiedBy( AssertionConcern.AssertNotEmpty(newVideo.Url, "A Url é obrigatória"), AssertionConcern.AssertTrue((newVideo.DateEnd >= newVideo.DateStart), "A data de fim deve ser maior que a data de início"), AssertionConcern.AssertNotNull(newVideo.TvAdditional, "Mesmo que não tenha tv adicional deve ser informado o valor 0") )); }
public void Update(UpdateVideoCommand command) { if (!this.UpdateVideoScopeIsValid(command)) { return; } this.IdCategoryVideo = command.IdCategoryVideo; this.IdTypeVideo = command.IdTypeVideo; this.IdPlan = command.IdPlan; this.Status = command.Status; this.IdTimeVideo = command.IdTimeVideo; this.Url = command.Url; this.DateEnd = command.DateEnd; this.TvAdditional = command.TvAdditional; this.DateStart = command.DateStart; }
public Task <HttpResponseMessage> Put(int id, [FromBody] dynamic body) { var command = new UpdateVideoCommand( idVideo: id, url: (string)body.url, status: (EStatusVideo)body.status, tvAdditional: (int)body.tvAdditional, idTimeVideo: (int)body.idTimeVideo, idTypeVideo: (int)body.idTypeVideo, idCompany: (int)body.idCompany, idCategoryVideo: (int)body.idCategoryVideo, idPlan: (int)body.idPlan, dateEnd: (DateTime)body.dateEnd, dateStart: (DateTime)body.dateStart, listVideoEquipment: body.listVideoEquipment.ToObject <List <VideoEquipment> >() ); var video = _service.Update(command); return(CreateResponse(HttpStatusCode.OK, video)); }