public IEndpointHelperSetup AddToDoTask(string name = null) { AddToDoTaskRequest request = new AddToDoTaskRequest { Title = name ?? "DEVELOPMENT TESTING TO DO TASK", PeopleIds = new List <int> { 5 } }; var requestBody = new StringContent(JsonConvert.SerializeObject(request), Encoding.UTF8, "application/json"); var result = _fakeSever.PostAsync("/Api/v2/ToDo", requestBody).Result; var responseBody = result.Content.ReadAsStringAsync().Result; return(this); }
public int AddToDoTask(AddToDoTaskRequest toDoTask, int userHouseId) { _connection.Open(); try { var dueValue = toDoTask.Due == null ? "NULL" : $"'{toDoTask.Due:yyyy-MM-dd}'"; var command = new NpgsqlCommand($"INSERT INTO public.\"ToDo\" (\"Title\", \"Due\", \"Complete\", \"HouseId\") " + $"VALUES ('{toDoTask.Title}', {dueValue}, false, {userHouseId}) " + "RETURNING \"Id\"", _connection); Int64 toDoTaskId = -1; var reader = command.ExecuteReader(); while (reader.Read()) { toDoTaskId = Convert.ToInt64(reader[0]); } reader.Close(); foreach (var peopleId in toDoTask.PeopleIds) { command = new NpgsqlCommand("INSERT INTO public.\"PeopleForToDo\" (\"ToDoId\", \"PersonId\") " + $"VALUES ({toDoTaskId}, {peopleId})", _connection); reader = command.ExecuteReader(); while (reader.Read()) { } reader.Close(); } return(Convert.ToInt32(toDoTaskId)); } catch (System.Exception exception) { throw new System.Exception($"An Error occured while adding the To Do Task '{toDoTask.Title}'", exception); } finally { _connection.Close(); } }
public AddToDoResponse AddToDoItem([FromBody] AddToDoTaskRequest toDoTaskRequest) { var response = new AddToDoResponse(); try { if (_userService.AuthenticateSession(Request.Headers["Authorization"].ToString()) == false) { response.AddError("The authorization credentails were invalid", ErrorCode.SESSION_INVALID); return(response); } ActiveUser user = _userService.GetUserInformationFromAuthHeader(Request.Headers["Authorization"].ToString()); if (user.HouseId == 0) { response.AddError("You must belong to a household to add To Do Tasks", ErrorCode.USER_NOT_IN_HOUSEHOLD); return(response); } response.Id = _toDoRepository.AddToDoTask(toDoTaskRequest, user.HouseId); response.Notifications = new List <string> { $"The task '{toDoTaskRequest.Title}' has been added" }; } catch (ErrorCodeException exception) { response.AddError($"An unexpected exception occured: {exception}", toDoTaskRequest, exception.Code); } catch (Exception exception) { response.AddError($"An unexpected exception occured: {exception}", toDoTaskRequest); } return(response); }