Ejemplo n.º 1
0
        /// <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"));
        }
Ejemplo n.º 2
0
        /// <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);
        }