Beispiel #1
0
        public MainFormPresenter(MainForm target)
        {
            if (target == null)
            {
                throw new ArgumentNullException("target");
            }
            _target          = target;
            _target.AutoSize = true;

            TabGrid tg = new TabGrid(typeof(Noleggio).Name);

            _target.ElenchiTab.TabPages.Add(tg);
            _noleggiTabPresenter = new TabPresenter <Noleggio, NoleggioAdapted>(tg.DataGridView,
                                                                                Negozio.Noleggi, el => el is Noleggio && !el.IsChiuso//el is Noleggio al momento non è indispensabile
                                                                                );
            Negozio.Changed += _noleggiTabPresenter.RefreshView;

            // Creazione delle tab con gli elementi
            foreach (Type t in typeof(Elemento).GetSubtypes())
            {
                TabGrid tbg = new TabGrid(t.Name);
                _target.ElenchiTabControl.TabPages.Add(tbg);
                Negozio.Changed += new TabPresenter <Elemento, ElementoAdapted>(tbg.DataGridView,
                                                                                Negozio.Elementi, el => el.GetType() == t && el.IsLibero).RefreshView;
            }
            _target.RestituisciElementiButton.Click += ConsegnaElementi;
            _target.SostituisciElementiButton.Click += SostituisciElementi;

            _mainFormMenuPresenter = new MainFormMenuPresenter(Target.MenuStrip);
            CommandManager.RegisterTarget(Target);
            NoleggioServices.RegisterCommands();
        }
Beispiel #2
0
        public void ModificaAgevolazione(object sender, EventArgs e)
        {
            //  Selezionare l'entità che si vuole modificare (SelezionaDa)
            //  Invocare il metodo Modifica
            //  In caso di successo, Invocare il metodo Modifica di Negozio

            // TO DO:
            // - controllare non sia conivolta in noleggi
            // - creare il metodo in Negozio

            if (_target.DataGridView.CurrentRow != null)
            {
                Agevolazione daModificare = (Agevolazione)_target.DataGridView.CurrentRow.DataBoundItem;

                //foreach (Elemento ele in Negozio.GetInstance().Elementi.Where(el => el.Tipo == daModificare))
                //    if (ele.Stato == FactoryStatiElemento.GetStato("Noleggiabile") && !ele.IsLibero)
                //    {
                //        MessageBox.Show("Impossibile modificare mentre ci sono elementi di questo tipo con un noleggio in corso",
                //                        "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //        return;
                //    }
                if (NoleggioServices.Modifica(daModificare, false))
                {
                    //Negozio.ModificaAgevolazione(daModificare);
                }
            }
        }
        public void ModificaTipoElemento(object sender, EventArgs e)
        {
            //  Selezionare l'entità che si vuole modificare (SelezionaDa)
            //  Invocare il metodo Modifica
            //  In caso di successo, Invocare il metodo Modifica di Negozio

            if (_target.DataGridView.CurrentRow != null)
            {
                TipoElemento daModificare = (TipoElemento)_target.DataGridView.CurrentRow.DataBoundItem;

                foreach (Elemento ele in Negozio.GetInstance().Elementi.Where(el => el.Tipo == daModificare))
                {
                    if (ele.Stato == FactoryStatiElemento.GetStato("Noleggiabile") && !ele.IsLibero)
                    {
                        MessageBox.Show("Impossibile modificare mentre ci sono elementi di questo tipo con un noleggio in corso",
                                        "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                }
                if (NoleggioServices.Modifica(daModificare, false))
                {
                    Negozio.ModificaTipoElemento(daModificare);
                }
            }
        }
Beispiel #4
0
 public void ModificaDipendente(object sender, EventArgs e)
 {
     if (_target.DataGridView.CurrentRow != null)
     {
         IDipendente daModificare = (IDipendente)_target.DataGridView.CurrentRow.DataBoundItem;
         if (NoleggioServices.Modifica(daModificare, false))
         {
             Negozio.ModificaDipendente(daModificare);
         }
     }
 }
        public void ModificaElemento(object sender, EventArgs e)
        {
            //  Selezionare la persona che si vuole modificare (SelezionaDa)
            //  Invocare il metodo Modifica
            //  In caso di successo, Invocare il metodo Modifica di Document

            if (_target.DataGridView.CurrentRow != null)
            {
                Elemento daModificare = (Elemento)_target.DataGridView.CurrentRow.DataBoundItem;
                if (NoleggioServices.Modifica(daModificare, false))
                {
                    Negozio.ModificaElemento(daModificare);
                }
            }
        }
 private static void AggiungiElementoAlSistema(object sender, EventArgs e)
 {
     NoleggioServices.AggiungiElementi();
 }