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; } }
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"); }
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()); }
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); }