public async Task <ServerEntity> CreateUpdateServerAsync(CreateUpdateServerRequest request, int userId) { var server = await _database.ServerList.FindAsync(request.Id); if (server == null) { server = new ServerEntity { Name = request.Name, Description = request.Description, IpAddress = request.IpAddress, Port = request.Port, OwnerUserId = userId, StarCount = 0, ImageUrl = request.ImageUrl }; await _database.ServerList.AddAsync(server); } else { if (userId != server.OwnerUserId) { return(null); } server.Name = request.Name; server.Description = request.Description; server.IpAddress = request.IpAddress; server.Port = request.Port; server.ImageUrl = request.ImageUrl; _database.ServerList.Update(server); } await _database.SaveChangesAsync(); return(server); }
public async Task <IActionResult> CreateUpdateServerAsync(CreateUpdateServerRequest request) { var userId = HttpContext.User.FindFirstValue(ClaimTypes.Sid); var server = await _srv.CreateUpdateServerAsync(request, userId); if (server == null) { return(BadRequest(new GenericResponse { Success = false, Message = "Could not create server." })); } return(Ok(new GenericResponse <ServerEntity> { Success = true, Data = server })); }
public Task <ServerEntity> CreateUpdateServerAsync(CreateUpdateServerRequest request, string userId) { return(CreateUpdateServerAsync(request, int.Parse(userId))); }