Beispiel #1
0
 protected void treeList_NodeDeleting(object sender, ASPxDataDeletingEventArgs e)
 {
     if (ChecklistTemplateItems.CanDelete(decimal.Parse(e.Keys[0].ToString()), 0))
     {
         ChecklistTemplateItems.DeleteChecklistItemHard(decimal.Parse(e.Keys[0].ToString()));
         BindChecklistTree();
     }
     e.Cancel = true;
 }
Beispiel #2
0
 public bool CanRestore(string parm)
 {
     if (ChecklistTemplateItems.CanRestore(decimal.Parse(parm)))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Beispiel #3
0
        protected void treeList_NodeInserting(object sender, ASPxDataInsertingEventArgs e)
        {
            if (e.NewValues["VisibleText"] == null)
            {
                e.Cancel = true;
                treeList.CancelEdit();
                return;
            }


            string           testval   = e.NewValues["VisibleText"].ToString();
            ASPxDropDownEdit edtInline = (ASPxDropDownEdit)treeList.FindEditCellTemplateControl((TreeListDataColumn)treeList.
                                                                                                Columns["Notes"], "ASPxDropDownEdit1");

            testval = edtInline.Text;
            DropDownList itemtypelist = (DropDownList)treeList.FindEditCellTemplateControl((TreeListDataColumn)treeList.Columns["ItemType"], "ItemTypeList");

            if (itemtypelist.SelectedValue == "")
            {
                e.Cancel = true;
                treeList.CancelEdit();
                return;
            }

            int          type         = int.Parse(itemtypelist.SelectedValue);
            DropDownList requiredlist = (DropDownList)treeList.FindEditCellTemplateControl((TreeListDataColumn)treeList.Columns["Required"], "RequiredList");

            if (requiredlist.SelectedValue == "")
            {
                e.Cancel = true;
                treeList.CancelEdit();
                return;
            }


            bool required = bool.Parse(requiredlist.SelectedValue == "Yes" ? "True" : "False");

            e.Cancel = true;

            string parentKey = e.NewValues[treeList.ParentFieldName].ToString(); // treeList.FocusedNode.ParentNode.Key;

            string checklistckey = ddChecklists.SelectedValue;
            List <ChecklistTemplateVersion> versions = ChecklistTemplateVersion.GetChecklistTemplateVersions(decimal.Parse(checklistckey));
            decimal versionckey = versions[0].ChecklistTemplateVersionCKey;



            int sortorder = ChecklistTemplateItems.GetSortOrder(decimal.Parse(parentKey));

            BindChecklistTree();
            treeList.CancelEdit();
        }
Beispiel #4
0
        public string GetVisibleText(string parm)
        {
            parm = parm.Replace("*", "");

            DataTable dt     = ChecklistTemplateItems.GetCheckListItem(decimal.Parse(parm), 1, 1);
            string    retval = "";

            if (dt.Rows.Count > 0)
            {
                retval = dt.Rows[0]["VisibleText"].ToString();
            }
            return(retval);
        }
Beispiel #5
0
        public void Update(ChecklistItem item)
        {
            try
            {
                ChecklistTemplateItems.UpdateChecklistItemEx(decimal.Parse(item.CKey),
                                                             item.VisibleText, item.ItemType, item.SelectionDisablesChildren,
                                                             item.SelectionDisablesSiblings, item.AnswerUnit, decimal.Parse(item.ProtocolVersionCKey), item.NoteCKeys, item.Condition,
                                                             item.MustImplement, item.MustAnswer, item.ReportOption, item.RequiredStatus, item.Comments);
            }
            catch (Exception ex)
            {
                var resp = new HttpResponseMessage(HttpStatusCode.ExpectationFailed)

                {
                    ReasonPhrase = ex.Message
                };

                throw new HttpResponseException(resp);
            }
        }
Beispiel #6
0
        protected bool IsDeleteImageVisible(object obj)
        {
            TreeListDataCellTemplateContainer container = (TreeListDataCellTemplateContainer)obj;
            string nodekey = container.NodeKey.Replace("*", "");

            if (nodekey.Length > 0)
            {
                if (ChecklistTemplateItems.CanDelete(decimal.Parse(nodekey), 0))
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                return(false);
            }
        }
Beispiel #7
0
        public bool CanDelete(string parm)
        {
            if (parm.StartsWith("*"))
            {
                parm = parm.Replace("*", "");
            }
            decimal ckey = 0;

            decimal.TryParse(parm, out ckey);
            if (ckey == 0)
            {
                return(false);
            }
            if (ChecklistTemplateItems.CanDelete(decimal.Parse(parm), 0))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Beispiel #8
0
        protected void treeList_ProcessDragNode(object sender, TreeListNodeDragEventArgs e)
        {
            bool isDragNodeExpanded = e.Node.Expanded;
            bool isDropNodeExpanded = e.NewParentNode.Expanded;

            if (e.NewParentNode.Key == "*")
            {
                ChecklistTemplateItems.DeleteChecklistItem(decimal.Parse(e.Node.Key));      //soft delete    status = status | 4
            }
            else
            {
                decimal parentckey = decimal.Parse(e.NewParentNode.Key.Replace("*", ""));
                decimal nodekey    = decimal.Parse(e.Node.Key);

                string checklistckey = ddChecklists.SelectedValue;
                List <ChecklistTemplateVersion> versions = ChecklistTemplateVersion.GetChecklistTemplateVersions(decimal.Parse(checklistckey));
                decimal versionckey = versions[0].ChecklistTemplateVersionCKey;

                ChecklistTemplateItems.DragDropItem(versionckey.ToString(), nodekey.ToString(), parentckey.ToString());

                if (e.Node.Key == e.NewParentNode.Key)
                {
                }
                else
                {
                }
            }

            //e.Node.Expanded = isDragNodeExpanded;
            //e.NewParentNode.Expanded = false; //isDropNodeExpanded;

            e.Handled = true;

            LoadChecklists();
            BindChecklists();
            LoadChecklistItems();
            BindChecklistTree();
        }
Beispiel #9
0
        public ChecklistItem GetChecklistItem(string ItemCKey, int Mode, decimal DraftVersion)
        {
            try
            {
                ChecklistItem item = new ChecklistItem();


                item.CKey                      = "";
                item.ItemType                  = 0;
                item.VisibleText               = "";
                item.AnswerUnit                = 0;
                item.MustAnswer                = 0;
                item.MustImplement             = 0;
                item.SelectionDisablesChildren = 0;
                item.SelectionDisablesSiblings = 0;
                item.Notes                     = "";
                item.NotesHyperlinked          = "";
                item.NoteCKeys                 = "";
                item.ReportOption              = 2;
                item.Comments                  = "";
                item.Condition                 = "";

                if (ItemCKey == "null" || ItemCKey == "*" || ItemCKey == "" || ItemCKey == null)
                {
                    return(item);
                }

                ItemCKey = ItemCKey.Replace("*", "");
                DataTable dt = ChecklistTemplateItems.GetCheckListItem(decimal.Parse(ItemCKey), Mode, DraftVersion);
                if (dt.Rows.Count > 0)
                {
                    DataRow dr = dt.Rows[0];

                    item.CKey = dr["ChecklistTemplateItemCkey"].ToString();


                    //comboboxnote (26) to note (12) as users don't want to distinguish between the two
                    if (int.Parse(dr["ItemTypeKey"].ToString()) != 26)
                    {
                        item.ItemType = int.Parse(dr["ItemTypeKey"].ToString());
                    }
                    else
                    {
                        item.ItemType = 12;
                    }



                    item.VisibleText               = dr["VisibleText"].ToString();
                    item.AnswerUnit                = int.Parse(dr["AnswerUnits_Id"].ToString());
                    item.MustAnswer                = int.Parse(dr["MustAnswer"].ToString());
                    item.MustImplement             = int.Parse(dr["MustImplement"].ToString());
                    item.SelectionDisablesChildren = int.Parse(dr["SelectionDisablesChildren"].ToString());
                    item.SelectionDisablesSiblings = int.Parse(dr["SelectionDisablesSiblings"].ToString());
                    item.Notes            = dr["NotesAlt"].ToString();
                    item.NotesHyperlinked = dr["Notes"].ToString();
                    item.NoteCKeys        = dr["NoteCKeys"].ToString();
                    item.RequiredStatus   = dr["Authorityrequired"] == System.DBNull.Value ? 1 : int.Parse(dr["Authorityrequired"].ToString());
                    item.ReportOption     = dr["showInReport_Id"] == System.DBNull.Value ? 2 : int.Parse(dr["showInReport_Id"].ToString());
                    item.Comments         = dr["comments"] == System.DBNull.Value ? "" : dr["comments"].ToString();
                    item.Condition        = dr["condition"].ToString();
                }

                return(item);
            }
            catch (Exception ex)
            {
                var resp = new HttpResponseMessage(HttpStatusCode.ExpectationFailed)

                {
                    ReasonPhrase = ex.Message
                };

                throw new HttpResponseException(resp);
            }
        }
Beispiel #10
0
        public void LoadChecklistItems()
        {
            string checklistckey = ddChecklists.SelectedValue;
            List <ChecklistTemplateVersion> versions = ChecklistTemplateVersion.GetChecklistTemplateVersions(decimal.Parse(checklistckey));
            //item at the top is the most recent version
            DataTable checklisttable = ChecklistTemplateItems.GetAllChecklistItems(versions[0].ChecklistTemplateVersionCKey);

            checklisttable.Columns.Add("NotesAlt");


            //update notes
            foreach (DataRow drcheck in checklisttable.Rows)
            {
                string notes = drcheck["Notes"].ToString();
                drcheck["NotesAlt"] = notes;
                string[] note = notes.Split(';');
                notes = "";
                foreach (string test in note)
                {
                    if (test.Length > 0)
                    {
                        if (notes == "")
                        {
                            notes = "<a onclick=OnNoteClick('" + test.Substring(5, 1) + "')>" + test + "</a>";
                        }
                        else
                        {
                            notes = notes + ", <a onclick=OnNoteClick('" + test.Substring(5, 1) + "')>" + test + "</a>";
                        }
                    }
                }
                if (notes.Length > 0)
                {
                    drcheck["Notes"] = notes;
                }
                if (drcheck["Required"].ToString() == "1")
                {
                    drcheck["Required"] = "Yes";
                }
                else if (drcheck["Required"].ToString() == "0")
                {
                    drcheck["Required"] = "No";
                }
                else
                {
                    drcheck["Required"] = "Conditional";
                }
            }

            DataRow dr = checklisttable.NewRow();

            //node for the Trash icon
            dr["ParentItemCKey"]            = 0;
            dr["ChecklistTemplateItemCkey"] = "*";
            dr["visibletext"] = "-Deleted-";
            checklisttable.Rows.Add(dr);

            //add deleted items
            DataTable dtDeleted = ChecklistTemplateItems.GetDeletedChecklistItems(versions[0].ChecklistTemplateVersionCKey);



            foreach (DataRow drDeleted in dtDeleted.Rows)
            {
                var    desRow    = checklisttable.NewRow();
                var    sourceRow = drDeleted;
                string key       = drDeleted["ChecklistTemplateItemCkey"].ToString();

                desRow.ItemArray = sourceRow.ItemArray.Clone() as object[];
                decimal test = ChecklistTemplateItems.GetFirstAncestor(decimal.Parse(key), true);


                string notes = drDeleted["Notes"].ToString();
                desRow["NotesAlt"] = notes;
                string[] note = notes.Split(';');
                notes = "";
                foreach (string anote in note)
                {
                    if (anote.Length > 0)
                    {
                        if (notes == "")
                        {
                            notes = "<a onclick=OnNoteClick('" + anote.Substring(5, 1) + "')>" + anote + "</a>";
                        }
                        else
                        {
                            notes = notes + ", <a onclick=OnNoteClick('" + anote.Substring(5, 1) + "')>" + anote + "</a>";
                        }
                    }
                }

                desRow["Notes"] = notes;

                if (desRow["Required"].ToString() == "1")
                {
                    desRow["Required"] = "Yes";
                }
                else if (desRow["Required"].ToString() == "0")
                {
                    desRow["Required"] = "No";
                }
                else
                {
                    desRow["Required"] = "Conditional";
                }

                if (sourceRow["ParentItemCKey"] == System.DBNull.Value || (test == decimal.Parse(key)))
                {
                    desRow["ParentItemCKey"] = "*";
                }
                else
                {
                    desRow["ParentItemCkey"] = "*" + sourceRow["ParentItemCkey"];
                }


                desRow["ChecklistTemplateItemCkey"] = "*" + sourceRow["ChecklistTemplateItemCkey"];


                checklisttable.Rows.Add(desRow);
            }
            Session.Add("checklisttable", checklisttable);
        }
Beispiel #11
0
        protected void treeList_CustomCallback(object sender, TreeListCustomCallbackEventArgs e)
        {
            string ckey = e.Argument;

            string[] arguments = e.Argument.Split('|');
            if (arguments[0] == "INSERT")
            {
                string vistext       = arguments[1];
                string type          = arguments[2];
                string required      = arguments[3];
                string notes         = arguments[4];
                string parent        = arguments[5];
                string condition     = arguments[6];
                string checklistckey = ddChecklists.SelectedValue;
                List <ChecklistTemplateVersion> versions = ChecklistTemplateVersion.GetChecklistTemplateVersions(decimal.Parse(checklistckey));
                decimal      templateversionckey         = versions[0].ChecklistTemplateVersionCKey;
                DropDownList Protocols       = (DropDownList)Master.FindControl("ContentPlaceHolder_Menu").FindControl("protocols");
                decimal      protocolversion = decimal.Parse(txtProtocolVersion.Text);
                int          sortorder       = 0;


                //current item is the parent of new item; sort order of new item is 1 larger than that of parent, so that it becomes the first child when ordered

                if (parent == "")
                {
                    sortorder = 9999999;  //large number so that it goes to the bottom
                }
                else
                {
                    sortorder = ChecklistTemplateItems.GetSortOrder(decimal.Parse(parent));
                }

                if (parent == "")
                {
                    ChecklistTemplateItems.AddChecklistItem(templateversionckey, protocolversion, null, vistext, null, null,
                                                            null, null, int.Parse(type), int.Parse(required), condition, false, false, false, false, sortorder + 1, notes);
                }
                else
                {
                    ChecklistTemplateItems.AddChecklistItem(templateversionckey, protocolversion, decimal.Parse(parent), vistext, null, null,
                                                            null, null, int.Parse(type), int.Parse(required), condition, false, false, false, false, sortorder + 1, notes);
                }
            }
            else if (arguments[0] == "RESTORE")
            {
                string retval = ChecklistTemplateItems.RestoreChecklistItem(decimal.Parse(arguments[1]));
            }
            else if (arguments[0] == "DELETE")
            {
                string key = arguments[1];
                if (ChecklistTemplateItems.CanDelete(decimal.Parse(key), 0))
                {
                    ChecklistTemplateItems.DeleteChecklistItemHard(decimal.Parse(key));
                }
            }
            else if (arguments[0] == "SETIMAGE")
            {
                TreeListNode node = treeList.FindNodeByKeyValue(arguments[1]);
            }

            LoadChecklists();
            BindChecklists();
            LoadChecklistItems();
            BindChecklistTree();
        }
Beispiel #12
0
        protected void treeList_NodeUpdating(object sender, ASPxDataUpdatingEventArgs e)
        {
            ASPxTextBox txt = (ASPxTextBox)treeList.FindEditCellTemplateControl((TreeListDataColumn)treeList.Columns["VisibleText"], "VisibleTextbox");

            ASPxTextBox ConditionText = (ASPxTextBox)treeList.FindEditCellTemplateControl((TreeListDataColumn)treeList.Columns["Condition"], "ConditionText");


            string ckey       = e.Keys[0].ToString();
            string parentckey = treeList.FocusedNode.ParentNode.Key;
            string vistext    = txt.Value.ToString();
            string condition  = "";

            if (ConditionText == null)
            {
                condition = "";
            }
            else
            {
                condition = ConditionText.Value == null ? "" : ConditionText.Value.ToString();
            }

            DropDownList itemtypelist = (DropDownList)treeList.FindEditCellTemplateControl((TreeListDataColumn)treeList.Columns["ItemType"], "ItemTypeList");


            int          type         = int.Parse(itemtypelist.SelectedValue);
            DropDownList requiredlist = (DropDownList)treeList.FindEditCellTemplateControl((TreeListDataColumn)treeList.Columns["Required"], "RequiredList");


            string required  = requiredlist.SelectedValue;
            int    iRequired = 0;

            if (required == "Yes")
            {
                iRequired = 1;
            }
            else if (required == "No")
            {
                iRequired = 0;
            }
            else if (required == "Conditional")
            {
                iRequired = 2;
            }

            ASPxDropDownEdit edtInline = (ASPxDropDownEdit)treeList.FindEditCellTemplateControl((TreeListDataColumn)treeList.
                                                                                                Columns["Notes"], "ASPxDropDownEdit1");
            string notes = edtInline.Text;

            bool isDirty = true;



            if (isDirty)
            {
                ChecklistTemplateItems.UpdateChecklistItem(
                    decimal.Parse(ckey),
                    vistext,
                    type,
                    iRequired,
                    decimal.Parse(txtProtocolVersion.Text),
                    notes, condition
                    );
            }



            e.Cancel = true;
            LoadChecklists();
            BindChecklists();
            LoadChecklistItems();
            BindChecklistTree();
            treeList.CancelEdit();
        }