Beispiel #1
0
        public string[] Modifica_Sospensione(SospensioneModel sospmod)
        {
            string[] my_array = new string[] { "0", "0" };
            try
            {
                if (dateValide(sospmod.DataInizioSospensione.Value, sospmod.DataFineSospensione.Value))
                {
                    if (!CompresaInUnIntervallo(sospmod.DataInizioSospensione.Value, sospmod.DataFineSospensione.Value, sospmod.idTrasferimento, sospmod.idSospensione))
                    {
                        using (ModelDBISE db = new ModelDBISE())
                        {
                            SOSPENSIONE sosp = db.SOSPENSIONE.Find(sospmod.idSospensione);
                            sosp.IDTIPOSOSPENSIONE = sospmod.idTipoSospensione;
                            sosp.DATAINIZIO        = sospmod.DataInizioSospensione.Value;
                            sosp.DATAFINE          = sospmod.DataFineSospensione.Value;
                            sosp.ANNULLATO         = sospmod.ANNULLATO;

                            int i = db.SaveChanges();

                            if (i < 0)
                            {
                                throw new Exception(string.Format("Errore nella fase di modifica della Sospensione."));
                            }
                            else
                            {
                                Utility.SetLogAttivita(EnumAttivitaCrud.Modifica, "Modifica Sospensione avvenuta con successo",
                                                       "SOSPENSIONE", db, sospmod.idTrasferimento, sospmod.idSospensione);
                            }
                        }
                    }
                    else
                    {
                        my_array[0] = "2"; my_array[1] = "Impossibile inserire una sopsensione con il periodo incluso in una sopsensione esistente.";
                        return(my_array);
                    }
                }
                else
                {
                    my_array[0] = "1"; my_array[1] = "Data Inizio non deve essere superiore alla data fine";
                    return(my_array);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(my_array);
        }
Beispiel #2
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);
        }