public ActionResult GestionePulsantiMAB(decimal idTrasferimento)
        {
            AttivazioneMABModel amm = new AttivazioneMABModel();
            MAB ma = new MAB();
            ANTICIPOANNUALEMAB aa = new ANTICIPOANNUALEMAB();

            //VariazioniMABModel vmam = new VariazioniMABModel();
            //RinunciaMABModel rmab = new RinunciaMABModel();

            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    using (dtMaggiorazioneAbitazione dtma = new dtMaggiorazioneAbitazione())
                    {
                        using (dtTrasferimento dtt = new dtTrasferimento())
                        {
                            bool amministratore = Utility.Amministratore();

                            string  disabledNotificaRichiesta = "disabled";
                            string  hiddenNotificaRichiesta   = "";
                            string  disabledAttivaRichiesta   = "disabled";
                            string  hiddenAttivaRichiesta     = "hidden";
                            string  disabledAnnullaRichiesta  = "disabled";
                            string  hiddenAnnullaRichiesta    = "hidden";
                            decimal num_attivazioni           = 0;
                            bool    esisteMod1 = false;

                            EnumStatoTraferimento statoTrasferimento = 0;


                            amm             = dtma.GetAttivazionePartenzaMAB(idTrasferimento);
                            num_attivazioni = dtma.GetNumAttivazioniMAB(idTrasferimento);
                            ma = dtma.GetMABPartenza(idTrasferimento, db);

                            var ldocModulo1 = dtma.GetDocumentiMABbyTipoDoc(amm.idAttivazioneMAB, (decimal)EnumTipoDoc.Prima_Rata_Maggiorazione_abitazione);
                            if (ldocModulo1.Count > 0)
                            {
                                esisteMod1 = true;
                            }

                            var idAttivazioneMAB = amm.idAttivazioneMAB;

                            bool esisteMAB = ma.IDMAB > 0 ? true : false;
                            //bool esisteVMAB = vmam.idVariazioniMAB > 0 ? true : false;

                            bool notificaRichiesta = amm.notificaRichiesta;
                            bool attivaRichiesta   = amm.Attivazione;


                            var t = dtt.GetTrasferimentoById(idTrasferimento);
                            statoTrasferimento = t.idStatoTrasferimento;


                            //se non esiste nessuma MAB non esegue nessun controllo
                            if (esisteMAB)
                            {
                                //se amministratore vedo i pulsanti altrimenti solo notifica
                                if (amministratore)
                                {
                                    hiddenAttivaRichiesta  = "";
                                    hiddenAnnullaRichiesta = "";

                                    if (num_attivazioni == 0)
                                    {
                                        if (notificaRichiesta && attivaRichiesta == false && esisteMod1 && statoTrasferimento != EnumStatoTraferimento.Annullato)
                                        {
                                            disabledAttivaRichiesta  = "";
                                            disabledAnnullaRichiesta = "";
                                        }
                                        if (notificaRichiesta == false && attivaRichiesta == false && statoTrasferimento != EnumStatoTraferimento.Annullato)
                                        {
                                            if (esisteMod1)
                                            {
                                                disabledNotificaRichiesta = "";
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    if (num_attivazioni == 0)
                                    {
                                        if (notificaRichiesta == false && attivaRichiesta == false && esisteMod1 && statoTrasferimento != EnumStatoTraferimento.Annullato)
                                        {
                                            disabledNotificaRichiesta = "";
                                        }
                                    }
                                }
                            }
                            else
                            {
                                if (amministratore)
                                {
                                    hiddenAttivaRichiesta  = "";
                                    hiddenAnnullaRichiesta = "";
                                }
                            }
                            //gestione pulsanti in caso di rinuncia
                            if (notificaRichiesta && attivaRichiesta == false && ma.RINUNCIAMAB && statoTrasferimento != EnumStatoTraferimento.Annullato)
                            {
                                disabledAttivaRichiesta  = "";
                                disabledAnnullaRichiesta = "";
                            }
                            if (ma.RINUNCIAMAB && notificaRichiesta == false && attivaRichiesta == false && statoTrasferimento != EnumStatoTraferimento.Annullato)
                            {
                                disabledNotificaRichiesta = "";
                            }

                            ViewData.Add("idTrasferimento", idTrasferimento);
                            ViewData.Add("idAttivazioneMAB", idAttivazioneMAB);
                            ViewData.Add("disabledAnnullaRichiesta", disabledAnnullaRichiesta);
                            ViewData.Add("disabledAttivaRichiesta", disabledAttivaRichiesta);
                            ViewData.Add("disabledNotificaRichiesta", disabledNotificaRichiesta);
                            ViewData.Add("hiddenAnnullaRichiesta", hiddenAnnullaRichiesta);
                            ViewData.Add("hiddenAttivaRichiesta", hiddenAttivaRichiesta);
                            ViewData.Add("hiddenNotificaRichiesta", hiddenNotificaRichiesta);
                            ViewData.Add("amministratore", amministratore);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }

            return(PartialView(amm));
        }
        public ActionResult AttivitaMAB(decimal idTrasferimento)
        {
            List <MABViewModel> mavml = new List <MABViewModel>();
            MABViewModel        mavm  = new MABViewModel();
            //MaggiorazioneAbitazioneModel mam = new MaggiorazioneAbitazioneModel();
            MAB                 mab  = new MAB();
            PERIODOMAB          pmab = new PERIODOMAB();
            ATTIVAZIONEMAB      am   = new ATTIVAZIONEMAB();
            AttivazioneMABModel amm  = new AttivazioneMABModel();
            ANTICIPOANNUALEMAB  aa   = new ANTICIPOANNUALEMAB();
            CANONEMAB           cm   = new CANONEMAB();

            using (ModelDBISE db = new ModelDBISE())
            {
                try
                {
                    db.Database.BeginTransaction();

                    bool soloLettura = false;
                    bool siDati      = false;
                    EnumStatoTraferimento statoTrasferimento = 0;
                    using (dtTrasferimento dtt = new dtTrasferimento())
                    {
                        using (dtMaggiorazioneAbitazione dtma = new dtMaggiorazioneAbitazione())
                        {
                            var t = dtt.GetTrasferimentoById(idTrasferimento);

                            amm = dtma.GetAttivazionePartenzaMAB(idTrasferimento);

                            if (amm != null && amm.idAttivazioneMAB > 0)
                            {
                                if (amm.notificaRichiesta)
                                {
                                    soloLettura = true;
                                }
                            }
                            mavm.idAttivazioneMAB = amm.idAttivazioneMAB;

                            mab = dtma.GetMABPartenza(idTrasferimento, db);

                            pmab = dtma.GetPeriodoMABPartenza(mab.IDMAB, db);

                            mavm.idMAB        = mab.IDMAB;
                            mavm.idPeriodoMAB = pmab.IDPERIODOMAB;

                            mavm.rinunciaMAB = mab.RINUNCIAMAB;

                            cm = dtma.GetCanoneMABPartenza(mab, db);

                            aa = dtma.GetAnticipoAnnualeMABPartenza(mab, db);
                            mavm.importo_canone = cm.IMPORTOCANONE;
                            mavm.dataInizioMAB  = pmab.DATAINIZIOMAB;
                            mavm.dataFineMAB    = pmab.DATAFINEMAB > t.dataRientro ? t.dataRientro.Value : pmab.DATAFINEMAB;
                            if (aa.IDANTICIPOANNUALEMAB > 0)
                            {
                                mavm.anticipoAnnuale = aa.ANTICIPOANNUALE;
                            }
                            else
                            {
                                mavm.anticipoAnnuale = false;

                                aa = dtma.CreaAnticipoAnnualePartenza(mavm, db);
                            }

                            mavm.id_Valuta = cm.IDVALUTA;

                            using (dtValute dtv = new dtValute())
                            {
                                var v = dtv.GetValutaModel(mavm.id_Valuta, db);
                                mavm.descrizioneValuta = v.descrizioneValuta;
                            }

                            var lpc = dtma.GetListPagatoCondivisoMABPartenza(mavm);

                            if (lpc.Count() > 0)
                            {
                                var pc = lpc.First();
                                mavm.canone_pagato    = pc.PAGATO;
                                mavm.canone_condiviso = pc.CONDIVISO;
                            }

                            mavml.Add(mavm);

                            siDati = true;

                            statoTrasferimento = t.idStatoTrasferimento;
                            if (statoTrasferimento == EnumStatoTraferimento.Annullato)
                            {
                                soloLettura = true;
                            }

                            if (mab.RINUNCIAMAB)
                            {
                                soloLettura = true;
                            }

                            ViewData.Add("soloLettura", soloLettura);
                            ViewData.Add("siDati", siDati);
                            ViewData.Add("idAttivazioneMAB", amm.idAttivazioneMAB);
                            ViewData.Add("idMAB", mab.IDMAB);
                            ViewData.Add("idTrasferimento", idTrasferimento);
                        }
                    }

                    db.Database.CurrentTransaction.Commit();
                }

                catch (Exception ex)
                {
                    db.Database.CurrentTransaction.Rollback();
                    return(PartialView("ErrorPartial", new MsgErr()
                    {
                        msg = ex.Message
                    }));
                }
            }

            return(PartialView(mavml));
        }
        private void buttonCalcular_Click(object sender, EventArgs e)
        {
            //variables pendeinte
            double MAB, MBC, MCA;
            double A2 = 0, B2 = 0, C2 = 0;
            double A = 0, B = 0, C = 0;

            //variables angulos
            double Angulo1, Angulo2, Angulo3;
            double tan1, tan2, tan3;
            double total;

            if (XAT.Text == "")
            {
                MessageBox.Show("Falta agregar el valor X(A)", "Alerta");
            }
            if (XBT.Text == "")
            {
                MessageBox.Show("Falta agregar el valor X(B)", "Alerta");
            }
            if (XCT.Text == "")
            {
                MessageBox.Show("Falta agregar el valor X(C)", "Alerta");
            }

            if (YAT.Text == "")
            {
                MessageBox.Show("Falta agregar el valor Y(A)", "Alerta");
            }
            if (YBT.Text == "")
            {
                MessageBox.Show("Falta agregar el valor Y(B)", "Alerta");
            }
            if (YCT.Text == "")
            {
                MessageBox.Show("Falta agregar el valor Y(C)", "Alerta");
            }

            //se comprube q sea numero y no otro caracter

            //leer puntos(X)
            try
            {
                A = Convert.ToDouble(XAT.Text);
            }

            catch (Exception)
            {
                MessageBox.Show("Escribe un numero en X(A)");
                return;
            }

            //try X(B)
            try
            {
                B = Convert.ToDouble(XBT.Text);
            }

            catch (Exception)
            {
                MessageBox.Show("Escribe un numero en X(B)");
                return;
            }

            //try X(C)
            try
            {
                C = Convert.ToDouble(XCT.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Escribe un numero en X(C)");
                return;
            }

            //Leer puntos(Y)

            //TRY Y(A)
            try
            {
                A2 = Convert.ToDouble(YAT.Text);
            }

            catch (Exception)
            {
                MessageBox.Show("Escribe un numero en Y(A)");
                return;
            }

            //TRY Y(B)
            try
            {
                B2 = Convert.ToDouble(YBT.Text);
            }
            catch (Exception)
            {
                MessageBox.Show("Escribe un numero en Y(B)");
                return;
            }

            //TRY Y(C)
            try
            {
                C2 = Convert.ToDouble(YCT.Text);
            }

            catch (Exception)
            {
                MessageBox.Show("Escribe un numero en Y(C)");
                return;
            }


            //pendiente
            listBox1.Items.Add("Pendiente PMAB");
            MAB = (B2 - A2) / (B - A);
            listBox1.Items.Add(MAB.ToString());

            listBox2.Items.Add("Pendiente MBC");
            MBC = (C2 - B2) / (C - B);
            listBox2.Items.Add(MBC.ToString());

            listBox3.Items.Add("Pendiente MCA");
            MCA = (A2 - C2) / (A - C);
            listBox3.Items.Add(MCA.ToString());

            //Angulos =1/match.tan(val(texbox))
            Angulo1 = (MAB - MBC) / (1 + (MBC * MAB));
            Angulo2 = (MBC - MCA) / (1 + (MCA * MBC));
            Angulo3 = (MCA - MAB) / (1 + (MAB * MCA));
            tan1    = Math.Atan(Angulo1) * 180 / Math.PI;
            tan2    = Math.Atan(Angulo2) * 180 / Math.PI;
            tan3    = Math.Atan(Angulo3) * 180 / Math.PI;
            listBox1.Items.Add(tan1.ToString());
            listBox2.Items.Add(tan2.ToString());
            listBox3.Items.Add(tan3.ToString());
            total = tan1 + tan2 + tan3;
            this.textBox1.Text = total.ToString();
        }