public static Form GetChildForm(Form[] mdiChildren, FormKey key)
        {
            Form form = null;
            for (var i = 0; i < mdiChildren.Length; i++)
            {
                if (mdiChildren[i].Tag != null && mdiChildren[i].Tag.ToString() == key.ToString())
                {
                    form = mdiChildren[i];
                    break;
                }
            }

            return form;
        }
Exemple #2
0
 private void btnIntestazioneClick(object sender, EventArgs e)
 {
     var key = new FormKey(CurrentCondominio.ID, "DettaglioCondominio_" + CurrentCondominio);
     var form = WinFormControlsLibrary.GetChildForm(MdiParent != null ? MdiParent.MdiChildren : null, key);
     if (form == null)
     {
         form = getDettaglioCondominioService().GetFormDettaglio(CurrentCondominio);
         form.MdiParent = MdiParent;
         form.Show();
     }
     form.BringToFront();
 }
        private void listaDoubleClickRow(object sender, DoubleClickRowEventArgs e)
        {
            try
            {
                if (e.Row?.ListObject is UnitaImmobiliareListaDTO)
                {
                    var unitaImmobiliare = (UnitaImmobiliareListaDTO)e.Row.ListObject;
                    var key = new FormKey(unitaImmobiliare.Id, "DettaglioUnitaImmobiliare" + "_" + unitaImmobiliare);
                    Form form = null;
                    if (ParentForm?.MdiParent != null)
                        form = WinFormControlsLibrary.GetChildForm(ParentForm.MdiParent.MdiChildren, key);
                    if (form == null)
                    {
                        form = new DettaglioUnitaImmobiliareUI(unitaImmobiliare);

                        ((DettaglioUnitaImmobiliareUI)form).AfterUpdate += listaUnitaImmobiliariUCAfterUpdate;
                        ((DettaglioUnitaImmobiliareUI)form).AfterUpdateSoggetto += listaUnitaImmobiliariUCAfterUpdateSoggetto;
                        _formAfterUpdateEventHandler.Add((DettaglioUnitaImmobiliareUI)form);

                        if (ParentForm != null) form.MdiParent = ParentForm.MdiParent;

                        var prop = new CustomFormProperties {Key = key};
                        if (form.Tag != null)
                            prop = (CustomFormProperties)form.Tag;
                        form.Tag = prop;

                        form.Show();
                    }

                    form.BringToFront();
                }
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore durante l'apertura della unità immobiliare - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), Login.Instance.CurrentLogin().Azienda);
            }
        }
Exemple #4
0
        private void itemClick(string key, bool isNew)
        {
            try
            {
                var iPlugin = _pluginList[key];

                IPluginContabilita pluginContabilita = null;
                var plugin = iPlugin as IPluginContabilita;
                if (plugin != null)
                {
                    pluginContabilita = plugin;
                    if (pluginContabilita.IsNecessarioEsercizio && (_condominio == null || _esercizio == null))
                    {
                        CommonMessages.DisplayWarning("Scegliere un condominio e un esercizio.");
                        return;
                    }
                    pluginContabilita.SetEsercizioCorrente(_condominio, _esercizio);
                }

                if (iPlugin.IsAllow)
                {
                    var formKey = new FormKey(null, key);
                    var form = WinFormControlsLibrary.GetChildForm(MdiChildren, formKey);

                    if (form == null || form.IsDisposed)
                    {
                        form = !isNew ? iPlugin.GetForm(this, _condominio, _esercizio) : iPlugin.GetNewForm(null, null);

                        if (pluginContabilita != null && form != null)
                        {
                            form.Text = pluginContabilita.Caption;
                            var contabilita = form as MainContabilita;
                            if (contabilita != null)
                            {
                                contabilita.SetCurrentPlugin(pluginContabilita);
                                contabilita.SetCurrentEsercizio(_condominio, _esercizio);
                                contabilita.SelectCondominio += mdiSferaSelectCondominio;
                                contabilita.SelectMultiCondominio += mdiSferaSelectMultiCondominio;
                                contabilita.SelectTab += mdiSferaSelectTab;
                            }
                        }
                    }
                    else if (form is MainContabilita && _condominio != null && _esercizio != null)
                        ((MainContabilita)form).Reload(_condominio, _esercizio);

                    if (form != null)
                    {
                        form.FormClosed += form_FormClosed;
                        if (iPlugin.ShowDialog)
                        {
                            form.ShowDialog(this);
                            form.Dispose();                            
                        }
                        else
                        {
                            var prop = new CustomFormProperties();
                            if (form.Tag != null)
                                prop = (CustomFormProperties)form.Tag;
                            prop.Key = formKey;
                            form.Tag = prop;

                            try
                            {
                                form.MdiParent = this;
                            }
                            catch (Exception ex)
                            {
                                _log.ErrorFormat("Errore inaspettato nella impostazione dell'mdi parent - {0} - key:{1} - form:{2}", ex, Utility.GetMethodDescription(), key, form.Name);                                
                            }
                            
                            form.Show();

                            if (!(form is MainContabilita) || !((MainContabilita)form).ToClose)
                            {
                                form.BringToFront();
                                SetSelectedTab("home");
                            }
                            else
                            {
                                form.Close();
                                form.Dispose();                                
                        }
                        }
                        if (pluginContabilita != null)
                            pluginContabilita.SetLayout();
                    }

                    showSaldiBancari(iPlugin.ShowSaldiBancari);

                    return;
                }
                CommonMessages.DisplayWarning("La funzione non è attualmente abilitata");
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore inaspettato sul click del bottone - key:{0}", ex, key);
            }
        }