Example #1
0
        public async Task UpdateAsync(int id, AgendaRequestDto model)
        {
            var agenda = await _repo.GetByIdAsync(id);

            if (agenda == null)
            {
                throw new Exception($"Agenda com o id {id} não encontrada");
            }

            agenda.UpdateValues(Convert.ToDateTime(model.Data),
                                Convert.ToDateTime($"{model.Data} {model.HoraInicio}"),
                                Convert.ToDateTime($"{model.Data} {model.HoraFim}"),
                                model.SalaId,
                                model.PessoaId,
                                model.QuantidadePessoas);

            var validationResult = await agenda.Validate();

            if (!validationResult.IsValid)
            {
                var msg = "Ocorreu os seguintes erros:\n";

                foreach (var erro in validationResult.Errors)
                {
                    msg = $"{msg}- {erro.ErrorMessage}\n";
                }

                throw new Exception(msg);
            }

            await _repo.UpdateAsync(agenda);
        }
Example #2
0
        public async Task <AgendaResponseDto> CreateAsync(AgendaRequestDto model)
        {
            var agenda = new Agenda(
                Convert.ToDateTime(model.Data),
                Convert.ToDateTime($"{model.Data} {model.HoraInicio}"),
                Convert.ToDateTime($"{model.Data} {model.HoraFim}"),
                model.SalaId,
                model.PessoaId,
                model.QuantidadePessoas
                );

            await _repo.CreateAsync(agenda);

            return(new AgendaResponseDto
            {
                Id = agenda.Id,
                Data = agenda.Data.ToString("dd/MM/yyyy"),
                HoraInicio = agenda.HoraInicio.ToString("HH:mm"),
                HoraFim = agenda.HoraFim.ToString("HH:mm"),
                QuantidadePessoas = agenda.QuantidadePessoas,
                PessoaId = agenda.PessoaId,
                SalaId = agenda.SalaId
            });
        }
Example #3
0
        public async Task <AgendaResponseDto> Post([FromBody] AgendaRequestDto model)
        {
            var agenda = await svc.CreateAsync(model);

            return(agenda);
        }
Example #4
0
 public async Task Put(int id, [FromBody] AgendaRequestDto model)
 {
     await svc.UpdateAsync(id, model);
 }
Example #5
0
 public Task UpdateAsync(int id, AgendaRequestDto model)
 {
     throw new NotImplementedException();
 }