public JsonpResult ChangeRelation(string clientid,
                                          string modalid,
                                          string modalitemid,
                                          string relation)
        {
            Tz.Core.ComponentModal cm = new Core.ComponentModal(clientid, modalid);
            var rs = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Models.LinkComponentField> >(relation);
            var ls = new List <Tz.Core.LinkComponentField>();

            foreach (Models.LinkComponentField lf in rs)
            {
                if (lf.ModalItemRelationID == null)
                {
                    lf.ModalItemRelationID = "";
                }
                ls.Add(new Core.LinkComponentField()
                {
                    ModalItemRelationID = lf.ModalItemRelationID,
                    Child            = lf.Child,
                    Parent           = lf.Parent,
                    ParentField      = lf.ParentField,
                    ParentFieldName  = "",
                    RelatedField     = lf.RelatedField,
                    RelatedFieldName = ""
                });
            }
            return(new JsonpResult(cm.AddRelation(modalitemid, ls)));
        }
 public JsonpResult RemoveItemAllRelation(string clientid,
                                          string modalid,
                                          string modalitemid)
 {
     Tz.Core.ComponentModal cm = new Core.ComponentModal(clientid, modalid);
     return(new JsonpResult(cm.RemoveAllRelationByModalItem(modalitemid)));
 }
        public JsonpResult AddNode(string clientid,
                                   string modalid,
                                   string node
                                   )
        {
            var att = Newtonsoft.Json.JsonConvert.DeserializeObject <Models.ComponentModalNode>(node);

            Tz.Core.ComponentModal cm = new Core.ComponentModal(clientid, modalid);
            var list = new List <Tz.Core.LinkComponentField>();

            foreach (Models.LinkComponentField lf in att.Relations)
            {
                if (lf.ModalItemRelationID == null)
                {
                    lf.ModalItemRelationID = "";
                }
                list.Add(new Core.LinkComponentField()
                {
                    ModalItemRelationID = lf.ModalItemRelationID,
                    Child            = lf.Child,
                    Parent           = lf.Parent,
                    ParentField      = lf.ParentField,
                    ParentFieldName  = "",
                    RelatedField     = lf.RelatedField,
                    RelatedFieldName = ""
                });
            }
            cm.AddNode(att.ComponentID, att.ChildComponentID, list);
            return(new JsonpResult(cm.Save()));
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="clientid"></param>
 /// <param name="modalid"></param>
 /// <param name="modalitemid"></param>
 /// <param name="relation"></param>
 /// <returns></returns>
 public JsonpResult RemoveItemRelation(string clientid,
                                       string modalid,
                                       string modalitemid,
                                       string relation)
 {
     Tz.Core.ComponentModal cm = new Core.ComponentModal(clientid, modalid);
     return(new JsonpResult(cm.RemoveItemRelationship(modalitemid, relation)));
 }
        public JsonpResult UpdateModal(string clientid,
                                       string modalid,
                                       string name,
                                       string category,
                                       string nodes)
        {
            Tz.Core.ComponentModal cm = new Core.ComponentModal(clientid, modalid);
            cm.ModalName = name;
            cm.Category  = category;
            cm.Update();
            var att = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Models.ComponentModalNode> >(nodes);

            foreach (Models.ComponentModalNode n in att)
            {
                var list = new List <Tz.Core.LinkComponentField>();
                foreach (Models.LinkComponentField lf in n.Relations)
                {
                    if (lf.IsRemoved == true)
                    {
                        cm.RemoveItemRelationship(n.ComponentModalItemID, lf.ModalItemRelationID);
                    }
                    if (lf.ModalItemRelationID == null)
                    {
                        lf.ModalItemRelationID = "";
                    }
                    list.Add(new Core.LinkComponentField()
                    {
                        ModalItemRelationID = lf.ModalItemRelationID,
                        Child            = lf.Child,
                        Parent           = lf.Parent,
                        ParentField      = lf.ParentField,
                        ParentFieldName  = "",
                        RelatedField     = lf.RelatedField,
                        RelatedFieldName = ""
                    });
                }
                if (n.ComponentModalItemID != "")
                {
                    cm.AddRelation(n.ComponentModalItemID, list);
                }
                else
                {
                    cm.AddNode(n.ComponentID, n.ChildComponentID, list);
                }
            }
            return(new JsonpResult(true));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="clientid"></param>
        /// <param name="name"></param>
        /// <param name="category"></param>
        /// <param name="parentcomponent"></param>
        /// <param name="nodes"></param>
        /// <returns></returns>
        public JsonpResult SaveModal(string clientid,
                                     string name,
                                     string category,
                                     string parentcomponent,
                                     string nodes)
        {
            Tz.Core.ComponentModal cm = new Core.ComponentModal(clientid, name, category, parentcomponent);
            var att = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Models.ComponentModalNode> >(nodes);

            foreach (Models.ComponentModalNode n in att)
            {
                if (n.Relations != null)
                {
                    var a = new ComponentNode(clientid)
                    {
                        ComponentID          = n.ComponentID,
                        ComponentModalID     = "",
                        ComponentModalItemID = "",
                        ChildComponentID     = n.ChildComponentID
                    };

                    foreach (Models.LinkComponentField lf in n.Relations)
                    {
                        if (n.Relations != null)
                        {
                            if (lf.IsRemoved == false)
                            {
                                a.AddRelation(lf.ParentField, lf.RelatedField, "", lf.Parent, lf.Child);
                            }
                        }
                    }
                    cm.InsertNode(a);
                }
            }
            return(new JsonpResult(cm.Save()));
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="clientid"></param>
 /// <param name="modalid"></param>
 /// <returns></returns>
 public JsonpResult RemoveModal(string clientid, string modalid)
 {
     Tz.Core.ComponentModal cm = new Core.ComponentModal(clientid, modalid);
     return(new JsonpResult(cm.Remove()));
 }