Ejemplo n.º 1
0
        public string[] InserisciSospensione(SospensioneModel sosp, decimal idTipoSospensione)
        {
            string[] my_array = new string[] { "0", "0" };
            if (dateValide(sosp.DataInizioSospensione.Value, sosp.DataFineSospensione.Value))
            {
                if (!CompresaInUnIntervallo(sosp.DataInizioSospensione.Value, sosp.DataFineSospensione.Value, sosp.idTrasferimento, sosp.idSospensione))
                {
                    using (var db = new ModelDBISE())
                    {
                        try
                        {
                            db.Database.BeginTransaction();
                            var sospnew = new SOSPENSIONE
                            {
                                IDTRASFERIMENTO   = sosp.idTrasferimento,//tmp.FirstOrDefault().idTrasferimento,
                                DATAINIZIO        = sosp.DataInizioSospensione.Value,
                                DATAFINE          = sosp.DataFineSospensione.Value,
                                IDTIPOSOSPENSIONE = idTipoSospensione,// sosp.idTipoSospensione,
                                DATAAGGIORNAMENTO = DateTime.Now
                            };
                            db.SOSPENSIONE.Add(sospnew);

                            if (db.SaveChanges() > 0)
                            {
                                sosp.idSospensione = sospnew.IDSOSPENSIONE;

                                using (dtDipendenti dtd = new dtDipendenti())
                                {
                                    dtd.DataInizioRicalcoliDipendente(sosp.idTrasferimento, sosp.DataInizioSospensione.Value, db, true);
                                }


                                Utility.SetLogAttivita(EnumAttivitaCrud.Inserimento, "Inserimento sospensione avvenuta con successo", "SOSPENSIONE", db, sospnew.IDTRASFERIMENTO, sospnew.IDSOSPENSIONE);
                                db.Database.CurrentTransaction.Commit();
                            }
                            else
                            {
                                throw new Exception("L'inserimento della sospensione non è avvenuto.");
                            }
                        }
                        catch (Exception ex)
                        {
                            db.Database.CurrentTransaction.Rollback();
                            throw ex;
                        }
                    }
                }
                else
                {
                    my_array[0] = "2"; my_array[1] = "Impossibile inserire una sopsensione con il periodo incluso in una sopsensione esistente.";
                    return(my_array);
                    //throw new Exception("Le date non sono valide");
                }
            }
            else
            {
                my_array[0] = "1"; my_array[1] = "Data Inizio non deve essere superiore alla data fine";
                return(my_array);
                // throw new Exception("Controllare i dati inseriti");
            }
            return(my_array);
        }
Ejemplo n.º 2
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;
            }
        }
Ejemplo n.º 3
0
        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;
            }
        }