示例#1
0
        public async Task <IActionResult> Atualizar(Plano plano)
        {
            var usuario = User.Identity.Name;

            try
            {
                if (plano.Id == null)
                {
                    throw new KeyNotFoundException("Id obrigatorio para atualização!");
                }

                int id = (int)plano.Id;

                if (!await planosDAL.ValidaUsuario(usuario, id))
                {
                    throw new KeyNotFoundException("Plano não foi encontrado ou você não tem acesso a ele!");
                }

                plano.Usuario = usuario;

                await planosDAL.Update(plano);

                return(Ok(plano));
            }
            catch (KeyNotFoundException ex)
            {
                gravadorLog.GravarLogErro(ex, 400, $"Usuário: {usuario} - PlanoId: {plano.Id}");
                return(BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                gravadorLog.GravarLogErro(ex, 500);
                return(StatusCode(500));
            }
        }
示例#2
0
        public async Task <IActionResult> Criar(Ciclo ciclo)
        {
            var usuario = User.Identity.Name;

            try
            {
                if (!await planosDAL.ValidaUsuario(usuario, ciclo.PlanoId))
                {
                    throw new KeyNotFoundException("Plano não foi encontrado ou você não tem acesso a ele!");
                }

                await ciclosDAL.Create(ciclo);

                if (Uri.TryCreate("/ciclos/" + ciclo.Id, UriKind.Relative, out Uri result))
                {
                    return(Created(result, ciclo));
                }

                return(Ok(ciclo));
            }
            catch (KeyNotFoundException ex)
            {
                gravadorLog.GravarLogErro(ex, 400, $"Usuário: {usuario} - PlanoId: {ciclo.PlanoId}");
                return(BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                gravadorLog.GravarLogErro(ex, 500);
                return(StatusCode(500));
            }
        }