Exemplo n.º 1
0
        /// <summary>
        /// Preleva una lista delle percentuali per la maggiorazione dei figli in base ad un range di date.
        /// </summary>
        /// <param name="idTipologiaFiglio">enumeratore tipologia del figlio</param>
        /// <param name="dtInizio">data inizio ricerca</param>
        /// <param name="dtFine">data fine ricerca</param>
        /// <param name="db">db ise</param>
        /// <returns>Lista di PercentualeMagFigliModel</returns>
        public IList <PercentualeMagFigliModel> GetPercentualeMaggiorazioneFigli(EnumTipologiaFiglio idTipologiaFiglio, DateTime dtInizio, DateTime dtFine, ModelDBISE db)
        {
            List <PercentualeMagFigliModel> lpmfm = new List <PercentualeMagFigliModel>();

            var lpmf =
                db.PERCENTUALEMAGFIGLI.Where(
                    a =>
                    a.ANNULLATO == false && a.IDTIPOLOGIAFIGLIO == (decimal)idTipologiaFiglio &&
                    a.DATAINIZIOVALIDITA <= dtFine && a.DATAFINEVALIDITA >= dtInizio)
                .OrderBy(a => a.DATAINIZIOVALIDITA)
                .ToList();

            if (lpmf?.Any() ?? false)
            {
                lpmfm = (from e in lpmf
                         select new PercentualeMagFigliModel()
                {
                    idPercMagFigli = e.IDPERCMAGFIGLI,
                    idTipologiaFiglio = (EnumTipologiaFiglio)e.IDTIPOLOGIAFIGLIO,
                    dataInizioValidita = e.DATAINIZIOVALIDITA,
                    dataFineValidita = e.DATAFINEVALIDITA,
                    percentualeFigli = e.PERCENTUALEFIGLI,
                    dataAggiornamento = e.DATAAGGIORNAMENTO,
                    annullato = e.ANNULLATO
                }).ToList();
            }

            return(lpmfm);
        }
Exemplo n.º 2
0
        public static ValidationResult VerificaEtaFiglio(string v, ValidationContext context)
        {
            ValidationResult vr = ValidationResult.Success;

            var adm = context.ObjectInstance as AltriDatiFamFiglioModel;


            if (adm != null)
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    var f = db.FIGLI.Find(adm.idFigli);
                    if (f != null && f.IDFIGLI > 0)
                    {
                        EnumTipologiaFiglio idTipologiaFiglio = (EnumTipologiaFiglio)f.IDTIPOLOGIAFIGLIO;

                        if (adm.dataNascita.HasValue)
                        {
                            DateTime dataNascita = adm.dataNascita.Value;

                            int AnnoNascita = dataNascita.Year;
                            int AnnoAttuale = DateTime.Now.Year;
                            int eta         = AnnoAttuale - AnnoNascita;

                            switch (idTipologiaFiglio)
                            {
                            case EnumTipologiaFiglio.Residente:
                                if (eta > 18)
                                {
                                    vr = new ValidationResult(string.Format("Impossibile inserire il figlio residente ({0}) con età superiore a 18 anni.", f.COGNOME + " " + f.NOME));
                                }
                                else
                                {
                                    vr = ValidationResult.Success;
                                }
                                break;

                            case EnumTipologiaFiglio.NonResidente:
                                if (eta > 18)
                                {
                                    vr = new ValidationResult(string.Format("Impossibile inserire il figlio non residente ({0}) con età superiore a 18 anni.", f.COGNOME + " " + f.NOME));
                                }
                                else
                                {
                                    vr = ValidationResult.Success;
                                }
                                break;

                            case EnumTipologiaFiglio.StudenteResidente:
                                if (eta > 26)
                                {
                                    vr = new ValidationResult(string.Format("Impossibile inserire il figlio studente residente ({0}) con età superiore a 26 anni.", f.COGNOME + " " + f.NOME));
                                }
                                else
                                {
                                    vr = ValidationResult.Success;
                                }
                                break;

                            case EnumTipologiaFiglio.StudenteNonResidente:
                                if (eta > 26)
                                {
                                    vr = new ValidationResult(string.Format("Impossibile inserire il figlio studente non residente ({0}) con età superiore a 26 anni.", f.COGNOME + " " + f.NOME));
                                }
                                else
                                {
                                    vr = ValidationResult.Success;
                                }
                                break;

                            default:
                                throw new ArgumentOutOfRangeException();
                            }
                        }
                    }
                }
            }
            else
            {
                vr = new ValidationResult("Altri dati familiari sono richiesti.");
            }

            return(vr);
        }