protected void InitializePage()
 {
     this.InitializeLabel();
     this.InitInitiallyOpenTree();
     DocsPaWR.InstanceAccess instance = InstanceAccessManager.getInstanceAccessInSession();
     if (instance != null)
     {
         this.projectLblCodiceGenerato.Text = instance.ID_INSTANCE_ACCESS;
     }
     if (this.EsisteDichiarazioneConformita)
     {
         this.InstanceDetailsDelete.Enabled = false;
     }
 }
Exemple #2
0
        public void RefreshTabs()
        {
            if (!string.IsNullOrEmpty(this.PageCaller))
            {
                DocsPaWR.InstanceAccess instance = InstanceAccessManager.getInstanceAccessInSession();

                switch (this.PageCaller.ToUpper())
                {
                case "CONTENT":
                    this.LinkInstance.Enabled = true;
                    this.LiInstance.Attributes.Remove("class");
                    this.LiInstance.Attributes.Add("class", "prjIAmProfile");

                    this.LinkInstance.Attributes["onclick"] = "disallowOp('IdMasterBody')";

                    if (instance != null)
                    {
                        this.LinkInstanceStructure.Enabled = true;
                        this.LiInstanceStructure.Attributes.Remove("class");
                        this.LiInstanceStructure.Attributes.Add("class", "prjOther");
                        this.LinkInstance.Attributes["onclick"]        = "disallowOp('IdMasterBody')";
                        this.LiInstanceStructure.Attributes["onclick"] = "disallowOp('IdMasterBody')";
                    }
                    else
                    {
                        this.LinkInstance.Enabled          = true;
                        this.LinkInstanceStructure.Enabled = false;
                    }

                    break;

                case "STRUCTURE":
                    this.LinkInstance.Enabled = true;
                    this.LiInstance.Attributes.Remove("class");
                    this.LiInstance.Attributes.Add("class", "prjOther");
                    this.LinkInstance.Attributes["onclick"] = "disallowOp('IdMasterBody')";

                    this.LinkInstanceStructure.Enabled = true;
                    this.LinkInstanceStructure.Attributes.Remove("class");
                    this.LiInstanceStructure.Attributes.Add("class", "prjIAmProfile");
                    this.LinkInstanceStructure.Attributes["onclick"] = "disallowOp('IdMasterBody')";
                    break;
                }

                this.UpProjectTabs.Update();
            }
        }
        /*
         * protected void BtnCheckedDocuments_Click()
         * {
         *  string value = this.treenode_checked.Value;
         *  string idObject = string.Empty;
         *  List<InstanceAccessDocument> listDoc = new List<InstanceAccessDocument>();
         *
         *  List<InstanceAccessAttachments> listAtt = new List<InstanceAccessAttachments>();
         *  InstanceAccessDocument acc = new InstanceAccessDocument();
         *  if (!string.IsNullOrEmpty(value))
         *  {
         *      string[] values = value.Split(',');
         *      if (values != null && values.Length > 0)
         *      {
         *
         *
         *          foreach (string val in values)
         *          {
         *
         *              acc = (this.InstanceDocuments.Where(x => x.ID_INSTANCE_ACCESS_DOCUMENT == val.Split('_')[1])).FirstOrDefault();
         *              switch (val.Split('_')[0])
         *              {
         *
         *                  case "root":
         *                      if (acc != null)
         *                      {
         *                          idObject = acc.INFO_PROJECT.ID_PROJECT;
         *                          listDoc = this.InstanceDocuments.Where(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject)).ToList<InstanceAccessDocument>();
         *                          UIManager.InstanceAccessManager.RemoveInstanceAccessDocuments(listDoc);
         *                          this.InstanceDocuments.RemoveAll(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject));
         *                      }
         *                      break;
         *                  case "node":
         *                      if (acc != null)
         *                      {
         *                          idObject = acc.INFO_PROJECT.ID_PROJECT;
         *                          listDoc = this.InstanceDocuments.Where(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject)).ToList<InstanceAccessDocument>();
         *                          UIManager.InstanceAccessManager.RemoveInstanceAccessDocuments(listDoc);
         *                          this.InstanceDocuments.RemoveAll(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject));
         *                      }
         *                      break;
         *
         *                  case "doc":
         *                      if (acc != null)
         *                      {
         *                          idObject = acc.ID_INSTANCE_ACCESS_DOCUMENT;
         *                          List<InstanceAccessDocument> listInstanceAccessDocument = new List<InstanceAccessDocument>();
         *                          listDoc = this.InstanceDocuments.Where(x => x.ID_INSTANCE_ACCESS_DOCUMENT == idObject).ToList<InstanceAccessDocument>();
         *                          //se ci sono allegati li prendo e li inserisco come documenti singoli
         *                          foreach (InstanceAccessDocument instanceDoc in listDoc)
         *                          {
         *                              if (instanceDoc.ATTACHMENTS != null && instanceDoc.ATTACHMENTS.Length > 0)
         *                              {
         *
         *                                  foreach (InstanceAccessAttachments att in instanceDoc.ATTACHMENTS)
         *                                  {
         *                                      InstanceAccessDocument instInset = new InstanceAccessDocument();
         *                                      instInset.ID_INSTANCE_ACCESS = InstanceAccessManager.getInstanceAccessInSession().ID_INSTANCE_ACCESS;
         *                                      instInset.DOCNUMBER = att.ID_ATTACH;
         *                                      instInset.ATTACHMENTS = new InstanceAccessAttachments[0];
         *                                      instInset.INFO_DOCUMENT = new InfoDocument() { DOCNUMBER = att.ID_ATTACH };
         *                                      listInstanceAccessDocument.Add(instInset);
         *                                  }
         *
         *
         *
         *                              }
         *                          }
         *
         *                          if (listInstanceAccessDocument != null && listInstanceAccessDocument.Count > 0 && InstanceAccessManager.InsertInstanceAccessDocuments(listInstanceAccessDocument))
         *                          {
         *                              DocsPaWR.InstanceAccess instanceAccess = InstanceAccessManager.GetInstanceAccessById(InstanceAccessManager.getInstanceAccessInSession().ID_INSTANCE_ACCESS);
         *                              InstanceAccessManager.setInstanceAccessInSession(instanceAccess);
         *                              this.InstanceDocuments = instanceAccess.DOCUMENTS.ToList<InstanceAccessDocument>();
         *                          }
         *                          UIManager.InstanceAccessManager.RemoveInstanceAccessDocuments(listDoc);
         *                          this.InstanceDocuments.RemoveAll(x => x.ID_INSTANCE_ACCESS_DOCUMENT == idObject);
         *                      }
         *                      break;
         *                  case "attach":
         *
         *                      foreach (InstanceAccessDocument instanceDoc in this.InstanceDocuments)
         *                      {
         *                          if (instanceDoc.ATTACHMENTS != null && instanceDoc.ATTACHMENTS.Length > 0)
         *                          {
         *                              //listAtt = instanceDoc.ATTACHMENTS.ToList<InstanceAccessAttachments>().Where(p => p.ID_ATTACH.Equals(idObject)).ToList<InstanceAccessAttachments>();
         *                              //instanceDoc.ATTACHMENTS.ToList<InstanceAccessAttachments>().RemoveAll(p => p.ID_ATTACH.Equals(idObject));
         *
         *                              listAtt = instanceDoc.ATTACHMENTS.ToList<InstanceAccessAttachments>().Where(p => p.SYSTEM_ID.Equals(val.Split('_')[1])).ToList<InstanceAccessAttachments>();
         *                              instanceDoc.ATTACHMENTS.ToList<InstanceAccessAttachments>().RemoveAll(p => p.SYSTEM_ID.Equals(val.Split('_')[1]));
         *
         *
         *
         *                              if (listAtt != null && listAtt.Count > 0)
         *                              {
         *
         *                                  break;
         *                              }
         *                          }
         *
         *                      }
         *
         *                      UIManager.InstanceAccessManager.RemoveInstanceAccessAttachments(listAtt);
         *
         *                      break;
         *                  case "rootNo":
         *                      idObject = this.treenode_deleted.Value.Split('_')[1];
         *                      listDoc = this.InstanceDocuments.Where(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject)).ToList<InstanceAccessDocument>();
         *                      UIManager.InstanceAccessManager.RemoveInstanceAccessDocuments(listDoc);
         *                      this.InstanceDocuments.RemoveAll(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject));
         *                      break;
         *                  case "nodeNo":
         *                      idObject = this.treenode_deleted.Value.Split('_')[1];
         *                      listDoc = this.InstanceDocuments.Where(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject)).ToList<InstanceAccessDocument>();
         *                      UIManager.InstanceAccessManager.RemoveInstanceAccessDocuments(listDoc);
         *                      this.InstanceDocuments.RemoveAll(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject));
         *                      break;
         *              }
         *          }
         *          DocsPaWR.InstanceAccess inst = UIManager.InstanceAccessManager.getInstanceAccessInSession();
         *          inst.DOCUMENTS = this.InstanceDocuments.ToArray<InstanceAccessDocument>();
         *          UIManager.InstanceAccessManager.setInstanceAccessInSession(inst);
         *
         *          ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "RefreshJsTree", "JsTree();", true);
         *
         *          this.treenode_deleted.Value = string.Empty;
         *          this.upPnlButtons.Update();
         *      }
         *  }
         * }
         *
         * */

        protected void BtnContextMenu_Click()
        {
            List <InstanceAccessDocument>    listDoc = new List <InstanceAccessDocument>();
            List <InstanceAccessAttachments> listAtt = new List <InstanceAccessAttachments>();
            InstanceAccessDocument           acc     = new InstanceAccessDocument();
            string idObject = string.Empty;

            if (!string.IsNullOrEmpty(this.treenode_deleted.Value))
            {
                acc = (this.InstanceDocuments.Where(x => x.ID_INSTANCE_ACCESS_DOCUMENT == this.treenode_deleted.Value.Split('_')[1])).FirstOrDefault();
                switch (this.treenode_deleted.Value.Split('_')[0])
                {
                case "root":
                    idObject = acc.INFO_PROJECT.ID_PROJECT;
                    listDoc  = this.InstanceDocuments.Where(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject)).ToList <InstanceAccessDocument>();
                    UIManager.InstanceAccessManager.RemoveInstanceAccessDocuments(listDoc);
                    this.InstanceDocuments.RemoveAll(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject));
                    break;

                case "node":
                    idObject = acc.INFO_PROJECT.ID_PROJECT;
                    listDoc  = this.InstanceDocuments.Where(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject)).ToList <InstanceAccessDocument>();
                    UIManager.InstanceAccessManager.RemoveInstanceAccessDocuments(listDoc);
                    this.InstanceDocuments.RemoveAll(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject));
                    break;

                case "doc":
                    idObject = acc.ID_INSTANCE_ACCESS_DOCUMENT;
                    List <InstanceAccessDocument> listInstanceAccessDocument = new List <InstanceAccessDocument>();
                    listDoc = this.InstanceDocuments.Where(x => x.ID_INSTANCE_ACCESS_DOCUMENT == idObject).ToList <InstanceAccessDocument>();
                    //se ci sono allegati li prendo e li inserisco come documenti singoli
                    foreach (InstanceAccessDocument instanceDoc in listDoc)
                    {
                        if (instanceDoc.ATTACHMENTS != null && instanceDoc.ATTACHMENTS.Length > 0)
                        {
                            foreach (InstanceAccessAttachments att in instanceDoc.ATTACHMENTS)
                            {
                                InstanceAccessDocument instInset = new InstanceAccessDocument();
                                instInset.ID_INSTANCE_ACCESS = InstanceAccessManager.getInstanceAccessInSession().ID_INSTANCE_ACCESS;
                                instInset.DOCNUMBER          = att.ID_ATTACH;
                                instInset.ATTACHMENTS        = new InstanceAccessAttachments[0];
                                instInset.INFO_DOCUMENT      = new InfoDocument()
                                {
                                    DOCNUMBER = att.ID_ATTACH
                                };
                                listInstanceAccessDocument.Add(instInset);
                            }
                        }
                    }

                    if (listInstanceAccessDocument != null && listInstanceAccessDocument.Count > 0 && InstanceAccessManager.InsertInstanceAccessDocuments(listInstanceAccessDocument))
                    {
                        DocsPaWR.InstanceAccess instanceAccess = InstanceAccessManager.GetInstanceAccessById(InstanceAccessManager.getInstanceAccessInSession().ID_INSTANCE_ACCESS);
                        InstanceAccessManager.setInstanceAccessInSession(instanceAccess);
                        this.InstanceDocuments = instanceAccess.DOCUMENTS.ToList <InstanceAccessDocument>();
                        ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "RefreshJsTree", "JsTree();", true);
                    }
                    UIManager.InstanceAccessManager.RemoveInstanceAccessDocuments(listDoc);
                    this.InstanceDocuments.RemoveAll(x => x.ID_INSTANCE_ACCESS_DOCUMENT == idObject);
                    break;

                case "attach":
                    foreach (InstanceAccessDocument instanceDoc in this.InstanceDocuments)
                    {
                        if (instanceDoc.ATTACHMENTS != null && instanceDoc.ATTACHMENTS.Length > 0)
                        {
                            //listAtt = instanceDoc.ATTACHMENTS.ToList<InstanceAccessAttachments>().Where(p => p.ID_ATTACH.Equals(idObject)).ToList<InstanceAccessAttachments>();
                            //instanceDoc.ATTACHMENTS.ToList<InstanceAccessAttachments>().RemoveAll(p => p.ID_ATTACH.Equals(idObject));

                            listAtt = instanceDoc.ATTACHMENTS.ToList <InstanceAccessAttachments>().Where(p => p.SYSTEM_ID.Equals(this.treenode_deleted.Value.Split('_')[1])).ToList <InstanceAccessAttachments>();
                            instanceDoc.ATTACHMENTS.ToList <InstanceAccessAttachments>().RemoveAll(p => p.SYSTEM_ID.Equals(this.treenode_deleted.Value.Split('_')[1]));


                            if (listAtt != null && listAtt.Count > 0)
                            {
                                break;
                            }
                        }
                        // instanceDoc.ATTACHMENTS.ToList().RemoveAll(p => p.ID_ATTACH.Equals(this.treenode_deleted.Value.Split('_')[1]));
                    }

                    UIManager.InstanceAccessManager.RemoveInstanceAccessAttachments(listAtt);

                    /*
                     *                  InstanceAccessDocument doc = (from d in listInstanceAccessDocumentTemp
                     *                                                where ((from a in d.ATTACHMENTS where a.ID_ATTACH.Equals("id") select a).Count() > 0)
                     *                                                select d).FirstOrDefault();
                     *                  (listInstanceAccessDocumentTemp.Find(d => d.ID_INSTANCE_ACCESS_DOCUMENT.Equals(doc.ID_INSTANCE_ACCESS_DOCUMENT))).ATTACHMENTS.ToList().RemoveAll(a => a.ID_ATTACH.Equals("id"));
                     */
                    break;

                case "rootNo":
                    idObject = this.treenode_deleted.Value.Split('_')[1];
                    listDoc  = this.InstanceDocuments.Where(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject)).ToList <InstanceAccessDocument>();
                    UIManager.InstanceAccessManager.RemoveInstanceAccessDocuments(listDoc);
                    this.InstanceDocuments.RemoveAll(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject));
                    break;

                case "nodeNo":
                    idObject = this.treenode_deleted.Value.Split('_')[1];
                    listDoc  = this.InstanceDocuments.Where(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject)).ToList <InstanceAccessDocument>();
                    UIManager.InstanceAccessManager.RemoveInstanceAccessDocuments(listDoc);
                    this.InstanceDocuments.RemoveAll(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject));
                    break;
                }
            }
            DocsPaWR.InstanceAccess inst = UIManager.InstanceAccessManager.getInstanceAccessInSession();
            inst.DOCUMENTS = this.InstanceDocuments.ToArray <InstanceAccessDocument>();
            UIManager.InstanceAccessManager.setInstanceAccessInSession(inst);

            //ScriptManager.RegisterStartupScript(this, this.GetType(), "jsTree", "JsTree();", true);
            //this.upnlStruttura.Update();

            this.treenode_deleted.Value = string.Empty;
            this.upPnlButtons.Update();
        }