public Video Create(CreateVideoCommand command)
        {
            var video = new Video(command.Url, command.TvAdditional, command.IdTypeVideo, command.IdTimeVideo, command.IdCompany, command.IdCategoryVideo, command.IdPlan, command.DateEnd, command.DateStart, command.ListVideoEquipment);

            //Marca todos itens da lista ListVideoEquipment com status Ativo
            foreach (var videoEquipment in command.ListVideoEquipment)
            {
                videoEquipment.Status       = EStatusVideoEquipment.Ativo;
                videoEquipment.DateRegister = DateTime.Now;
            }

            video.Create();
            _repository.Create(video);

            Commit();

            foreach (var videoEquipment in command.ListVideoEquipment)
            {
                var     item      = _repositoryVideoEquipment.GetById(videoEquipment.IdVideoEquipment);
                decimal valueByTv = _repositoryBalance.GetValueByVideo(item.IdVideo);
                var     history   = new HistoryEquipment(item.IdVideo, item.IdEquipment, item.ControlLoan.IdCompany, item.Video.Plan.Description, EAction.Inclusão, valueByTv);
                history.Create();
                _repositoryHistoryEquipment.Create(history);
            }



            if (Commit())
            {
                return(video);
            }

            return(null);
        }
        public VideoEquipment Create(CreateVideoEquipmentCommand command)
        {
            //Insere dados na tabela de histórico
            var     loan      = _repositoryLoan.GetById(command.IdControlLoan);
            decimal valueByTv = _repositoryBalance.GetValueByVideo(command.IdVideo);
            var     video     = _repositoryVideo.GetById(command.IdVideo);
            var     history   = new HistoryEquipment(command.IdVideo, command.IdEquipment, loan.IdCompany, video.Plan.Description, EAction.Inclusão, valueByTv);

            history.Create();
            _repositoryHistoryEquipment.Create(history);


            //Caso já exista os mesmos dados na tabela VideoEquipment, o registro é apenas atualizado com status ativo
            VideoEquipment videoEquipment = null;

            videoEquipment = _repository.GetById(command.IdEquipment, command.IdVideo, command.IdControlLoan);

            if (videoEquipment != null)
            {
                videoEquipment.Status = EStatusVideoEquipment.Ativo;
            }
            else
            {
                videoEquipment = new VideoEquipment(command.IdVideo, command.IdEquipment, command.IdControlLoan);
                videoEquipment.Create(videoEquipment);
                _repository.Create(videoEquipment);
            }

            if (Commit())
            {
                return(videoEquipment);
            }

            return(null);
        }
コード例 #3
0
        public HistoryEquipment Create(CreateHistoryEquipmentCommand command)
        {
            var history = new HistoryEquipment(command.IdVideo, command.IdEquipment, command.IdCompany, command.Plan, command.Action, command.Value);

            history.Create();
            _repository.Create(history);

            if (Commit())
            {
                return(history);
            }

            return(null);
        }