示例#1
0
        public List <TEORICI> GetIndennitaPS(
            TRASFERIMENTO t,
            decimal idLivello,
            decimal idVoci,
            decimal idTipoLiquidazione,
            decimal annoMeseInizio,
            decimal annoMeseFine,
            ModelDBISE db)
        {
            List <TEORICI> lteorici = t.TEORICI.Where(a =>
                                                      a.ELABINDSISTEMAZIONE?.IDLIVELLO == idLivello &&
                                                      a.ANNULLATO == false &&
                                                      //a.DIRETTO == false &&
                                                      a.ELABORATO == true &&
                                                      a.INSERIMENTOMANUALE == false &&
                                                      a.IDVOCI == idVoci &&
                                                      a.VOCI.IDTIPOLIQUIDAZIONE == idTipoLiquidazione &&
                                                      Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() +
                                                                         a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) >= annoMeseInizio &&
                                                      Convert.ToDecimal((a.ANNORIFERIMENTO.ToString() +
                                                                         a.MESERIFERIMENTO.ToString().PadLeft(2, (char)'0'))) <= annoMeseFine)
                                      .OrderBy(a => a.ANNORIFERIMENTO)
                                      .ThenBy(a => a.MESERIFERIMENTO).ToList();

            return(lteorici);
        }
示例#2
0
        public RichiamoModel GetRichiamoByIdTrasf(decimal idTrasferimento)
        {
            RichiamoModel rm = new RichiamoModel();

            using (ModelDBISE db = new ModelDBISE())
            {
                TRASFERIMENTO t  = db.TRASFERIMENTO.Find(idTrasferimento);
                var           lr = t.RICHIAMO.Where(a => a.ANNULLATO == false).OrderByDescending(a => a.IDRICHIAMO);

                if (lr?.Any() ?? false)
                {
                    var r = lr.First();

                    rm = new RichiamoModel()
                    {
                        IdRichiamo        = r.IDRICHIAMO,
                        idTrasferimento   = r.IDTRASFERIMENTO,
                        DataRichiamo      = r.DATARICHIAMO,
                        DataAggiornamento = r.DATAAGGIORNAMENTO,
                        annullato         = r.ANNULLATO
                    };
                }
            }

            return(rm);
        }
示例#3
0
        public void EmailAnnullaRichiestaAnticipi(decimal idAttivitaAnticipi, ModelDBISE db)
        {
            AccountModel am       = new AccountModel();
            Mittente     mittente = new Mittente();
            Destinatario to       = new Destinatario();
            Destinatario cc       = new Destinatario();

            try
            {
                am = Utility.UtenteAutorizzato();
                mittente.Nominativo    = am.nominativo;
                mittente.EmailMittente = am.eMail;

                var aa = db.ATTIVITAANTICIPI.Find(idAttivitaAnticipi);

                if (aa?.IDATTIVITAANTICIPI > 0)
                {
                    TRASFERIMENTO tr  = aa.PRIMASITEMAZIONE.TRASFERIMENTO;
                    DIPENDENTI    dip = tr.DIPENDENTI;
                    UFFICI        uff = tr.UFFICI;

                    using (GestioneEmail gmail = new GestioneEmail())
                    {
                        using (ModelloMsgMail msgMail = new ModelloMsgMail())
                        {
                            cc = new Destinatario()
                            {
                                Nominativo        = am.nominativo,
                                EmailDestinatario = am.eMail
                            };

                            to = new Destinatario()
                            {
                                Nominativo        = dip.NOME + " " + dip.COGNOME,
                                EmailDestinatario = dip.EMAIL,
                            };

                            msgMail.mittente = mittente;
                            msgMail.cc.Add(cc);
                            msgMail.destinatario.Add(to);

                            msgMail.oggetto =
                                Resources.msgEmail.OggettoAnnullaRichiestaAnticipi;
                            msgMail.corpoMsg = string.Format(Resources.msgEmail.MessaggioAnnullaRichiestaAnticipi, uff.DESCRIZIONEUFFICIO + " (" + uff.CODICEUFFICIO + ")", tr.DATAPARTENZA.ToLongDateString());

                            gmail.sendMail(msgMail);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
示例#4
0
        public JsonResult VerificaRuoloDipendente(decimal idTrasferimento)
        {
            try
            {
                if (idTrasferimento.Equals(null))
                {
                    throw new Exception("Il trasferimento non risulta valorizzato.");
                }
                using (ModelDBISE db = new ModelDBISE())
                {
                    using (dtTrasferimento dtt = new dtTrasferimento())
                    {
                        TRASFERIMENTO t = dtt.GetTrasferimento(idTrasferimento, db);
                        if (t.IDTRASFERIMENTO > 0)
                        {
                            if (t.IDSTATOTRASFERIMENTO == (decimal)EnumStatoTraferimento.Attivo || t.IDSTATOTRASFERIMENTO == (decimal)EnumStatoTraferimento.Terminato)
                            {
                                using (dtRuoloDipendente dtrd = new dtRuoloDipendente())
                                {
                                    var RuoloDipendente = dtrd.GetRuoloDipendenteByIdTrasferimento(t.IDTRASFERIMENTO, t.DATAPARTENZA);

                                    if (RuoloDipendente.idRuoloDipendente > 0)
                                    {
                                        return(Json(new { idRuoloDipendente = RuoloDipendente.idRuoloDipendente }));
                                    }
                                    else
                                    {
                                        return(Json(new { idRuoloDipendente = 0 }));
                                    }
                                }
                            }
                            else
                            {
                                return(Json(new { idRuoloDipendente = 0 }));
                            }
                        }
                        else
                        {
                            return(Json(new { idRuoloDipendente = 0 }));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                return(Json(new { err = ex.Message }));
            }
        }
示例#5
0
        public List <RichiamoModel> GetLista_Richiamo(decimal idTrasferimento)
        {
            using (ModelDBISE db = new ModelDBISE())
            {
                TRASFERIMENTO trasf = db.TRASFERIMENTO.Find(idTrasferimento);
                var           lr    = trasf.RICHIAMO.Where(a => a.ANNULLATO == false).OrderByDescending(a => a.IDRICHIAMO);
                var           tmp   = (from e in lr

                                       select new RichiamoModel()
                {
                    IdRichiamo = e.IDRICHIAMO,
                    idTrasferimento = e.IDTRASFERIMENTO,
                    DataRichiamo = e.DATARICHIAMO,
                    DataAggiornamento = e.DATAAGGIORNAMENTO,
                    annullato = e.ANNULLATO,
                    DataPartenza = e.TRASFERIMENTO.DATARIENTRO,
                }).ToList();
                return(tmp);
            }
        }
示例#6
0
        /// <summary>
        /// preleva il dipendente in base all'id trasferimento passato.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public DipendentiModel GetDipendenteByIDTrasf(decimal idTrasf)
        {
            DipendentiModel dm = new DipendentiModel();

            using (ModelDBISE db = new ModelDBISE())
            {
                TRASFERIMENTO t = db.TRASFERIMENTO.Find(idTrasf);

                var d = t.DIPENDENTI;

                dm = new DipendentiModel()
                {
                    idDipendente        = d.IDDIPENDENTE,
                    matricola           = d.MATRICOLA,
                    nome                = d.NOME,
                    cognome             = d.COGNOME,
                    dataAssunzione      = d.DATAASSUNZIONE,
                    dataCessazione      = d.DATACESSAZIONE,
                    indirizzo           = d.INDIRIZZO,
                    cap                 = d.CAP,
                    citta               = d.CITTA,
                    provincia           = d.PROVINCIA,
                    email               = d.EMAIL,
                    telefono            = d.TELEFONO,
                    fax                 = d.FAX,
                    abilitato           = d.ABILITATO,
                    dataInizioRicalcoli = d.DATAINIZIORICALCOLI,
                    cdcGepe             = new CDCGepeModel()
                    {
                        iddipendente       = d.CDCGEPE.IDDIPENDENTE,
                        codiceCDC          = d.CDCGEPE.CODICECDC,
                        descCDC            = d.CDCGEPE.DESCCDC,
                        dataInizioValidita = d.CDCGEPE.DATAINIZIOVALIDITA
                    }
                };
            }



            return(dm);
        }
示例#7
0
 public List <SospensioneModel> GetLista_Sospensioni(decimal idtrasferimento)
 {
     using (ModelDBISE db = new ModelDBISE())
     {
         TRASFERIMENTO trasf = db.TRASFERIMENTO.Find(idtrasferimento);
         var           tmp   = (from e in trasf.SOSPENSIONE
                                where e.ANNULLATO == false
                                orderby e.DATAINIZIO ascending
                                select new SospensioneModel()
         {
             idSospensione = e.IDSOSPENSIONE,
             DataInizioSospensione = e.DATAINIZIO,
             DataFineSospensione = e.DATAFINE,
             TipoSospensione = e.TIPOSOSPENSIONE.DESCRIZIONE,
             DataAggiornamento = e.DATAAGGIORNAMENTO,
             // NumeroGiorni =DbFunctions.DiffDays(e.DATAINIZIO, e.DATAFINE).Value
             NumeroGiorni = Convert.ToInt32((e.DATAFINE.AddDays(1) - e.DATAINIZIO).TotalDays)
         }).ToList();
         return(tmp);
     }
 }
示例#8
0
        private void EmailNotificaRichiestaAnticipi(decimal idAttivitaAnticipi, ModelDBISE db)
        {
            PRIMASITEMAZIONE ps                = new PRIMASITEMAZIONE();
            AccountModel     am                = new AccountModel();
            Mittente         mittente          = new Mittente();
            Destinatario     to                = new Destinatario();
            Destinatario     cc                = new Destinatario();
            List <UtenteAutorizzatoModel> luam = new List <UtenteAutorizzatoModel>();


            try
            {
                am = Utility.UtenteAutorizzato();
                mittente.Nominativo    = am.nominativo;
                mittente.EmailMittente = am.eMail;

                var aa = db.ATTIVITAANTICIPI.Find(idAttivitaAnticipi);

                ps = aa.PRIMASITEMAZIONE;

                if (ps?.IDPRIMASISTEMAZIONE > 0)
                {
                    TRASFERIMENTO tr = ps.TRASFERIMENTO;
                    DIPENDENTI    d  = tr.DIPENDENTI;

                    UFFICI u = tr.UFFICI;

                    using (dtUtentiAutorizzati dtua = new dtUtentiAutorizzati())
                    {
                        using (GestioneEmail gmail = new GestioneEmail())
                        {
                            using (ModelloMsgMail msgMail = new ModelloMsgMail())
                            {
                                cc = new Destinatario()
                                {
                                    Nominativo        = am.nominativo,
                                    EmailDestinatario = am.eMail
                                };

                                msgMail.mittente = mittente;
                                msgMail.cc.Add(cc);

                                luam.AddRange(dtua.GetUtentiByRuolo(EnumRuoloAccesso.Amministratore).ToList());

                                foreach (var uam in luam)
                                {
                                    var amministratore = db.DIPENDENTI.Find(uam.idDipendente);
                                    if (amministratore != null && amministratore.IDDIPENDENTE > 0)
                                    {
                                        to = new Destinatario()
                                        {
                                            Nominativo        = amministratore.COGNOME + " " + amministratore.NOME,
                                            EmailDestinatario = amministratore.EMAIL
                                        };

                                        msgMail.destinatario.Add(to);
                                    }
                                }
                                msgMail.oggetto  = Resources.msgEmail.OggettoNotificaRichiestaAnticipi;
                                msgMail.corpoMsg =
                                    string.Format(
                                        Resources.msgEmail.MessaggioNotificaRichiestaAnticipi,
                                        d.COGNOME + " " + d.NOME + " (" + d.MATRICOLA + ")",
                                        tr.DATAPARTENZA.ToLongDateString(),
                                        u.DESCRIZIONEUFFICIO + " (" + u.CODICEUFFICIO + ")");

                                gmail.sendMail(msgMail);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }