public async Task <IActionResult> Edit(SalaViewModel vm, long?vbEstablecimiento = null)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    ViewBag.EstablecimientoId = vbEstablecimiento.HasValue ? vbEstablecimiento.Value : (dynamic)null;
                    throw new Exception("Error de validacion no controlado.");
                }

                var dto = new SalaDto()
                {
                    Id                = vm.Id,
                    Nombre            = vm.Nombre,
                    EstablecimientoId = vm.EstablecimientoId
                };

                await _salaServicio.Modificar(dto);

                return(RedirectToAction(nameof(Index), new { establecimientoId = vbEstablecimiento }));
            }
            catch (Exception)
            {
                return(View(vm));
            }
        }
        public async Task <IActionResult> Create(SalaDto salaDto)
        {
            ViewBag.TipoSala     = Combos.retornarOpcoesSala();
            ViewBag.Equipamentos = new SelectList(_equipamentoService.ObterSemSala(), "Id", "NomeModelo");

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

            await _salaService.CriarAsync(salaDto);

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

            TempData["Notificacao"] = new BadRequestDto(new List <Notification>()
            {
                new Notification("CadastrarSala", "Sala cadastrada com sucesso.")
            }, TipoNotificacao.Success);
            ViewBag.Controller = "Salas";
            return(View("_Confirmacao"));
        }
        public async Task <IActionResult> Edit(SalaDto salaDto)
        {
            ViewBag.TipoSala     = new SelectList(Combos.retornarOpcoesSala(), "Value", "Text", salaDto.Tipo);
            ViewBag.Equipamentos = _equipamentoService.ObterPorSalaEdicao(salaDto.Id.Value);
            ViewBag.Status       = Combos.retornarOpcoesStatus();

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

            await _salaService.EditarAsync(salaDto);

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

            TempData["Notificacao"] = new BadRequestDto(new List <Notification>()
            {
                new Notification("EditarSala", "Sala editada com sucesso.")
            }, TipoNotificacao.Success);
            ViewBag.Controller = "Salas";
            return(View("_Confirmacao"));
        }
Esempio n. 4
0
        public async Task Update(SalaDto dto)
        {
            var sala = await _salaRepos.GetById(dto.Id, null, false);

            if (sala != null)
            {
                sala = _mapper.Map <Dominio._4._1_Entidades.Sala.Sala>(dto);

                await _salaRepos.Update(sala);
            }
        }
Esempio n. 5
0
        public void Insertar(SalaDto dto)
        {
            var sala = new Dominio.Entity.Entidades.Sala()
            {
                Id          = dto.Id,
                LugarId     = dto.LugarId,
                Descripcion = dto.Descripcion,
                Capacidad   = dto.Capacidad
            };

            _salaRepositorio.Add(sala);
            Guardar();
        }
Esempio n. 6
0
        public async Task EditarAsync(SalaDto dto)
        {
            if (dto.Id == null)
            {
                AddNotification("EditarSala", MensagemValidacao.CampoInvalido);
                return;
            }

            var salaEditar = await _salaRepository.ObterAsync(dto.Id.Value);

            if (salaEditar == null)
            {
                AddNotification("EditarSala", MensagemValidacao.Sala.NaoExiste);
                return;
            }

            var identificadorDuplicado = await _salaRepository.ObterAsync(dto.IdentificadorSala);

            if (identificadorDuplicado != null && identificadorDuplicado.Id != salaEditar.Id)
            {
                AddNotification("EditarSala", MensagemValidacao.Sala.IdentificadorJaExiste);
                return;
            }

            salaEditar.Editar(dto.Tipo, dto.IdentificadorSala, dto.Observacao, Convert.ToDecimal(dto.Area.Replace('.', ',')), dto.Andar, dto.CapacidadeAlunos, dto.Ativo);

            if (dto.EquipamentoId != null && dto.EquipamentoId.Any())
            {
                var equipamentos = await _equipamentoRepository.ObterAsync(dto.EquipamentoId);

                if (!equipamentos.Any())
                {
                    AddNotification("EditarSala", MensagemValidacao.Equipamento.NaoExiste);
                    return;
                }

                if (salaEditar.SalaEquipamentos != null && salaEditar.SalaEquipamentos.Any())
                {
                    await _salaRepository.DeletarSalaEquipamentosAsync(salaEditar.SalaEquipamentos);
                }

                await _salaRepository.CriarSalaEquipamentosAsync(equipamentos.Select(e => new SalaEquipamento(salaEditar.Id, e.Id)).ToList());
            }
            else if (salaEditar.SalaEquipamentos != null && salaEditar.SalaEquipamentos.Any())
            {
                await _salaRepository.DeletarSalaEquipamentosAsync(salaEditar.SalaEquipamentos);
            }

            await _salaRepository.EditatAsync(salaEditar);
        }
Esempio n. 7
0
        public void Modificar(SalaDto dto)
        {
            var sala = _salaRepositorio.GetById(dto.Id);

            if (sala == null)
            {
                throw new Exception("No se encontro el registro solicitado.");
            }

            sala.LugarId     = dto.LugarId;
            sala.Descripcion = dto.Descripcion;
            sala.Capacidad   = dto.Capacidad;

            _salaRepositorio.Update(sala);
            Guardar();
        }
Esempio n. 8
0
        public async Task CriarAsync(SalaDto dto)
        {
            try
            {
                var identificadorDuplicado = await _salaRepository.ObterAsync(dto.IdentificadorSala);

                if (identificadorDuplicado != null)
                {
                    AddNotification("CadastrarSala", MensagemValidacao.Sala.IdentificadorJaExiste);
                    return;
                }

                var sala = new Sala(dto.Tipo, dto.IdentificadorSala, dto.Observacao, Convert.ToDecimal(dto.Area.Replace('.', ',')), dto.Andar, dto.CapacidadeAlunos);

                if (dto.EquipamentoId != null && dto.EquipamentoId.Any())
                {
                    var equipamentos = await _equipamentoRepository.ObterAsync(dto.EquipamentoId);

                    if (equipamentos == null || !equipamentos.Any())
                    {
                        AddNotification("CadastrarSala", MensagemValidacao.Equipamento.NaoExiste);
                        return;
                    }

                    sala.AdicionarSalaEquipamento(equipamentos.Select(e => new SalaEquipamento(sala.Id, e.Id)).ToList());
                }


                await _salaRepository.CriarAsync(sala);
            }
            catch (Exception ex)
            {
                AddNotification("CadastrarSala", MensagemValidacao.ContacteSuporte);
                return;
            }
        }
Esempio n. 9
0
 public async Task Create(SalaDto dto)
 {
     await _salaRepos.Create(_mapper.Map <Dominio._4._1_Entidades.Sala.Sala>(dto));
 }