Beispiel #1
0
        public void NotificaRichiestaAnticipi(decimal idAttivitaAnticipi, decimal percentualeRichiesta)
        {
            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    db.Database.BeginTransaction();

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

                        var ra = aa.RINUNCIAANTICIPI;
                        var rinunciaAnticipi = ra.RINUNCIAANT;

                        var a = aa.ANTICIPI.Where(x => x.IDTIPOLOGIAANTICIPI == (decimal)EnumTipologiaAnticipi.Prima_Sistemazione).First();

                        if (a.PERCENTUALEANTICIPO != percentualeRichiesta)
                        {
                            a.PERCENTUALEANTICIPO = percentualeRichiesta;
                            a.DATAAGGIORNAMENTO   = DateTime.Now;

                            if (db.SaveChanges() <= 0)
                            {
                                throw new Exception("Errore nella fase di aggiornamento della percentuale di anticipo richiesta.");
                            }
                        }
                        aa.NOTIFICARICHIESTA     = true;
                        aa.DATANOTIFICARICHIESTA = DateTime.Now;
                        aa.DATAAGGIORNAMENTO     = DateTime.Now;

                        if (db.SaveChanges() <= 0)
                        {
                            throw new Exception("Errore nella fase d'inserimento per la richiesta attivazione anticipi.");
                        }
                        else
                        {
                            using (dtDipendenti dtd = new dtDipendenti())
                            {
                                var dip = dtd.GetDipendenteByID(aa.PRIMASITEMAZIONE.TRASFERIMENTO.DIPENDENTI.IDDIPENDENTE);

                                EmailTrasferimento.EmailNotifica(EnumChiamante.Anticipi, aa.PRIMASITEMAZIONE.TRASFERIMENTO.IDTRASFERIMENTO,
                                                                 Resources.msgEmail.OggettoNotificaRichiestaAnticipi,
                                                                 string.Format(Resources.msgEmail.MessaggioNotificaRichiestaAnticipi, dip.cognome + " " + dip.nome + " (" + dip.matricola + ")"),
                                                                 db);
                            }
                            //this.EmailNotificaRichiestaAnticipi(idAttivitaAnticipi, db);

                            using (dtCalendarioEventi dtce = new dtCalendarioEventi())
                            {
                                CalendarioEventiModel cem = new CalendarioEventiModel()
                                {
                                    idFunzioneEventi = EnumFunzioniEventi.RichiestaAnticipi,
                                    idTrasferimento  = aa.PRIMASITEMAZIONE.IDPRIMASISTEMAZIONE,
                                    DataInizioEvento = DateTime.Now.Date,
                                    DataScadenza     = DateTime.Now.AddDays(Convert.ToInt16(Resources.ScadenzaFunzioniEventi.RichiestaAnticipi)).Date,
                                };

                                dtce.InsertCalendarioEvento(ref cem, db);
                            }
                        }
                        //}

                        db.Database.CurrentTransaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        db.Database.CurrentTransaction.Rollback();
                        throw ex;
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public void NotificaRichiestaPS(decimal idProvScolastiche)
        {
            try
            {
                using (ModelDBISE db = new ModelDBISE())
                {
                    db.Database.BeginTransaction();

                    try
                    {
                        using (dtDipendenti dtd = new dtDipendenti())
                        {
                            var atps = db.ATTIVAZIONIPROVSCOLASTICHE.Find(idProvScolastiche);
                            atps.NOTIFICARICHIESTA = true;
                            atps.DATAATTIVAZIONE   = DateTime.Now;
                            atps.DATAAGGIORNAMENTO = DateTime.Now;

                            var t = atps.PROVVIDENZESCOLASTICHE.TRASFERIMENTO;

                            var dip = dtd.GetDipendenteByID(t.IDDIPENDENTE);



                            var i = db.SaveChanges();
                            if (i <= 0)
                            {
                                throw new Exception("Errore nella fase d'inserimento per la richiesta provvidenze scolastiche.");
                            }


                            #region ciclo attivazione documenti PS
                            var ldps = atps.DOCUMENTI.Where(a => a.MODIFICATO == false && a.IDSTATORECORD == (decimal)EnumStatoRecord.In_Lavorazione).ToList();
                            foreach (var dps in ldps)
                            {
                                dps.IDSTATORECORD = (decimal)EnumStatoRecord.Da_Attivare;
                                if (db.SaveChanges() <= 0)
                                {
                                    throw new Exception("Errore durante il ciclo di attivazione provvidenze scolastiche");
                                }
                            }
                            #endregion


                            EmailTrasferimento.EmailNotifica(EnumChiamante.ProvvidenzeScolastiche,
                                                             atps.PROVVIDENZESCOLASTICHE.TRASFERIMENTO.IDTRASFERIMENTO,
                                                             Resources.msgEmail.OggettoNotificaProvvidenzeScolastiche,
                                                             string.Format(Resources.msgEmail.MessaggioNotificaProvvidenzeScolastiche, dip.cognome + " " + dip.nome + " (" + dip.matricola + ")"),
                                                             db);


                            using (dtCalendarioEventi dtce = new dtCalendarioEventi())
                            {
                                CalendarioEventiModel cem = new CalendarioEventiModel()
                                {
                                    idFunzioneEventi = EnumFunzioniEventi.RichiestaProvvidenzeScolastiche,
                                    idTrasferimento  = atps.PROVVIDENZESCOLASTICHE.IDTRASFPROVSCOLASTICHE,
                                    DataInizioEvento = DateTime.Now.Date,
                                    DataScadenza     = DateTime.Now.AddDays(Convert.ToInt16(Resources.ScadenzaFunzioniEventi.RichiestaProvvidenzeScolastiche)).Date,
                                };

                                dtce.InsertCalendarioEvento(ref cem, db);
                            }


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