public async Task CriarAsync(EquipamentoDto dto)
        {
            var serialDuplicado = await _equipamentoRepository.ObterAsync(dto.Serial);

            if (serialDuplicado != null)
            {
                AddNotification("CadastrarEquipamento", MensagemValidacao.Equipamento.SerialJaExiste);
                return;
            }

            decimal?peso        = dto.Peso == null ? (decimal?)null : Convert.ToDecimal(dto.Peso.Replace('.', ','));
            decimal?comprimento = dto.Comprimento == null ? (decimal?)null : Convert.ToDecimal(dto.Comprimento.Replace('.', ','));
            decimal?largura     = dto.Largura == null ? (decimal?)null : Convert.ToDecimal(dto.Largura.Replace('.', ','));
            decimal?altura      = dto.Altura == null ? (decimal?)null : Convert.ToDecimal(dto.Altura.Replace('.', ','));

            var equipamento = new Equipamento(dto.Serial, dto.Nome, dto.Modelo, peso, dto.Cor, comprimento, largura, altura, dto.Marca);

            try
            {
                await _equipamentoRepository.CriarAsync(equipamento);
            }
            catch (Exception ex)
            {
                AddNotification("CadastrarEquipamento", MensagemValidacao.ContacteSuporte);
                return;
            }
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Put(int EquipamentoId, EquipamentoDto model)
        {
            try
            {
                var equipamento = await _repo.GetAllEquipamentoAsyncById(EquipamentoId);

                if (equipamento == null)
                {
                    return(NotFound());
                }

                _mapper.Map(model, equipamento);

                _repo.Update(equipamento);

                if (await _repo.SaveChangesAsync())
                {
                    return(Created($"/api/equipamento/{model.Id}", _mapper.Map <EquipamentoDto>(equipamento)));
                }
            }
            catch (System.Exception ex)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError,
                                       $"Banco de dados falhou: {ex.Message}"));
            }

            return(BadRequest());
        }
        public async Task EditarAsync(EquipamentoDto dto)
        {
            if (dto.Id == null)
            {
                AddNotification("EditarAgendamento", MensagemValidacao.CampoInvalido);
                return;
            }

            var equipamentoEditar = await _equipamentoRepository.ObterAsync(dto.Id.Value);

            if (equipamentoEditar == null)
            {
                AddNotification("EditarEquipamento", MensagemValidacao.Equipamento.NaoExiste);
                return;
            }

            var serialDuplicado = await _equipamentoRepository.ObterAsync(dto.Serial);

            if (serialDuplicado != null && serialDuplicado.Id != equipamentoEditar.Id)
            {
                AddNotification("CadastrarEquipamento", MensagemValidacao.Equipamento.SerialJaExiste);
                return;
            }

            decimal?peso        = dto.Peso == null ? (decimal?)null : Convert.ToDecimal(dto.Peso.Replace('.', ','));
            decimal?comprimento = dto.Comprimento == null ? (decimal?)null : Convert.ToDecimal(dto.Comprimento.Replace('.', ','));
            decimal?largura     = dto.Largura == null ? (decimal?)null : Convert.ToDecimal(dto.Largura.Replace('.', ','));
            decimal?altura      = dto.Altura == null ? (decimal?)null : Convert.ToDecimal(dto.Altura.Replace('.', ','));

            equipamentoEditar.Editar(dto.Serial, dto.Nome, dto.Modelo, peso, dto.Cor, comprimento, largura, altura, dto.Marca);

            await _equipamentoRepository.EditarAsync(equipamentoEditar);
        }
        public virtual void Validar(Guid siteId, String id, EquipamentoDto equipamentoDto)
        {
            if (ValidadorDeCriacao)
            {
                if (equipamentoDto.Id != Guid.Empty)
                    throw new FormatoInvalido("O identificador do equipamento não pode ser informado neste contexto.");
            }
            else
            {
                if (equipamentoDto.Id == Guid.Empty)
                    throw new FormatoInvalido("O identificador do equipamento deve ser informado.");
            }

            if (!equipamentoDto.Tipo.TipoDeEquipamentoValido())
                throw new FormatoInvalido("O tipo do equipamento não é válido.");

            if (String.IsNullOrWhiteSpace(equipamentoDto.ClienteId))
                throw new FormatoInvalido("O cliente do equipamento deve ser informado.");

            if (!equipamentoDto.ClienteId.GuidValido())
                throw new FormatoInvalido("O identificador do cliente do equipamento não é válido.");

            if (_repositorioClientes.BuscarPorId(siteId, equipamentoDto.ClienteId.ParaGuid()) == null)
                throw new FormatoInvalido("O cliente do equipamento não foi encontrado.");
        }
        public override void Validar(Guid siteId, EquipamentoDto equipamentoDto)
        {
            base.Validar(siteId, equipamentoDto);

            var equipamentoEspecifico = equipamentoDto as SistemaContraIncendioEmCoifaDto;

            if (equipamentoEspecifico == null)
                throw new Exception("Não é possível validar o equipamento (problema de conversão).");
       }
        public Equipamento Criar(Guid siteId, EquipamentoDto equipamentoDto)
        {
            _fabricaValidadorEquipamento
                .CriarValidadorCriacao(equipamentoDto)
                .Validar(siteId, equipamentoDto);

            var equipamento = _fabricaEquipamento.Criar(siteId, Guid.NewGuid(), equipamentoDto);
            _repositorioEquipamentos.Inserir(equipamento);
            return equipamento;
        }
        public void Modificar(Guid siteId, string id, EquipamentoDto equipamentoDto)
        {
            equipamentoDto.Id = id.GuidValido() ? id.ParaGuid() : Guid.Empty;

            _fabricaValidadorEquipamento
                .CriarValidadorModificacao(equipamentoDto)
                .Validar(siteId, equipamentoDto);

            var equipamento = _fabricaEquipamento.Criar(siteId, equipamentoDto.Id, equipamentoDto);
            _repositorioEquipamentos.Editar(equipamento);
        }
        public override void Validar(Guid siteId, EquipamentoDto equipamentoDto)
        {
            base.Validar(siteId, equipamentoDto);

            var equipamentoEspecifico = equipamentoDto as CentralAlarmeDto;

            if (equipamentoEspecifico == null)
                throw new Exception("Não é possível validar o equipamento (problema de conversão).");

            if (!equipamentoEspecifico.TipoCentralAlarme.TipoCentralAlarmeValido())
                throw new FormatoInvalido("O tipo da central de alarme não é válido.");
        }
        public virtual IValidadorEquipamento CriarValidadorModificacao(EquipamentoDto equipamentoDto)
        {
            switch (equipamentoDto.Tipo)
            {
                case (int)TipoEquipamento.Extintor:
                    return _buscadorDeInstancias.Buscar<ValidadorModificacaoExtintor>();
                case (int)TipoEquipamento.Mangueira:
                    return _buscadorDeInstancias.Buscar<ValidadorModificacaoMangueira>();
                case (int)TipoEquipamento.CentralAlarme:
                    return _buscadorDeInstancias.Buscar<ValidadorModificacaoCentralAmarme>();
                case (int)TipoEquipamento.SistemaContraIncendioEmCoifa:
                    return _buscadorDeInstancias.Buscar<ValidadorModificacaoSistemaContraIncendioEmCoifa>();
            }

            throw new Exception("Validador não pode ser criado conforme tipo do equipamento");
        }
        public override void Validar(Guid siteId, EquipamentoDto equipamentoDto)
        {
            base.Validar(siteId, equipamentoDto);

            var equipamentoEspecifico = equipamentoDto as MangueiraDto;

            if (equipamentoEspecifico == null)
                throw new Exception("Não é possível validar o equipamento (problema de conversão).");

            if (!equipamentoEspecifico.Comprimento.ComprimentoMangueiraValido())
                throw new FormatoInvalido("O comprimento da mangueira não é válido.");

            if (!equipamentoEspecifico.Diametro.DiametroMangueiraValido())
                throw new FormatoInvalido("O diâmetro da mangueira não é válido.");

            if (!equipamentoEspecifico.TipoMangueira.TipoMangueiraValido())
                throw new FormatoInvalido("O tipo da mangueira não é válido.");
        }
        public virtual Equipamento Criar(Guid siteId, Guid id, EquipamentoDto equipamentoDto)
        {
            var equipamento = id != Guid.Empty ? _repositorioEquipamentos.BuscarPorId(siteId, id) : null;
            var manutencoes = equipamento != null ? equipamento.Manutencoes.ToList() : new List<Manutencao>();

            switch (equipamentoDto.Tipo)
            {
                case (int)TipoEquipamento.Extintor:
                    return CriarExtintor(siteId, id, equipamentoDto as ExtintorDto, manutencoes);
                case (int)TipoEquipamento.Mangueira:
                    return CriarMangueira(siteId, id, equipamentoDto as MangueiraDto, manutencoes);
                case (int)TipoEquipamento.CentralAlarme:
                    return CriarCentralAlarme(siteId, id, equipamentoDto as CentralAlarmeDto, manutencoes);
                case (int)TipoEquipamento.SistemaContraIncendioEmCoifa:
                    return CriarSistemaContraIncendioEmCoifa(siteId, id, equipamentoDto as SistemaContraIncendioEmCoifaDto, manutencoes);
            }

            throw new Exception("Equipamento não pode ser mapeado em modelo conforme seu tipo");
        }
Ejemplo n.º 12
0
        public async Task <IActionResult> Post(EquipamentoDto model)
        {
            try
            {
                var equipamento = _mapper.Map <Equipamento>(model);

                _repo.Add(equipamento);

                if (await _repo.SaveChangesAsync())
                {
                    return(Created($"/api/equipamento/{model.Id}", _mapper.Map <EquipamentoDto>(equipamento)));
                }
            }
            catch (System.Exception ex)
            {
                return(this.StatusCode(StatusCodes.Status500InternalServerError,
                                       $"Banco de dados falhou : {ex.Message}"));
            }

            return(BadRequest());
        }
Ejemplo n.º 13
0
        public async Task <IActionResult> Edit(EquipamentoDto equipamentoDto)
        {
            equipamentoDto.Validate();
            if (equipamentoDto.Invalid)
            {
                TempData["Notificacao"] = new BadRequestDto(equipamentoDto.Notifications, TipoNotificacao.Warning);
                return(View(equipamentoDto));
            }

            await _equipamentoService.EditarAsync(equipamentoDto);

            if (_equipamentoService.Invalid)
            {
                TempData["Notificacao"] = new BadRequestDto(_equipamentoService.Notifications, TipoNotificacao.Warning);
                return(View(equipamentoDto));
            }

            TempData["Notificacao"] = new BadRequestDto(new List <Notification>()
            {
                new Notification("EditarEquipamento", "Equipamento editado com sucesso.")
            }, TipoNotificacao.Success);
            ViewBag.Controller = "Equipamentos";
            return(View("_Confirmacao"));
        }
 public virtual Equipamento Criar(Guid siteId, EquipamentoDto equipamentoDto)
 {
     return Criar(siteId, equipamentoDto.Id, equipamentoDto);
 }