コード例 #1
0
        public async Task <ActionResult <DateItemResponse> > Create(DateItemInput _input)
        {
            try{
                string   bearerToken = Request.Headers["Authorization"].ToString().Split(" ").Last();
                int      id          = int.Parse(jwtService.getUserId(bearerToken));
                DateItem result      = await datetimeService.createItem(_input, id);

                return(CreatedAtAction("Create", new DateItemResponse {
                    isSuccess = true, payload = new DateItemResponseData {
                        item = result
                    }
                }));
            }catch (UnauthorizedAccessException ex) {
                return(Unauthorized(new DateItemResponse {
                    isSuccess = false, error = new ApiError {
                        msg = ex.Message
                    }
                }));
            }catch (Exception ex) {
                return(BadRequest(new DateItemResponse {
                    isSuccess = false, error = new ApiError {
                        msg = ex.Message
                    }
                }));
            }
        }
コード例 #2
0
        public async Task <DateItem> createItem(DateItemInput _input, int userId)
        {
            using (NpgsqlConnection connection = new NpgsqlConnection(config.GetConnectionString("postgres")))
            {
                string   sql    = "INSERT INTO \"date_item\" (user_id,title,date) VALUES( @userId, @title, @date) RETURNING*";
                DateItem result = await connection.QueryFirstOrDefaultAsync <DateItem>(sql, new { userId = userId, title = _input.title, date = _input.date });

                if (result == null)
                {
                    throw new InvalidOperationException("Sql returned num of rows affected as 0");
                }
                return(result);
            }
        }