public bool EsistonoMovimentiPrimaUguale(PercentualeMagConiugeModel ibm) { using (ModelDBISE db = new ModelDBISE()) { return(db.PERCENTUALEMAGCONIUGE.Where(a => a.DATAINIZIOVALIDITA <= ibm.dataInizioValidita).Count() > 0 ? true : false); } }
public PercentualeMagConiugeModel GetPercentualeMaggiorazioneConiuge(EnumTipologiaConiuge idTipologiaConiuge, DateTime dt, ModelDBISE db) { PercentualeMagConiugeModel pmcm = new PercentualeMagConiugeModel(); var lpmc = db.PERCENTUALEMAGCONIUGE.Where( a => a.ANNULLATO == false && a.IDTIPOLOGIACONIUGE == (decimal)idTipologiaConiuge && dt >= a.DATAINIZIOVALIDITA && dt <= a.DATAFINEVALIDITA).OrderByDescending(a => a.DATAINIZIOVALIDITA).ToList(); if (lpmc != null && lpmc.Count > 0) { var pmc = lpmc.First(); pmcm = new PercentualeMagConiugeModel() { idPercentualeConiuge = pmc.IDPERCMAGCONIUGE, idTipologiaConiuge = (EnumTipologiaConiuge)pmc.IDTIPOLOGIACONIUGE, dataInizioValidita = pmc.DATAINIZIOVALIDITA, dataFineValidita = pmc.DATAFINEVALIDITA, percentualeConiuge = pmc.PERCENTUALECONIUGE, dataAggiornamento = pmc.DATAAGGIORNAMENTO, annullato = pmc.ANNULLATO }; } return(pmcm); }
public bool EsistonoMovimentiSuccessiviUguale(PercentualeMagConiugeModel ibm) { using (ModelDBISE db = new ModelDBISE()) { if (ibm.dataFineValidita.HasValue) { return(db.PERCENTUALEMAGCONIUGE.Where(a => a.DATAINIZIOVALIDITA >= ibm.dataFineValidita.Value).Count() > 0 ? true : false); } else { return(false); } } }
public ActionResult InserisciMaggiorazioneConiuge(PercentualeMagConiugeModel ibm, bool escludiAnnullati = true, bool aggiornaTutto = false) { var r = new List <SelectListItem>(); ViewBag.escludiAnnullati = escludiAnnullati; List <PercentualeMagConiugeModel> libm = new List <PercentualeMagConiugeModel>(); List <TipologiaConiugeModel> llm = new List <TipologiaConiugeModel>(); try { if (ModelState.IsValid) { using (dtParMaggConiuge dtib = new dtParMaggConiuge()) { dtib.SetPercMagConiuge(ibm, aggiornaTutto); decimal idTipologiaConiuge_ = CaricaComboTipConiuge(Convert.ToDecimal(ibm.idTipologiaConiuge)); ViewBag.idMinimoNonAnnullato = dtib.Get_Id_PercentualMagConiugePrimoNonAnnullato(idTipologiaConiuge_); libm = dtib.getListPercMagConiuge(idTipologiaConiuge_, escludiAnnullati).OrderBy(a => a.dataInizioValidita).ThenBy(a => a.dataFineValidita).ToList(); } return(PartialView("PercMaggiorazioneConiuge", libm)); // return RedirectToAction("PercMaggiorazioneConiuge", new { escludiAnnullati = escludiAnnullati, idTipologiaConiuge = ibm.idTipologiaConiuge }); } else { using (dtParTipologiaConiuge dtl = new dtParTipologiaConiuge()) { var lm = dtl.GetTipologiaConiuge((decimal)ibm.idTipologiaConiuge); ViewBag.Coniuge = lm; } return(PartialView("NuovaPercMaggiorazioneConiuge", ibm)); } } catch (Exception ex) { return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } }
public PercentualeMagConiugeModel GetPercMagConiugeNow(decimal idConiuge, DateTime dt) { PercentualeMagConiugeModel pmcm = new PercentualeMagConiugeModel(); using (ModelDBISE db = new ModelDBISE()) { //var lpmc = db.CONIUGE.Find(idConiuge).PERCENTUALEMAGCONIUGE.Where(a => a.ANNULLATO == false && dt >= a.DATAINIZIOVALIDITA && dt <= a.DATAFINEVALIDITA).OrderByDescending(a => a.DATAINIZIOVALIDITA).ToList(); var c = db.CONIUGE.Find(idConiuge); var lpmc = c.PERCENTUALEMAGCONIUGE.Where( a => a.ANNULLATO == false && a.IDTIPOLOGIACONIUGE == c.IDTIPOLOGIACONIUGE && dt >= a.DATAINIZIOVALIDITA && dt <= a.DATAFINEVALIDITA) .OrderByDescending(a => a.DATAINIZIOVALIDITA) .ToList(); if (lpmc?.Any() ?? false) { var pmc = lpmc.First(); pmcm = new PercentualeMagConiugeModel() { idPercentualeConiuge = pmc.IDPERCMAGCONIUGE, idTipologiaConiuge = (EnumTipologiaConiuge)pmc.IDTIPOLOGIACONIUGE, dataInizioValidita = pmc.DATAINIZIOVALIDITA, dataFineValidita = pmc.DATAFINEVALIDITA, percentualeConiuge = pmc.PERCENTUALECONIUGE, dataAggiornamento = pmc.DATAAGGIORNAMENTO, annullato = pmc.ANNULLATO }; } } return(pmcm); }
public ActionResult AltriDatiFamiliariConiugeTitoliViaggio(decimal idConiuge) { AltriDatiFamConiugeModel adf = new AltriDatiFamConiugeModel(); MaggiorazioniFamiliariModel mcm = new MaggiorazioniFamiliariModel(); TrasferimentoModel tm = new TrasferimentoModel(); try { using (dtAltriDatiFamiliari dtadf = new dtAltriDatiFamiliari()) { //adf = dtadf.GetAlttriDatiFamiliariConiuge(idConiuge); } using (dtMaggiorazioniFamiliari dtmc = new dtMaggiorazioniFamiliari()) { mcm = dtmc.GetMaggiorazioniFamiliaribyConiuge(idConiuge); } using (dtPercentualeConiuge dtpc = new dtPercentualeConiuge()) { PercentualeMagConiugeModel pc = dtpc.GetPercMagConiugeNow(idConiuge, DateTime.Now.Date); if (pc != null && pc.HasValue()) { switch (pc.idTipologiaConiuge) { case EnumTipologiaConiuge.Residente: adf.residente = true; adf.ulterioreMagConiuge = false; break; case EnumTipologiaConiuge.NonResidente_A_Carico: adf.residente = false; adf.ulterioreMagConiuge = true; break; case EnumTipologiaConiuge.NonResidente: adf.residente = false; adf.ulterioreMagConiuge = false; break; default: break; } } } } catch (Exception ex) { return(PartialView("ErrorPartial", new MsgErr() { msg = ex.Message })); } using (dtTrasferimento dtt = new dtTrasferimento()) { tm = dtt.GetTrasferimentoByIDMagFam(mcm.idMaggiorazioniFamiliari); } ViewData.Add("idTrasferimento", tm.idTrasferimento); using (dtConiuge dtc = new dtConiuge()) { var cm = dtc.GetConiugebyID(adf.idConiuge); adf.Coniuge = cm; } return(PartialView(adf)); }
/// <summary> /// /// </summary> /// <param name="ibm"></param> public void SetPercMagConiuge(PercentualeMagConiugeModel ibm, decimal idTipologiaConiuge) { List <PERCENTUALEMAGCONIUGE> libNew = new List <PERCENTUALEMAGCONIUGE>(); PERCENTUALEMAGCONIUGE ibNew = new PERCENTUALEMAGCONIUGE(); PERCENTUALEMAGCONIUGE ibPrecedente = new PERCENTUALEMAGCONIUGE(); List <PERCENTUALEMAGCONIUGE> lArchivioIB = new List <PERCENTUALEMAGCONIUGE>(); using (ModelDBISE db = new ModelDBISE()) { try { if (ibm.dataFineValidita.HasValue) { if (EsistonoMovimentiSuccessiviUguale(ibm)) { ibNew = new PERCENTUALEMAGCONIUGE() { // IDPERCMAGCONIUGE = ibm.idPercentualeConiuge, IDTIPOLOGIACONIUGE = idTipologiaConiuge, DATAINIZIOVALIDITA = ibm.dataInizioValidita, DATAFINEVALIDITA = ibm.dataFineValidita.Value, PERCENTUALECONIUGE = ibm.percentualeConiuge, DATAAGGIORNAMENTO = DateTime.Now, ANNULLATO = ibm.annullato }; } else { ibNew = new PERCENTUALEMAGCONIUGE() { // IDPERCMAGCONIUGE = ibm.idPercentualeConiuge, IDTIPOLOGIACONIUGE = idTipologiaConiuge, DATAINIZIOVALIDITA = ibm.dataInizioValidita, DATAFINEVALIDITA = ibm.dataFineValidita.Value,//Utility.DataFineStop(),// Convert.ToDateTime("31/12/9999"), PERCENTUALECONIUGE = ibm.percentualeConiuge, DATAAGGIORNAMENTO = DateTime.Now, ANNULLATO = ibm.annullato }; } } else { ibNew = new PERCENTUALEMAGCONIUGE() { // IDPERCMAGCONIUGE = ibm.idPercentualeConiuge, IDTIPOLOGIACONIUGE = idTipologiaConiuge, DATAINIZIOVALIDITA = ibm.dataInizioValidita, DATAFINEVALIDITA = Utility.DataFineStop(),//Convert.ToDateTime("31/12/9999"), PERCENTUALECONIUGE = ibm.percentualeConiuge, DATAAGGIORNAMENTO = DateTime.Now, ANNULLATO = ibm.annullato }; } db.Database.BeginTransaction(); var recordInteressati = db.PERCENTUALEMAGCONIUGE.Where(a => a.ANNULLATO == false && a.IDTIPOLOGIACONIUGE == ibNew.IDTIPOLOGIACONIUGE) .Where(a => a.DATAINIZIOVALIDITA >= ibNew.DATAINIZIOVALIDITA || a.DATAFINEVALIDITA >= ibNew.DATAINIZIOVALIDITA) .Where(a => a.DATAINIZIOVALIDITA <= ibNew.DATAFINEVALIDITA || a.DATAFINEVALIDITA <= ibNew.DATAFINEVALIDITA) .ToList(); recordInteressati.ForEach(a => a.ANNULLATO = true); //db.SaveChanges(); if (recordInteressati.Count > 0) { foreach (var item in recordInteressati) { if (item.DATAINIZIOVALIDITA < ibNew.DATAINIZIOVALIDITA) { if (item.DATAFINEVALIDITA <= ibNew.DATAFINEVALIDITA) { var ibOld1 = new PERCENTUALEMAGCONIUGE() { // IDPERCMAGCONIUGE = ibm.idPercentualeConiuge, IDTIPOLOGIACONIUGE = idTipologiaConiuge,// item.IDTIPOLOGIACONIUGE, DATAINIZIOVALIDITA = item.DATAINIZIOVALIDITA, DATAFINEVALIDITA = (ibNew.DATAINIZIOVALIDITA).AddDays(-1), PERCENTUALECONIUGE = item.PERCENTUALECONIUGE, DATAAGGIORNAMENTO = item.DATAAGGIORNAMENTO, ANNULLATO = false }; libNew.Add(ibOld1); } else if (item.DATAFINEVALIDITA > ibNew.DATAFINEVALIDITA) { var ibOld1 = new PERCENTUALEMAGCONIUGE() { // IDPERCMAGCONIUGE = ibm.idPercentualeConiuge, IDTIPOLOGIACONIUGE = idTipologiaConiuge,//item.IDTIPOLOGIACONIUGE, DATAINIZIOVALIDITA = item.DATAINIZIOVALIDITA, DATAFINEVALIDITA = (ibNew.DATAINIZIOVALIDITA).AddDays(-1), PERCENTUALECONIUGE = item.PERCENTUALECONIUGE, DATAAGGIORNAMENTO = item.DATAAGGIORNAMENTO, ANNULLATO = false }; var ibOld2 = new PERCENTUALEMAGCONIUGE() { // IDPERCMAGCONIUGE = ibm.idPercentualeConiuge, IDTIPOLOGIACONIUGE = idTipologiaConiuge,// item.IDTIPOLOGIACONIUGE, DATAINIZIOVALIDITA = (ibNew.DATAINIZIOVALIDITA).AddDays(+1), DATAFINEVALIDITA = item.DATAFINEVALIDITA, PERCENTUALECONIUGE = item.PERCENTUALECONIUGE, DATAAGGIORNAMENTO = item.DATAAGGIORNAMENTO, ANNULLATO = false }; libNew.Add(ibOld1); libNew.Add(ibOld2); } } else if (item.DATAINIZIOVALIDITA == ibNew.DATAINIZIOVALIDITA) { if (item.DATAFINEVALIDITA <= ibNew.DATAFINEVALIDITA) { //Non preleva il record old } else if (item.DATAFINEVALIDITA > ibNew.DATAFINEVALIDITA) { var ibOld1 = new PERCENTUALEMAGCONIUGE() { // IDPERCMAGCONIUGE = ibm.idPercentualeConiuge, IDTIPOLOGIACONIUGE = idTipologiaConiuge,// item.IDTIPOLOGIACONIUGE, DATAINIZIOVALIDITA = (ibNew.DATAINIZIOVALIDITA).AddDays(1), DATAFINEVALIDITA = item.DATAFINEVALIDITA, PERCENTUALECONIUGE = item.PERCENTUALECONIUGE, DATAAGGIORNAMENTO = item.DATAAGGIORNAMENTO, ANNULLATO = false }; libNew.Add(ibOld1); } } else if (item.DATAINIZIOVALIDITA > ibNew.DATAINIZIOVALIDITA) { if (item.DATAFINEVALIDITA <= ibNew.DATAFINEVALIDITA) { //Non preleva il record old } else if (item.DATAFINEVALIDITA > ibNew.DATAFINEVALIDITA) { var ibOld1 = new PERCENTUALEMAGCONIUGE() { // IDPERCMAGCONIUGE = ibm.idPercentualeConiuge, IDTIPOLOGIACONIUGE = idTipologiaConiuge,// item.IDTIPOLOGIACONIUGE, DATAINIZIOVALIDITA = (ibNew.DATAINIZIOVALIDITA).AddDays(1), DATAFINEVALIDITA = item.DATAFINEVALIDITA, PERCENTUALECONIUGE = item.PERCENTUALECONIUGE, DATAAGGIORNAMENTO = item.DATAAGGIORNAMENTO, ANNULLATO = false }; libNew.Add(ibOld1); } } } libNew.Add(ibNew); libNew = libNew.OrderBy(a => a.DATAINIZIOVALIDITA).ToList(); db.PERCENTUALEMAGCONIUGE.AddRange(libNew); } else { db.PERCENTUALEMAGCONIUGE.Add(ibNew); } db.SaveChanges(); using (objLogAttivita log = new objLogAttivita()) { log.Log(enumAttivita.Inserimento, "Inserimento parametro di percentuale maggiorazione coniuge.", "PERCENTUALEMAGCONIUGE", ibNew.IDPERCMAGCONIUGE); } db.Database.CurrentTransaction.Commit(); } catch (Exception ex) { db.Database.CurrentTransaction.Rollback(); throw ex; } } }