//------------------------------------------------------------- private CResultAErreur AppliqueFormule() { CResultAErreur result = CResultAErreur.True; C2iExpression formule = m_txtFormule.Formule; if (formule == null) { result = m_txtFormule.ResultAnalyse; return(result); } CContexteDonnee ctxOriginal = m_listeObjetsAAppliquer[0].ContexteDonnee; try { if (m_contexteModification != null) { m_contexteModification.Dispose(); m_contexteModification = null; } m_contexteModification = ctxOriginal.GetContexteEdition(); foreach (CObjetDonnee objet in m_listeObjetsAAppliquer) { if (objet != null) { CObjetDonnee objetModif = objet.GetObjetInContexte(m_contexteModification); CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(objetModif); result = formule.Eval(ctx); if (!result) { result.EmpileErreur(I.T("Error while applying formula on @1|20093", objetModif.DescriptionElement)); return(result); } else { m_txtResult.Text += "-----------------------------------"; m_txtResult.Text += Environment.NewLine; m_txtResult.Text += objetModif.DescriptionElement + "->"; m_txtResult.Text += result.Data != null?result.Data.ToString() : "NULL"; m_txtResult.Text += Environment.NewLine; } } } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
private void DragDropFiles(string[] strFichiers, CObjetDonneeAIdNumerique objet, CCategorieGED categorie) { CContexteDonnee ctxAppli = CSc2iWin32DataClient.ContexteCourant; using (CContexteDonnee contexte = ctxAppli.GetContexteEdition()) { if (MessageBox.Show(m_lblInfoDragDrop.Text, "", MessageBoxButtons.YesNo) == DialogResult.Yes) { foreach (string strFichier in strFichiers) { if (File.Exists(strFichier)) { string strTitre = Path.GetFileName(strFichier); string strExt = Path.GetExtension(strFichier); if (strExt.Length > 0) { strTitre = strTitre.Remove(strTitre.Length - strExt.Length); } CDocumentGED document = new CDocumentGED(contexte); document.CreateNewInCurrentContexte(); document.Libelle = strTitre; if (objet != null) { document.AssocieA(objet); } if (categorie != null) { CRelationDocumentGED_Categorie rel = new CRelationDocumentGED_Categorie(contexte); rel.CreateNewInCurrentContexte(); rel.Categorie = categorie; rel.Document = document; } CTypeReferenceDocument typeRef = m_cmbModeStockage.SelectedValue as CTypeReferenceDocument; if (typeRef == null) { typeRef = new CTypeReferenceDocument(CTypeReferenceDocument.TypesReference.Fichier); } CProxyGED proxy = new CProxyGED(contexte.IdSession, typeRef.Code); proxy.AttacheToLocal(strFichier); CResultAErreur result = proxy.UpdateGed(); document.ReferenceDoc = result.Data as CReferenceDocument; } } contexte.CommitEdit(); Init(m_elementEdite); } } m_lblInfoDragDrop.Visible = false; }
//------------------------------------------ private void m_picBox_DragDrop(object sender, DragEventArgs e) { CReferenceObjetDonnee[] refs = e.Data.GetData(typeof(CReferenceObjetDonnee[])) as CReferenceObjetDonnee[]; if (refs == null) { CReferenceObjetDonnee refe = e.Data.GetData(typeof(CReferenceObjetDonnee)) as CReferenceObjetDonnee; if (refe != null) { refs = new CReferenceObjetDonnee[] { refe }; } } if (refs != null) { List <CBesoin> lstBesoins = new List <CBesoin>(); StringBuilder blListe = new StringBuilder(); foreach (CReferenceObjetDonnee refO in refs) { if (typeof(CBesoin).IsAssignableFrom(refO.TypeObjet)) { CBesoin besoin = refO.GetObjet(m_satisfaction.ContexteDonnee) as CBesoin; if (besoin != null) { if (m_satisfaction.CanSatisfaire(besoin)) { lstBesoins.Add(besoin); blListe.Append(besoin.Libelle); blListe.Append(" ,"); } } } } if (lstBesoins.Count > 0) { blListe.Remove(blListe.Length - 2, 2); if (MessageBox.Show(I.T("@1 will be considered as a solution of @2. Continue ?|20631", m_satisfaction.Libelle, blListe.ToString()), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { CContexteDonnee ctx = m_satisfaction.ContexteDonnee; if (!m_bIsEnEdition) { ctx = ctx.GetContexteEdition(); } foreach (CBesoin besoin in lstBesoins) { CBesoin besoinEdit = besoin.GetObjetInContexte(ctx) as CBesoin; besoinEdit.AddSatisfaction(m_satisfaction, null); } if (!m_bIsEnEdition) { CResultAErreur result = ctx.CommitEdit(); if (!result) { CFormAlerte.Afficher(result.Erreur); ctx.CancelEdit(); } ctx.Dispose(); } } } } }
private void BeginModeEdition() { m_contexteEnEdition = m_contexteDonnee.GetContexteEdition(); m_panelTop.SetContexteDonnee(m_contexteEnEdition); m_gestionnaireModeEdition.ModeEdition = true; }
public CResultAErreurType <CMappageIdsAlarmes> Traite(CMemoryDb dbContenantLesAlarmesATraiter) { CResultAErreurType <CMappageIdsAlarmes> result = new CResultAErreurType <CMappageIdsAlarmes>(); result.SetTrue(); CResultAErreur resErreur = CResultAErreur.True; try { lock (typeof(CLockerTraitementAlarme)) { resErreur = AssureSessionEtContexte(); if (!resErreur) { result.EmpileErreur(resErreur.Erreur); return(result); } CListeEntitesDeMemoryDb <CLocalAlarme> lstAlarmes = new CListeEntitesDeMemoryDb <CLocalAlarme>(dbContenantLesAlarmesATraiter); lstAlarmes.Filtre = new CFiltreMemoryDb(CMemoryDb.c_champIsToRead + "=@1", false); lstAlarmes.Sort = CLocalAlarme.c_champDateDebut; //Mappage des ids pour les alarmes qui changent d'ID m_nNbAlarmesTraitees += lstAlarmes.Count(); CMappageIdsAlarmes dicMapIds = new CMappageIdsAlarmes(); HashSet <string> alarmesTraitees = new HashSet <string>(); using (CContexteDonnee ctxEdit = m_contexteDonnee.GetContexteEdition()) { ctxEdit.EnableTraitementsExternes = false; ctxEdit.DisableHistorisation = true; try { foreach (CLocalAlarme alrm in lstAlarmes) { if (!alarmesTraitees.Contains(alrm.Id)) { CLocalAlarme root = alrm; while (root.Parent != null && !root.Parent.IsToRead()) { root = root.Parent; } GereHierarchie(ctxEdit, root, dicMapIds, alarmesTraitees, null); } } result.DataType = dicMapIds; } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } finally { if (result) { resErreur = SauvegardeOptimisee(ctxEdit); if (!resErreur) { result.EmpileErreur(resErreur.Erreur); } } else { ctxEdit.CancelEdit(); } } } } } catch (Exception e) { { C2iEventLog.WriteErreur(I.T("Error in Alarms @1|20156", e.ToString())); } } finally { } Console.WriteLine("Alarmes traitées : " + m_nNbAlarmesTraitees + " à " + DateTime.Now.ToString("HH:mm:ss")); return(result); }