/// <summary> /// Add a tree to the tree list /// </summary> /// <param name="e">An <see cref="Event"/></param> /// <returns>An <see cref="HttpEventAnswer"/></returns> public static HttpEventAnswer AddTree(Event e) { ATreeRoot tree = null; User user = null; try { KeyValuePair <User, ATreeRoot> kvp = (KeyValuePair <User, ATreeRoot>)e.Data; tree = kvp.Value; user = kvp.Key; } catch (Exception err) { Console.Error.WriteLine(err.Message); return(HttpEventAnswer.Error(e, 502, "Invalid data argument for event")); } MessageBus.RegisterReactionForUser(GetUserByMail(user.Email), tree.root.data.serviceName, tree.root.data.eventName); AreaTree atr = new AreaTree(user.Email); atr.AreasList = new List <ATreeRoot> { tree }; TreeList.Add(atr); return(HttpEventAnswer.Success(e, "Tree successfully added for tree")); }
/// <summary> /// Add a tree to server /// </summary> /// <param name="user">user</param> /// <param name="tree">user's tree</param> /// <returns>true => success</returns> public static bool AddTree(User user, ATreeRoot tree) { Area.Server server = Area.Server.Instance; Event e = new AddTreeEvent(HttpEventSource.EXT, HttpEventType.COMMAND, user, new KeyValuePair <User, ATreeRoot>(user, tree)); var answer = server.Dispatcher.Trigger(e); if (answer.Status.Code != 200) { Console.Error.WriteLine("Error: AddTree => " + answer.Status.Message); return(false); } return(true); }