Пример #1
0
        //---------------------------------------------------
        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();
        }
Пример #2
0
 //---------------------------------------------------
 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);
            }
        }