//--------------------------------------------------- public void Init(C2iStructureImport structure) { m_structureImport = CCloner2iSerializable.Clone(structure) as C2iStructureImport; //Remplit la liste des types CInfoClasseDynamique[] classes = DynamicClassAttribute.GetAllDynamicClass(); ArrayList classesAIdAuto = new ArrayList(); foreach (CInfoClasseDynamique classe in classes) { if (typeof(CObjetDonneeAIdNumeriqueAuto).IsAssignableFrom(classe.Classe)) { classesAIdAuto.Add(classe); } } classesAIdAuto.Insert(0, new CInfoClasseDynamique(typeof(DBNull), I.T("None|19"))); m_cmbTypeEntite.DataSource = null; m_cmbTypeEntite.DataSource = classesAIdAuto; m_cmbTypeEntite.DisplayMember = "Nom"; m_cmbTypeEntite.ValueMember = "Classe"; m_cmbTypeEntite.SelectedValue = m_structureImport.TypeCible; m_chkOptionCreate.Checked = ((m_structureImport.OptionImport & EOptionImport.Create) == EOptionImport.Create); m_chkOptionUpdate.Checked = ((m_structureImport.OptionImport & EOptionImport.Update) == EOptionImport.Update); m_chkPrechargerLaCible.Checked = m_structureImport.ChargerTouteLaCible; FillControleMappage(); }
//--------------------------------------------------- private void m_lnkParamètreSource_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (m_structureImport == null) { m_structureImport = new C2iStructureImport(); } m_structureImport.ParametreLecture = CAssistantLectureFichier.CreateParametreLectureFichier(ref m_strNomFichier); FillControleMappage(); }
private void m_lnkDemarrer_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { CResultAErreur result = CResultAErreur.True; try { C2iStructureImport structure = m_panelStructure.GetStructureFinale(); if (structure.Mappages.Select(m => m.IsCle).Count() == 0) { if (MessageBox.Show(I.T("Warning, You didn't select any identification field. Continue ?|20052"), "", MessageBoxButtons.YesNo) == DialogResult.No) { return; } } string strFichier = m_panelStructure.NomFichier; using (CContexteDonnee ctx = new CContexteDonnee(CSc2iWin32DataClient.ContexteCourant.IdSession, true, false)) { ctx.SetVersionDeTravail(CSc2iWin32DataClient.ContexteCourant.IdVersionDeTravail, false); using (CWaitCursor waiter = new CWaitCursor()) { result = structure.Importer(strFichier, ctx); } if (result) { DataTable table = ctx.GetTableSafe(CContexteDonnee.GetNomTableForType(structure.TypeCible)); int nNbUpdate = structure.NbUpdated; int nNbCreate = structure.NbCreated; if (CFormAlerte.Afficher(I.T("This opération will create @1 and update @2 elements. Do you confirm this operation ?|20050", nNbCreate.ToString(), nNbUpdate.ToString()), EFormAlerteType.Question) == DialogResult.Yes) { result = ctx.SaveAll(true); if (result) { CFormAlerte.Afficher(I.T("Import ended with success|20051"), EFormAlerteType.Info); } } } } } catch (Exception ex) { result.EmpileErreur(new CErreurException(ex)); } if (!result) { CFormAfficheErreur.Show(result.Erreur); } }