Example #1
0
        public IList <CoefficientiSedeModel> GetIndennitaServizio1(decimal idTrasferimento)
        {
            List <CoefficientiSedeModel> csm = new List <CoefficientiSedeModel>();
            IndennitaServizioModel       IndennitaServizio = new IndennitaServizioModel();

            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    //var t = db.TRASFERIMENTO.Find(idTrasferimento);
                    //var ind = t.INDENNITA;

                    //var coeff = ind.COEFFICIENTESEDE.Where(
                    //          a => a.ANNULLATO == false)
                    //          .OrderBy(a => a.IDCOEFFICIENTESEDE)
                    //          .ThenBy(a => a.DATAINIZIOVALIDITA)
                    //          .ThenBy(a => a.DATAFINEVALIDITA);

                    //if (coeff?.Any() ?? false)
                    //{
                    //    foreach (var pd in coeff)
                    //    {
                    //        var pdm = new CoefficientiSedeModel()
                    //        {
                    //            idCoefficientiSede = pd.IDCOEFFICIENTESEDE,
                    //            idUfficio = pd.IDUFFICIO,
                    //            dataInizioValidita = pd.DATAINIZIOVALIDITA,
                    //            dataFineValidita =
                    //            pd.DATAFINEVALIDITA == Utility.DataFineStop() ? new DateTime?() : pd.DATAFINEVALIDITA,
                    //            dataAggiornamento = pd.DATAAGGIORNAMENTO,
                    //            annullato = pd.ANNULLATO
                    //        };

                    //        csm.Add(pdm);
                    //    }
                    //}


                    return(csm);
                }
            }

            catch (Exception)
            {
                throw;
            }
        }
Example #2
0
        public IList <IndennitaServizioModel> GetIndennitaServizio2(decimal idTrasferimento)
        {
            List <IndennitaServizioModel> lism = new List <IndennitaServizioModel>();

            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    var trasferimento = db.TRASFERIMENTO.Find(idTrasferimento);
                    var indennita     = trasferimento.INDENNITA;

                    List <DateTime> lDateVariazioni = new List <DateTime>();

                    #region Lettura Variazioni di indennità di base

                    var ll =
                        db.TRASFERIMENTO.Find(idTrasferimento).INDENNITA.INDENNITABASE.Where(
                            a =>
                            a.ANNULLATO == false).OrderBy(a => a.IDLIVELLO)
                        .ThenBy(a => a.DATAINIZIOVALIDITA)
                        .ThenBy(a => a.DATAFINEVALIDITA).ToList();

                    foreach (var ib in ll)
                    {
                        DateTime dtVar = new DateTime();

                        if (ib.DATAINIZIOVALIDITA < trasferimento.DATAPARTENZA)
                        {
                            dtVar = trasferimento.DATAPARTENZA;
                        }
                        else
                        {
                            dtVar = ib.DATAINIZIOVALIDITA;
                        }


                        if (!lDateVariazioni.Contains(dtVar))
                        {
                            lDateVariazioni.Add(dtVar);
                        }
                    }

                    #endregion

                    #region Lettura Variazioni del coefficiente di sede

                    var lrd = db.TRASFERIMENTO.Find(idTrasferimento).INDENNITA.COEFFICIENTESEDE.Where(a => a.ANNULLATO == false).OrderBy(a => a.IDCOEFFICIENTESEDE).ThenBy(a => a.DATAINIZIOVALIDITA).ThenBy(a => a.DATAFINEVALIDITA).ToList();

                    foreach (var cs in lrd)
                    {
                        DateTime dtVar = new DateTime();

                        if (cs.DATAINIZIOVALIDITA < trasferimento.DATAPARTENZA)
                        {
                            dtVar = trasferimento.DATAPARTENZA;
                        }
                        else
                        {
                            dtVar = cs.DATAINIZIOVALIDITA;
                        }

                        if (!lDateVariazioni.Contains(dtVar))
                        {
                            lDateVariazioni.Add(dtVar);
                        }
                    }

                    #endregion

                    #region Lettura Variazioni percentuale di disagio

                    var perc = db.TRASFERIMENTO.Find(idTrasferimento).INDENNITA.PERCENTUALEDISAGIO.Where(a => a.ANNULLATO == false).ToList();

                    foreach (var pd in perc)
                    {
                        DateTime dtVar = new DateTime();

                        if (pd.DATAINIZIOVALIDITA < trasferimento.DATAPARTENZA)
                        {
                            dtVar = trasferimento.DATAPARTENZA;
                        }
                        else
                        {
                            dtVar = pd.DATAINIZIOVALIDITA;
                        }

                        if (!lDateVariazioni.Contains(dtVar))
                        {
                            lDateVariazioni.Add(dtVar);
                        }
                    }

                    #endregion


                    if (lDateVariazioni?.Any() ?? false)
                    {
                        lDateVariazioni =
                            lDateVariazioni.OrderBy(a => a.Year).ThenBy(a => a.Month).ThenBy(a => a.Day).ToList();

                        for (int j = 0; j < lDateVariazioni.Count; j++)
                        {
                            DateTime dv = lDateVariazioni[j];

                            using (CalcoliIndennita ci = new CalcoliIndennita(trasferimento.IDTRASFERIMENTO, dv, db))
                            {
                                //ELABINDENNITA ei = new ELABINDENNITA()
                                //{
                                //    IDTRASFINDENNITA = trasferimento.IDTRASFERIMENTO,
                                //    INDENNITABASE = ci.IndennitaDiBase,
                                //    COEFFICENTESEDE = ci.CoefficienteDiSede,
                                //    PERCENTUALEDISAGIO = ci.PercentualeDisagio,
                                //    PERCENTUALEMAGCONIUGE = ci.PercentualeMaggiorazioneConiuge,
                                //    PENSIONECONIUGE = ci.PensioneConiuge,
                                //    DATAOPERAZIONE = DateTime.Now,
                                //    ANNULLATO = false
                                //};

                                //    indennita.ELABINDENNITA.Add(ei);

                                var pd = new IndennitaServizioModel
                                {
                                    IndennitaBase     = ci.IndennitaDiBase,
                                    percentuale       = ci.PercentualeDisagio,
                                    valore            = ci.CoefficienteDiSede,
                                    IndennitaServizio = ci.IndennitaDiServizio
                                };

                                lism.Add(pd);
                            }
                        }
                    }
                }

                return(lism);
            }
            catch (Exception)
            {
                throw;
            }
        }