Пример #1
0
        public TFRModel GetTFRValido(decimal idUfficio, DateTime dt, ModelDBISE db)
        {
            TFRModel tfrm = new TFRModel();

            using (dtUffici dtu = new dtUffici())
            {
                UfficiModel ufm = dtu.GetUffici(idUfficio, db);
                ValuteModel vm  = new ValuteModel();

                if (ufm.pagatoValutaUfficio == false)
                {
                    using (dtValute dtv = new dtValute())
                    {
                        vm = dtv.GetValutaUfficiale(db);

                        if (vm.HasValue())
                        {
                            var ltfr = db.TFR.Where(a => a.ANNULLATO == false &&
                                                    a.IDVALUTA == vm.idValuta &&
                                                    dt >= a.DATAINIZIOVALIDITA &&
                                                    dt <= a.DATAFINEVALIDITA)
                                       .OrderByDescending(a => a.DATAINIZIOVALIDITA)
                                       .ToList();

                            if (ltfr != null && ltfr.Count > 0)
                            {
                                var tfr = ltfr.First();

                                tfrm = new TFRModel()
                                {
                                    idTFR              = tfr.IDTFR,
                                    idValuta           = tfr.IDVALUTA,
                                    dataInizioValidita = tfr.DATAINIZIOVALIDITA,
                                    dataFineValidita   = tfr.DATAFINEVALIDITA == Utility.DataFineStop() ? new DateTime?() : tfr.DATAFINEVALIDITA,
                                    dataAggiornamento  = tfr.DATAAGGIORNAMENTO,
                                    tassoCambio        = tfr.TASSOCAMBIO,
                                    Annullato          = tfr.ANNULLATO
                                };
                            }
                        }
                        else
                        {
                            throw new Exception("La valuta ufficiale non risulta registrata, provvedere prima di procedere.");
                        }
                    }
                }
            }

            return(tfrm);
        }
Пример #2
0
        public void AttivaRichiestaAnticipi(decimal idAttivitaAnticipi)
        {
            using (ModelDBISE db = new ModelDBISE())
            {
                db.Database.BeginTransaction();

                try
                {
                    var aa = db.ATTIVITAANTICIPI.Find(idAttivitaAnticipi);
                    if (aa?.IDATTIVITAANTICIPI > 0)
                    {
                        if (aa.NOTIFICARICHIESTA == true)
                        {
                            aa.ATTIVARICHIESTA     = true;
                            aa.DATAATTIVARICHIESTA = DateTime.Now;
                            aa.DATAAGGIORNAMENTO   = DateTime.Now;

                            int i = db.SaveChanges();

                            if (i <= 0)
                            {
                                throw new Exception("Errore: Impossibile completare l'attivazione anticipo.");
                            }
                            else
                            {
                                using (dtElaborazioni dte = new dtElaborazioni())
                                {
                                    dte.InviaAnticipoPrimaSistemazione(idAttivitaAnticipi, db);
                                }

                                Utility.SetLogAttivita(EnumAttivitaCrud.Modifica,
                                                       "Attivazione anticipi.", "ATTIVITAANTICIPI", db,
                                                       aa.PRIMASITEMAZIONE.TRASFERIMENTO.IDTRASFERIMENTO, aa.IDATTIVITAANTICIPI);
                                using (dtCalendarioEventi dtce = new dtCalendarioEventi())
                                {
                                    dtce.ModificaInCompletatoCalendarioEvento(aa.PRIMASITEMAZIONE.TRASFERIMENTO.IDTRASFERIMENTO, EnumFunzioniEventi.RichiestaAnticipi, db);
                                }

                                //using (dtDipendenti dtd = new dtDipendenti())
                                //{
                                using (dtTrasferimento dtt = new dtTrasferimento())
                                {
                                    using (dtUffici dtu = new dtUffici())
                                    {
                                        var t = dtt.GetTrasferimentoByIdPrimaSistemazione(aa.IDPRIMASISTEMAZIONE);

                                        if (t?.idTrasferimento > 0)
                                        {
                                            //var dip = dtd.GetDipendenteByID(t.idDipendente);
                                            var uff = dtu.GetUffici(t.idUfficio);


                                            EmailTrasferimento.EmailAttiva(aa.PRIMASITEMAZIONE.TRASFERIMENTO.IDTRASFERIMENTO,
                                                                           Resources.msgEmail.OggettoAttivaRichiestaAnticipi,
                                                                           string.Format(Resources.msgEmail.MessaggioAttivaRichiestaAnticipi, uff.descUfficio + " (" + uff.codiceUfficio + ")", t.dataPartenza.ToShortDateString()),
                                                                           db);
                                        }
                                    }
                                }
                                //}
                                //this.EmailAttivaRichiestaAnticipi(aa.IDATTIVITAANTICIPI, db);
                            }
                        }
                    }

                    db.Database.CurrentTransaction.Commit();
                }
                catch (Exception ex)
                {
                    db.Database.CurrentTransaction.Rollback();
                    throw ex;
                }
            }
        }