コード例 #1
0
        public async Task <ISingleResult <Airplane> > Execute(Airplane entity)
        {
            try
            {
                var isValid = ValidarEntidade(entity);
                if (!isValid.Sucesso)
                {
                    return(isValid);
                }

                var validacao = await _airplaneValidarIncluir.Execute(entity);

                if (!validacao.Sucesso)
                {
                    return(validacao);
                }
                entity.DataRegistro = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow,
                                                                      TimeZoneInfo.FindSystemTimeZoneById("E. South America Standard Time"));
                await _repository.Add(entity);

                var sucesso = await Commit();
            }
            catch (Exception)
            {
                return(new SingleResult <Airplane>(MensagensNegocio.MSG07));
            }

            return(new IncluirResult <Airplane>(entity));
        }
コード例 #2
0
        public async Task <IActionResult> Add(AirplaneForAddDto airplaneForAdd)
        {
            if (!int.TryParse(User.FindFirst(ClaimTypes.NameIdentifier)?.Value ?? string.Empty, out var userId))
            {
                return(Unauthorized());
            }

            var privilages = new List <int>()
            {
                (int)UserPrivileges.Administrator, (int)UserPrivileges.Employee
            };

            int.TryParse(User.FindFirst(ClaimTypes.Role)?.Value, out var privilagesId);

            if (!privilages.Contains(privilagesId))
            {
                return(StatusCode((int)HttpStatusCode.Unauthorized));
            }

            var airplane = _mapper.Map <Airplane>(airplaneForAdd);

            var result = await _airplaneRepository.Add(airplane);

            return(result ? Ok() : StatusCode((int)HttpStatusCode.InternalServerError));
        }
コード例 #3
0
        public async Task Add(Airplane entity)
        {
            if (!ExecuteValidation(new AirplaneValidation(), entity))
            {
                return;
            }

            await _repository.Add(entity);
        }
コード例 #4
0
 public void Persist(Airplane airplane)
 {
     if (!airplane.IsValidAirplane())
     {
         throw new AirplaneValidationException();
     }
     _airplaneRepository.Add(airplane);
     _airplaneRepository.Save();
 }
コード例 #5
0
 public async Task <IActionResult> Create([Bind("Name,SerialNumber,Model")] CreateAirplaneViewModel airplane)
 {
     if (ModelState.IsValid)
     {
         var newAirplane = Airplane.Create(Guid.NewGuid(), airplane.Name, airplane.SerialNumber, airplane.Model,
                                           User.Identity.Name);
         _airplaneRepository.Add(newAirplane);
         return(RedirectToAction(nameof(Index)));
     }
     return(View(airplane));
 }
コード例 #6
0
 public ActionResult Post([FromBody] Airplane airplane)
 {
     try
     {
         _airplane.Add(airplane);
         return(Accepted());
     }
     catch (Exception ex)
     {
         return(Conflict(ex.Message));
     }
 }
コード例 #7
0
        public void Adicionar(AirplaneModel airplaneModel)
        {
            var airplane = new AirplaneModel(airplaneModel.Modelo, airplaneModel.QtdPassageiros);

            if (!ValidarAirPlane(airplane))
            {
                return;
            }

            _airplaneRepo.Add(airplane);

            Commit();
        }
コード例 #8
0
        public Task <Unit> Handle(NewAirplaneCommand command)
        {
            if (!command.IsValid())
            {
                command.ValidationResult.Errors.ToList().ForEach(error => _domainNotificationHandler.Handle(new DomainNotification(command.GetType().ToString(), error.ErrorMessage)));
                return(Unit.Task);
            }

            Airplane airplane = new Airplane(command.Airplane.CodigoAviao, command.Airplane.Modelo, command.Airplane.QtdPassageiros);

            command.Airplane.id = _airplaneRepository.Add(airplane);
            //_publisher.RaiseEvent(new NewAirplaneEvent(airplane));

            return(Unit.Task);
        }
コード例 #9
0
        public void Handle(AddAirplaneCommand message)
        {
            if (!message.IsValid())
            {
                NotifyValidationErrors(message);
                return;
            }

            var airplane = new Entities.Airplane(message.Code, message.Model, message.NumberOfPassengers);

            if (_airplaneRepository.Find(a => a.Code == message.Code).Any())
            {
                _bus.RaiseEvent(new DomainNotification(message.MessageType, "Código já cadastrado"));
                return;
            }

            _airplaneRepository.Add(airplane);

            Commit();
        }
コード例 #10
0
        public void Handle(AirplaneCreateCommand message)
        {
            Airplane airplane = message.Airplane;

            if (!AirplaneValid(airplane))
            {
                return;
            }

            // Validação de negocio
            // Nome Igual X

            // Persistencia
            airplane.SetDateInsert();
            _airplaneRepository.Add(airplane);

            if (Commit())
            {
                // _bus.RaiseEvent(new AirplaneCreateEvent(message.Airplane));
            }
        }
コード例 #11
0
 public void Add(Airplane airplane)
 {
     _repository.Add(airplane);
 }
コード例 #12
0
        Task INotificationHandler <NewAirplaneEvent> .Handle(NewAirplaneEvent newAirplaneEvent, CancellationToken cancellationToken)
        {
            _airplaneRepository.Add(newAirplaneEvent.Airplane);

            return(Unit.Task);
        }