Beispiel #1
0
 public bool EsistonoMovimentiPrimaUguale(PercentualeMagFigliModel ibm)
 {
     using (ModelDBISE db = new ModelDBISE())
     {
         return(db.PERCENTUALEMAGFIGLI.Where(a => a.DATAINIZIOVALIDITA <= ibm.dataInizioValidita && a.IDTIPOLOGIAFIGLIO == (decimal)ibm.idTipologiaFiglio).Count() > 0 ? true : false);
     }
 }
Beispiel #2
0
        public PercentualeMagFigliModel GetPercentualeMaggiorazioneFigli(decimal idFiglio, DateTime dt, ModelDBISE db)
        {
            PercentualeMagFigliModel pmfm = new PercentualeMagFigliModel();

            var lpmf =
                db.FIGLI.Find(idFiglio)
                .PERCENTUALEMAGFIGLI.Where(
                    a => a.ANNULLATO == false && dt >= a.DATAINIZIOVALIDITA && dt <= a.DATAFINEVALIDITA)
                .OrderByDescending(a => a.DATAINIZIOVALIDITA)
                .ToList();

            if (lpmf?.Any() ?? false)
            {
                var pmf = lpmf.First();
                pmfm = new PercentualeMagFigliModel()
                {
                    idPercMagFigli     = pmf.IDPERCMAGFIGLI,
                    idTipologiaFiglio  = (EnumTipologiaFiglio)pmf.IDTIPOLOGIAFIGLIO,
                    dataInizioValidita = pmf.DATAINIZIOVALIDITA,
                    dataFineValidita   = pmf.DATAFINEVALIDITA,
                    percentualeFigli   = pmf.PERCENTUALEFIGLI,
                    dataAggiornamento  = pmf.DATAAGGIORNAMENTO,
                    annullato          = pmf.ANNULLATO
                };
            }

            return(pmfm);
        }
Beispiel #3
0
 public bool EsistonoMovimentiSuccessiviUguale(PercentualeMagFigliModel ibm)
 {
     using (ModelDBISE db = new ModelDBISE())
     {
         if (ibm.dataFineValidita.HasValue)
         {
             return(db.PERCENTUALEMAGFIGLI.Where(a => a.DATAINIZIOVALIDITA >= ibm.dataFineValidita.Value && a.IDTIPOLOGIAFIGLIO == (decimal)ibm.idTipologiaFiglio).Count() > 0 ? true : false);
         }
         else
         {
             return(false);
         }
     }
 }
Beispiel #4
0
        public PercentualeMagFigliModel GetPercentualeMaggiorazioneFigli(decimal idFiglio, DateTime dt)
        {
            PercentualeMagFigliModel pmfm = new PercentualeMagFigliModel();

            using (ModelDBISE db = new ModelDBISE())
            {
                //try
                //{
                var f = db.FIGLI.Find(idFiglio);

                var lpmf =
                    f.PERCENTUALEMAGFIGLI.Where(
                        a =>
                        a.ANNULLATO == false && a.IDTIPOLOGIAFIGLIO == f.IDTIPOLOGIAFIGLIO &&
                        dt >= a.DATAINIZIOVALIDITA && dt <= a.DATAFINEVALIDITA)
                    .OrderByDescending(a => a.DATAINIZIOVALIDITA)
                    .ToList();


                if (lpmf?.Any() ?? false)
                {
                    var pmf = lpmf.First();
                    pmfm = new PercentualeMagFigliModel()
                    {
                        idPercMagFigli     = pmf.IDPERCMAGFIGLI,
                        idTipologiaFiglio  = (EnumTipologiaFiglio)pmf.IDTIPOLOGIAFIGLIO,
                        dataInizioValidita = pmf.DATAINIZIOVALIDITA,
                        dataFineValidita   = pmf.DATAFINEVALIDITA,
                        percentualeFigli   = pmf.PERCENTUALEFIGLI,
                        dataAggiornamento  = pmf.DATAAGGIORNAMENTO,
                        annullato          = pmf.ANNULLATO
                    };
                }
                //    else
                //    {
                //        throw new Exception("Errore - Percentuale maggiorazione figli non trovata.");
                //    }

                //}
                //catch (Exception ex)
                //{
                //    throw ex;
                //}
            }

            return(pmfm);
        }
Beispiel #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ibm"></param>
        public void SetMaggiorazioneFiglio(PercentualeMagFigliModel ibm)
        {
            List <PERCENTUALEMAGFIGLI> libNew = new List <PERCENTUALEMAGFIGLI>();

            PERCENTUALEMAGFIGLI ibNew = new PERCENTUALEMAGFIGLI();

            PERCENTUALEMAGFIGLI ibPrecedente = new PERCENTUALEMAGFIGLI();

            List <PERCENTUALEMAGFIGLI> lArchivioIB = new List <PERCENTUALEMAGFIGLI>();

            using (ModelDBISE db = new ModelDBISE())
            {
                try
                {
                    if (ibm.dataFineValidita.HasValue)
                    {
                        if (EsistonoMovimentiSuccessiviUguale(ibm))
                        {
                            ibNew = new PERCENTUALEMAGFIGLI()
                            {
                                IDPERCMAGFIGLI     = ibm.idPercMagFigli,
                                IDTIPOLOGIAFIGLIO  = (decimal)ibm.idTipologiaFiglio,
                                DATAINIZIOVALIDITA = ibm.dataInizioValidita,
                                DATAFINEVALIDITA   = ibm.dataFineValidita.Value,
                                PERCENTUALEFIGLI   = ibm.percentualeFigli,
                                DATAAGGIORNAMENTO  = ibm.dataAggiornamento,
                                ANNULLATO          = ibm.annullato
                            };
                        }
                        else
                        {
                            ibNew = new PERCENTUALEMAGFIGLI()
                            {
                                IDPERCMAGFIGLI     = ibm.idPercMagFigli,
                                IDTIPOLOGIAFIGLIO  = (decimal)ibm.idTipologiaFiglio,
                                DATAINIZIOVALIDITA = ibm.dataInizioValidita,
                                DATAFINEVALIDITA   = Utility.DataFineStop(),
                                PERCENTUALEFIGLI   = ibm.percentualeFigli,
                                DATAAGGIORNAMENTO  = ibm.dataAggiornamento,
                                ANNULLATO          = ibm.annullato
                            };
                        }
                    }
                    else
                    {
                        ibNew = new PERCENTUALEMAGFIGLI()
                        {
                            IDPERCMAGFIGLI     = ibm.idPercMagFigli,
                            IDTIPOLOGIAFIGLIO  = (decimal)ibm.idTipologiaFiglio,
                            DATAINIZIOVALIDITA = ibm.dataInizioValidita,
                            DATAFINEVALIDITA   = Utility.DataFineStop(),
                            PERCENTUALEFIGLI   = ibm.percentualeFigli,
                            DATAAGGIORNAMENTO  = ibm.dataAggiornamento,
                            ANNULLATO          = ibm.annullato
                        };
                    }

                    db.Database.BeginTransaction();

                    var recordInteressati = db.PERCENTUALEMAGFIGLI.Where(a => a.ANNULLATO == false && a.IDTIPOLOGIAFIGLIO == ibNew.IDTIPOLOGIAFIGLIO)
                                            .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 PERCENTUALEMAGFIGLI()
                                    {
                                        IDPERCMAGFIGLI     = item.IDPERCMAGFIGLI,
                                        IDTIPOLOGIAFIGLIO  = item.IDTIPOLOGIAFIGLIO,
                                        DATAINIZIOVALIDITA = item.DATAINIZIOVALIDITA,
                                        DATAFINEVALIDITA   = (ibNew.DATAINIZIOVALIDITA).AddDays(-1),
                                        PERCENTUALEFIGLI   = item.PERCENTUALEFIGLI,
                                        DATAAGGIORNAMENTO  = item.DATAAGGIORNAMENTO,
                                        ANNULLATO          = false
                                    };

                                    libNew.Add(ibOld1);
                                }
                                else if (item.DATAFINEVALIDITA > ibNew.DATAFINEVALIDITA)
                                {
                                    var ibOld1 = new PERCENTUALEMAGFIGLI()
                                    {
                                        IDPERCMAGFIGLI     = item.IDPERCMAGFIGLI,
                                        IDTIPOLOGIAFIGLIO  = item.IDTIPOLOGIAFIGLIO,
                                        DATAINIZIOVALIDITA = item.DATAINIZIOVALIDITA,
                                        DATAFINEVALIDITA   = (ibNew.DATAINIZIOVALIDITA).AddDays(-1),
                                        PERCENTUALEFIGLI   = item.PERCENTUALEFIGLI,
                                        DATAAGGIORNAMENTO  = item.DATAAGGIORNAMENTO,
                                        ANNULLATO          = false
                                    };

                                    var ibOld2 = new PERCENTUALEMAGFIGLI()
                                    {
                                        IDPERCMAGFIGLI     = item.IDPERCMAGFIGLI,
                                        IDTIPOLOGIAFIGLIO  = item.IDTIPOLOGIAFIGLIO,
                                        DATAINIZIOVALIDITA = (ibNew.DATAINIZIOVALIDITA).AddDays(+1),
                                        DATAFINEVALIDITA   = item.DATAFINEVALIDITA,
                                        PERCENTUALEFIGLI   = item.PERCENTUALEFIGLI,
                                        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 PERCENTUALEMAGFIGLI()
                                    {
                                        IDPERCMAGFIGLI     = item.IDPERCMAGFIGLI,
                                        IDTIPOLOGIAFIGLIO  = item.IDTIPOLOGIAFIGLIO,
                                        DATAINIZIOVALIDITA = (ibNew.DATAINIZIOVALIDITA).AddDays(1),
                                        DATAFINEVALIDITA   = item.DATAFINEVALIDITA,
                                        PERCENTUALEFIGLI   = item.PERCENTUALEFIGLI,
                                        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 PERCENTUALEMAGFIGLI()
                                    {
                                        IDPERCMAGFIGLI     = item.IDPERCMAGFIGLI,
                                        IDTIPOLOGIAFIGLIO  = item.IDTIPOLOGIAFIGLIO,
                                        DATAINIZIOVALIDITA = (ibNew.DATAINIZIOVALIDITA).AddDays(1),
                                        DATAFINEVALIDITA   = item.DATAFINEVALIDITA,
                                        PERCENTUALEFIGLI   = item.PERCENTUALEFIGLI,
                                        DATAAGGIORNAMENTO  = item.DATAAGGIORNAMENTO,
                                        ANNULLATO          = false
                                    };

                                    libNew.Add(ibOld1);
                                }
                            }
                        }

                        libNew.Add(ibNew);
                        libNew = libNew.OrderBy(a => a.DATAINIZIOVALIDITA).ToList();

                        db.PERCENTUALEMAGFIGLI.AddRange(libNew);
                    }
                    else
                    {
                        db.PERCENTUALEMAGFIGLI.Add(ibNew);
                    }
                    db.SaveChanges();

                    using (objLogAttivita log = new objLogAttivita())
                    {
                        log.Log(enumAttivita.Inserimento, "Inserimento parametro per la percentuale di maggiorazione figli.", "PERCENTUALEMAGFIGLI", ibNew.IDPERCMAGFIGLI);
                    }

                    db.Database.CurrentTransaction.Commit();
                }
                catch (Exception ex)
                {
                    db.Database.CurrentTransaction.Rollback();
                    throw ex;
                }
            }
        }
        public ActionResult AltriDatiFamiliariFiglioTitoliViaggio(decimal idFiglio)
        {
            AltriDatiFamFiglioModel     adf = new AltriDatiFamFiglioModel();
            MaggiorazioniFamiliariModel mcm = new MaggiorazioniFamiliariModel();
            TrasferimentoModel          tm  = new TrasferimentoModel();

            try
            {
                using (dtAltriDatiFamiliari dtadf = new dtAltriDatiFamiliari())
                {
                    //adf = dtadf.GetAlttriDatiFamiliariFiglio(idFiglio);
                }
                using (dtMaggiorazioniFamiliari dtmc = new dtMaggiorazioniFamiliari())
                {
                    mcm = dtmc.GetMaggiorazioniFamiliaribyFiglio(idFiglio);
                }

                using (dtPercentualeMagFigli dtpmf = new dtPercentualeMagFigli())
                {
                    PercentualeMagFigliModel pf = dtpmf.GetPercentualeMaggiorazioneFigli(idFiglio, DateTime.Now);
                    if (pf != null && pf.HasValue())
                    {
                        switch (pf.idTipologiaFiglio)
                        {
                        case EnumTipologiaFiglio.Residente:
                            adf.residente = true;
                            adf.studente  = false;
                            break;

                        case EnumTipologiaFiglio.NonResidente:
                            adf.residente = false;
                            adf.studente  = false;
                            break;

                        case EnumTipologiaFiglio.StudenteResidente:
                            adf.studente  = true;
                            adf.residente = true;
                            break;

                        case EnumTipologiaFiglio.StudenteNonResidente:
                            adf.studente  = true;
                            adf.residente = false;
                            break;

                        default:
                            throw new ArgumentOutOfRangeException();
                        }
                    }
                }
            }
            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 (dtFigli dtf = new dtFigli())
            {
                var fm = dtf.GetFigliobyID(adf.idFigli);
                adf.Figli = fm;
            }


            return(PartialView(adf));
        }