private string GetSubFolders(DocsPaWR.Folder folder, bool isRoot, ref List <string> idListProjectIns) { try { string type = isRoot ? "root" : "node"; string htmlDoc = this.caricaDocumenti(folder); InstanceAccessDocument acc = new InstanceAccessDocument(); string idObject = string.Empty; string html = string.Empty; if (isRoot) { acc = (this.InstanceDocuments.Where(x => x.INFO_PROJECT != null && x.INFO_PROJECT.ID_PROJECT == folder.idFascicolo)).FirstOrDefault(); } else { acc = (this.InstanceDocuments.Where(x => x.INFO_PROJECT != null && x.INFO_PROJECT.ID_PROJECT == folder.systemID)).FirstOrDefault(); } if (acc != null) { idListProjectIns.Add(acc.INFO_PROJECT.ID_PROJECT); string idNode = acc.ID_INSTANCE_ACCESS_DOCUMENT; string check = string.Empty; //if (acc.ENABLE) //{ // check = "class=\"jstree-checked\""; //} check = "class=\"jstree-unchecked\""; html = " <li " + check + "rel=\"directory\" id=\"" + type + "_" + idNode + "\" data-title=\"" + utils.FormatJs(utils.FormatHtml(folder.descrizione)) + "\">\n" + " <a href=\"#\" class=\"document_ellipsis clickableRight\" title=\"" + utils.FormatJs(utils.FormatHtml(folder.descrizione)) + "\">" + utils.FormatHtml(folder.descrizione) + "</a>\n"; if (folder.childs.Length > 0 || !string.IsNullOrEmpty(htmlDoc)) { html += "<ul>\n"; if (folder.childs.Length > 0) { for (int k = 0; k < folder.childs.Length; k++) { html += this.GetSubFolders(folder.childs[k], ref idListProjectIns); } } if (!string.IsNullOrEmpty(htmlDoc)) { html += htmlDoc; } html += "</ul>\n"; } html += " </li>\n"; } else { string typeNode = string.Empty; if (folder.idFascicolo.Equals(folder.idParent)) { idObject = folder.idFascicolo; typeNode = "rootNo"; } else { typeNode = "nodeNo"; idObject = folder.systemID; } string check = string.Empty; if (acc != null && acc.ENABLE) { check = "class=\"jstree-checked\""; } html = " <li " + check + " id=\"" + typeNode + "_" + folder.idFascicolo + "\" data-title=\"" + utils.FormatJs(utils.FormatHtml(folder.descrizione)) + "\">\n" + " <a href=\"#\" class=\"document_ellipsis clickableRight\" title=\"" + utils.FormatJs(utils.FormatHtml(folder.descrizione)) + "\">" + utils.FormatHtml(folder.descrizione) + "</a>\n"; if (folder.childs.Length > 0 || !string.IsNullOrEmpty(htmlDoc)) { html += "<ul>\n"; if (folder.childs.Length > 0) { for (int k = 0; k < folder.childs.Length; k++) { html += this.GetSubFolders(folder.childs[k], ref idListProjectIns); } } if (!string.IsNullOrEmpty(htmlDoc)) { html += htmlDoc; } html += "</ul>\n"; } html += " </li>\n"; } return(html); } catch (System.Exception ex) { UIManager.AdministrationManager.DiagnosticError(ex); return(null); } }
private DocsPaVO.InstanceAccess.Metadata.Allegato[] getAllegati(DocsPaVO.documento.SchedaDocumento schDoc, InstanceAccessDocument doc, DocsPaVO.utente.InfoUtente infoUtente) { if (schDoc.allegati == null) { return(null); } if (schDoc.allegati.Count == 0) { return(null); } List <DocsPaVO.InstanceAccess.Metadata.Allegato> lstAll = new List <DocsPaVO.InstanceAccess.Metadata.Allegato>(); foreach (object a in schDoc.allegati) { DocsPaVO.InstanceAccess.Metadata.Allegato allegato = new DocsPaVO.InstanceAccess.Metadata.Allegato(); DocsPaVO.documento.Allegato all = a as DocsPaVO.documento.Allegato; if (all != null && (from att in doc.ATTACHMENTS where att.ID_ATTACH.Equals(all.docNumber) select att.ENABLE).FirstOrDefault()) { allegato.Descrizione = all.descrizione; allegato.ID = all.docNumber; //allegato.Tipo = "manuale"; //Cablato , per ora.. poi si vedrà string tipoAllegato = ""; switch (all.TypeAttachment) { case 1: tipoAllegato = "Allegato Utente"; break; case 2: tipoAllegato = "Allegato PEC"; break; case 3: tipoAllegato = "Allegato IS"; break; case 4: tipoAllegato = "Allegato Esterno"; break; default: tipoAllegato = "Non specificato"; break; } allegato.Tipo = tipoAllegato; if (!string.IsNullOrEmpty(all.fileSize) && Convert.ToInt32(all.fileSize) > 0) { FileDocumento fd = BusinessLogic.Documenti.FileManager.getFile(all, infoUtente); allegato.File = getFileDetail(fd, all, infoUtente); } lstAll.Add(allegato); } } return(lstAll.ToArray()); }
public XmlDocument(DocsPaVO.documento.FileDocumento fileDoc, DocsPaVO.documento.SchedaDocumento schDoc, DocsPaVO.documento.FileRequest objFileRequest, InstanceAccessDocument instanceDoc, DocsPaVO.utente.InfoUtente infoUtente) { if (this.documento == null) { documento = new DocsPaVO.InstanceAccess.Metadata.Document(); } DocsPaVO.utente.Ruolo ruolo = BusinessLogic.Utenti.UserManager.getRuolo(schDoc.creatoreDocumento.idCorrGlob_Ruolo); //DocsPaVO.utente.InfoUtente infoUtente = BusinessLogic.Utenti.UserManager.GetInfoUtente(BusinessLogic.Utenti.UserManager.getUtente(schDoc.creatoreDocumento.idPeople), ruolo); DocsPaVO.utente.UnitaOrganizzativa unitaOrganizzativa = ruolo.uo; List <DocsPaVO.InstanceAccess.Metadata.UnitaOrganizzativa> uoL = new List <DocsPaVO.InstanceAccess.Metadata.UnitaOrganizzativa>(); DocsPaVO.InstanceAccess.Metadata.UnitaOrganizzativa uoXML = convertiUO(unitaOrganizzativa); uoL.Add(uoXML); documento.SoggettoProduttore = new DocsPaVO.InstanceAccess.Metadata.SoggettoProduttore { Amministrazione = getInfoAmministrazione(ruolo.idAmministrazione), GerarchiaUO = new DocsPaVO.InstanceAccess.Metadata.GerarchiaUO { UnitaOrganizzativa = uoL.ToArray() }, Creatore = getCreatore(schDoc, ruolo) }; documento.IDdocumento = schDoc.systemId; documento.Oggetto = schDoc.oggetto.descrizione; documento.Tipo = convertiTipoPoto(schDoc); // documento.DataCreazione = Utils.formattaData(Utils.convertiData(schDoc.dataCreazione)); documento.DataCreazione = schDoc.dataCreazione; if (schDoc.privato != null && schDoc.privato.Equals("1")) { documento.LivelloRiservatezza = "privato"; } else { documento.LivelloRiservatezza = string.Empty; } if (instanceDoc.ENABLE && fileDoc != null) { documento.File = getFileDetail(fileDoc, objFileRequest, infoUtente); } documento.Registrazione = getRegistrazione(schDoc, ruolo); documento.ContestoArchivistico = getContestoArchivistico(schDoc, ruolo, infoUtente); if (schDoc.template != null) { DocsPaVO.InstanceAccess.Metadata.Tipologia t = new DocsPaVO.InstanceAccess.Metadata.Tipologia { NomeTipologia = schDoc.template.DESCRIZIONE, CampoTipologia = getCampiTipologia(schDoc.template) }; documento.Tipologia = t; } documento.Allegati = getAllegati(schDoc, instanceDoc, infoUtente); documento.TipoRichiesta = instanceDoc.TYPE_REQUEST; }
/* * 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(); }
protected void BtnCheckedDocuments_Click() { string value = this.treenode_checked.Value; string idObject = string.Empty; List <InstanceAccessDocument> listDoc = new List <InstanceAccessDocument>(); List <InstanceAccessDocument> listDocApp = new List <InstanceAccessDocument>(); List <InstanceAccessAttachments> listAtt = new List <InstanceAccessAttachments>(); List <InstanceAccessAttachments> listAttApp = new List <InstanceAccessAttachments>(); //listDoc = (from d in this.InstanceDocuments select new{instance=d,}).up InstanceAccessDocument acc = new InstanceAccessDocument(); //Inizialmente imposto tutti gli ENABLED dei documenti, e relativi allegati, a false for (int i = 0; i < this.InstanceDocuments.Count(); i++) { this.InstanceDocuments[i].ENABLE = false; listDoc.Add(this.InstanceDocuments[i]); if (InstanceDocuments[i].ATTACHMENTS != null && InstanceDocuments[i].ATTACHMENTS.Length > 0) { for (int j = 0; j < InstanceDocuments[i].ATTACHMENTS.Count(); j++) { InstanceDocuments[i].ATTACHMENTS[j].ENABLE = false; listAtt.Add(InstanceDocuments[i].ATTACHMENTS[j]); } } } 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; * listDocApp = this.InstanceDocuments.Where(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject)).ToList<InstanceAccessDocument>(); * if (listDocApp != null && listDocApp.Count() > 0) * { * foreach (InstanceAccessDocument d in listDocApp) * { * int index = listDoc.Select((item, i) => new { obj = item, index = i }).First(item => item.obj.ID_INSTANCE_ACCESS_DOCUMENT.Equals(d.ID_INSTANCE_ACCESS_DOCUMENT)).index; * listDoc[index].ENABLE = true; * } * } * this.InstanceDocuments.Clear(); * this.InstanceDocuments.AddRange(listDoc); * } * break; * case "node": * if (acc != null) * { * idObject = acc.INFO_PROJECT.ID_PROJECT; * listDocApp = this.InstanceDocuments.Where(x => x.INFO_PROJECT != null && (x.INFO_PROJECT.ID_PROJECT == idObject || x.INFO_PROJECT.ID_FASCICOLO == idObject)).ToList<InstanceAccessDocument>(); * if (listDocApp != null && listDocApp.Count() > 0) * { * foreach (InstanceAccessDocument d in listDocApp) * { * int index = listDoc.Select((item, i) => new { obj = item, index = i }).First(item => item.obj.ID_INSTANCE_ACCESS_DOCUMENT.Equals(d.ID_INSTANCE_ACCESS_DOCUMENT)).index; * listDoc[index].ENABLE = true; * } * } * this.InstanceDocuments.Clear(); * this.InstanceDocuments.AddRange(listDoc); * } * break; * */ case "doc": if (acc != null) { idObject = acc.ID_INSTANCE_ACCESS_DOCUMENT; List <InstanceAccessDocument> listInstanceAccessDocument = new List <InstanceAccessDocument>(); listDocApp = this.InstanceDocuments.Where(x => x.ID_INSTANCE_ACCESS_DOCUMENT == idObject).ToList <InstanceAccessDocument>(); if (listDocApp != null && listDocApp.Count() > 0) { foreach (InstanceAccessDocument d in listDocApp) { int index = listDoc.Select((item, i) => new { obj = item, index = i }).First(item => item.obj.ID_INSTANCE_ACCESS_DOCUMENT.Equals(d.ID_INSTANCE_ACCESS_DOCUMENT)).index; listDoc[index].ENABLE = true; } } this.InstanceDocuments.Clear(); this.InstanceDocuments.AddRange(listDoc); } break; case "attach": foreach (InstanceAccessDocument instanceDoc in this.InstanceDocuments) { if (instanceDoc.ATTACHMENTS != null && instanceDoc.ATTACHMENTS.Length > 0) { listAttApp = instanceDoc.ATTACHMENTS.ToList <InstanceAccessAttachments>().Where(p => p.SYSTEM_ID.Equals(val.Split('_')[1])).ToList <InstanceAccessAttachments>(); if (listAttApp != null && listAttApp.Count() > 0) { foreach (InstanceAccessAttachments a in listAttApp) { int index = listAtt.Select((item, i) => new { obj = item, index = i }).First(item => item.obj.SYSTEM_ID.Equals(a.SYSTEM_ID)).index; listAtt[index].ENABLE = true; int indexListAttInSession = instanceDoc.ATTACHMENTS.Select((item, i) => new { obj = item, index = i }).First(item => item.obj.SYSTEM_ID.Equals(a.SYSTEM_ID)).index; instanceDoc.ATTACHMENTS[indexListAttInSession].ENABLE = true; } break; } } } 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; } } } } UIManager.InstanceAccessManager.UpdateInstanceAccessDocumentEnable(listDoc); if (listAtt != null && listAtt.Count() > 0) { UIManager.InstanceAccessManager.UpdateInstanceAccessAttachmentsEnable(listAtt); } 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 BtnChangeSelectedDocument_Click(object sender, EventArgs e) { //if (!string.IsNullOrEmpty(this.treenode_sel.Value)) //{ // InstanceAccessDocument acc = new InstanceAccessDocument(); // acc = (this.InstanceDocuments.Where(x => x.ID_INSTANCE_ACCESS_DOCUMENT == this.treenode_sel.Value.Split('_')[1])).FirstOrDefault(); // Session["IsInvokingFromProjectStructure"] = true; // string value = this.treenode_sel.Value; // string[] words = this.treenode_sel.Value.Split('_'); // if (words != null && words.Length > 1) // { // value = words[words.Length - 1]; // } // if (acc != null) // { // SchedaDocumento doc = DocumentManager.getDocumentDetails(this, value, value); // DocumentManager.setSelectedRecord(doc); // FileManager.setSelectedFile(doc.documenti[0]); // this.ViewDocument.Page_Load(null, null); // this.unPnlVD.Visible = true; // this.unPnlViewDocument.Update(); // } //} //else //{ // DocumentManager.setSelectedRecord(null); // this.unPnlVD.Visible = false; // this.unPnlViewDocument.Update(); //} List <InstanceAccessDocument> listDoc = new List <InstanceAccessDocument>(); List <InstanceAccessAttachments> listAtt = new List <InstanceAccessAttachments>(); InstanceAccessDocument acc = new InstanceAccessDocument(); InstanceAccessAttachments att = new InstanceAccessAttachments(); string idObject = string.Empty; if (!string.IsNullOrEmpty(this.treenode_sel.Value)) { string documentID = string.Empty; //Session["IsInvokingFromProjectStructure"] = true; string value = this.treenode_sel.Value; string[] words = this.treenode_sel.Value.Split('_'); if (words != null && words.Length > 1) { value = words[words.Length - 1]; } switch (this.treenode_sel.Value.Split('_')[0]) { case "doc": acc = (this.InstanceDocuments.Where(x => x.ID_INSTANCE_ACCESS_DOCUMENT == this.treenode_sel.Value.Split('_')[1])).FirstOrDefault(); documentID = acc.DOCNUMBER; break; case "attach": foreach (InstanceAccessDocument instanceDoc in this.InstanceDocuments) { if (instanceDoc.ATTACHMENTS != null && instanceDoc.ATTACHMENTS.Length > 0) { att = instanceDoc.ATTACHMENTS.Where(p => p.SYSTEM_ID.Equals(this.treenode_sel.Value.Split('_')[1])).FirstOrDefault(); instanceDoc.ATTACHMENTS.ToList <InstanceAccessAttachments>().RemoveAll(p => p.SYSTEM_ID.Equals(this.treenode_sel.Value.Split('_')[1])); if (att != null) { documentID = att.ID_ATTACH; break; } } } break; } if (!string.IsNullOrEmpty(documentID)) { SchedaDocumento doc = DocumentManager.getDocumentDetails(this, documentID, documentID); DocumentManager.setSelectedRecord(doc); FileManager.setSelectedFile(doc.documenti[0]); this.ViewDocument.Page_Load(null, null); this.unPnlVD.Visible = true; this.unPnlViewDocument.Update(); } else { DocumentManager.setSelectedRecord(null); this.unPnlVD.Visible = false; this.unPnlViewDocument.Update(); } } else { DocumentManager.setSelectedRecord(null); this.unPnlVD.Visible = false; this.unPnlViewDocument.Update(); } }