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)); }
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)); }