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);
        }
Esempio n. 2
0
 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")
                ));
 }
Esempio n. 3
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));
        }