Example #1
0
        public JsonResult ConfermaModificaRichiamo(decimal idTrasferimento, decimal idFasciaFKM, string dataRichiamo, decimal idRichiamo)
        {
            using (ModelDBISE db = new ModelDBISE())
            {
                db.Database.BeginTransaction();

                string errore = "";
                var    lstr   = new List <SelectListItem>();


                try
                {
                    ViewData["idTrasferimento"] = idTrasferimento;
                    ViewData["idFKm"]           = idFasciaFKM;
                    DateTime dataPartenza = new DateTime();

                    CaricaComboFKM(idFasciaFKM, idFasciaFKM);
                    using (dtRichiamo dtric = new dtRichiamo())
                    {
                        dataPartenza = dtric.Restituisci_DataPartenza(idTrasferimento, db);
                    }
                    ViewData["dataPartenza"] = dataPartenza;
                    try
                    {
                        RichiamoModel ri = new RichiamoModel();
                        ri.DataRichiamo      = Convert.ToDateTime(dataRichiamo);
                        ri.DataAggiornamento = DateTime.Now;
                        ri.CoeffKm           = idFasciaFKM;
                        ri.idTrasferimento   = idTrasferimento;
                        using (dtRichiamo dtric = new dtRichiamo())
                        {
                            decimal idCoeffIndRichiamo  = dtric.Restituisci_ID_CoeffIndRichiamo_Da_Data(ri, db);
                            decimal idCoeffMaggRichiamo = dtric.Restituisci_ID_CoeffMagIndRichiamo_Da_Data(ri, db);
                            decimal IDPFKM = dtric.Restituisci_ID_PercentualeFKM_Da_Data(ri, db);
                            if (idCoeffIndRichiamo == 0 || IDPFKM == 0 || idCoeffMaggRichiamo == 0)
                            {
                                errore             = "Non esistono coefficenti corrispondenti ai criteri del Richiamo";
                                ViewData["errore"] = errore;
                            }
                            ri.IDPFKM = IDPFKM;

                            DateTime dataRientroPrecedente = dtric.Restituisci_Data_Rientro(idTrasferimento);
                            DateTime DataRientro           = Convert.ToDateTime(dataRichiamo).AddDays(-1);

                            ri.DataRientro = DataRientro;

                            if (idRichiamo != 0)
                            {
                                ViewData["dataRichiamo"] = ri.DataRichiamo.ToShortDateString();
                                ViewData["dataRientro"]  = ri.DataRientro.ToShortDateString();
                                ViewData["idRichiamo"]   = idRichiamo;

                                if (DataRientro < dataPartenza)
                                {
                                    errore = "Data Rientro (" + DataRientro.ToShortDateString() + ") non può essere inferiore alla data Partenza (" + dataPartenza.ToShortDateString() + " )";
                                }
                                else
                                {
                                    idRichiamo = dtric.EditRichiamo(ri, idCoeffIndRichiamo, idCoeffMaggRichiamo, IDPFKM, DataRientro, idRichiamo, db);
                                    errore     = "";
                                    lstr       = AggiornaViewBag_Lista_Trasferimenti(idTrasferimento, db);

                                    //using (dtVariazioniMaggiorazioneFamiliare dtvmf = new dtVariazioniMaggiorazioneFamiliare())
                                    //{
                                    //    dtvmf.TerminaMaggiorazioniFamiliariByDataFineTrasf(idTrasferimento, ri.DataRientro, db);
                                    //}
                                    //using (dtVariazioniMaggiorazioneAbitazione dtvmab = new dtVariazioniMaggiorazioneAbitazione())
                                    //{
                                    //    dtvmab.TerminaMABbyDataFineTrasf(idTrasferimento, ri.DataRientro, db);
                                    //}

                                    using (dtDipendenti dtd = new dtDipendenti())
                                    {
                                        dtd.DataInizioRicalcoliDipendente(idTrasferimento, ri.DataRientro, db, true);
                                    }

                                    string sede           = dtric.DeterminaSede(idTrasferimento);
                                    string oggetto        = Resources.msgEmail.OggettoRichiamoModifica;
                                    string corpoMessaggio = string.Format(Resources.msgEmail.MessaggioRichiamoModifica, sede, dataRientroPrecedente.ToShortDateString(), ri.DataRientro.ToShortDateString());

                                    InviaMailRichiamo(idTrasferimento, db, corpoMessaggio, oggetto);
                                }
                            }
                            else
                            {
                                ViewData["errore"] = "Errore riscontrato nell'inserimento del Richiamo";
                                errore             = "Non esistono coefficenti corrispondenti ai criteri del Richiamo";
                                //  return PartialView("Richiamo");
                                // return PartialView("ErrorPartial", new MsgErr() { msg = "Errore riscontrato nell'inserimento del Richiamo" });
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        ViewData["errore"] = ex.Message;
                        // return PartialView("Richiamo");
                        //  return PartialView("ErrorPartial", new MsgErr() { msg = ex.Message });
                        errore = ex.Message;
                    }
                    db.Database.CurrentTransaction.Commit();
                }
                catch (Exception ex)
                {
                    db.Database.CurrentTransaction.Rollback();
                    throw ex;
                }
                return(Json(new { err = errore, list = lstr }));
            }
        }
Example #2
0
        public JsonResult ConfermaInserisciRichiamo(decimal idTrasferimento, decimal idFasciaFKM, string dataRichiamo)
        {
            using (ModelDBISE db = new ModelDBISE())
            {
                db.Database.BeginTransaction();

                string errore = "";
                var    lstr   = new List <SelectListItem>();

                try
                {
                    ViewData["idTrasferimento"] = idTrasferimento;
                    ViewData["idFKm"]           = idFasciaFKM;
                    CaricaComboFKM(idFasciaFKM, idFasciaFKM);
                    DateTime dataPartenza = new DateTime();
                    using (dtRichiamo dtric = new dtRichiamo())
                    {
                        dataPartenza = dtric.Restituisci_DataPartenza(idTrasferimento, db);
                    }
                    ViewData["dataPartenza"] = dataPartenza;
                    decimal idRichiamo = 0;
                    try
                    {
                        RichiamoModel ri = new RichiamoModel();
                        ri.DataRichiamo      = Convert.ToDateTime(dataRichiamo);
                        ri.DataAggiornamento = DateTime.Now;
                        ri.CoeffKm           = idFasciaFKM;
                        ri.idTrasferimento   = idTrasferimento;
                        using (dtRichiamo dtric = new dtRichiamo())
                        {
                            decimal idCoeffIndRichiamo    = dtric.Restituisci_ID_CoeffIndRichiamo_Da_Data(ri, db);
                            decimal idCoeffMagIndRichiamo = dtric.Restituisci_ID_CoeffMagIndRichiamo_Da_Data(ri, db);
                            decimal IDPFKM = dtric.Restituisci_ID_PercentualeFKM_Da_Data(ri, db);
                            //var r = new List<SelectListItem>();
                            if (idCoeffIndRichiamo == 0 || IDPFKM == 0 || idCoeffMagIndRichiamo == 0)
                            {
                                ViewData["errore"] = "Non esistono coefficenti corrispondenti ai criteri del Richiamo";
                                errore             = "Non esistono coefficenti corrispondenti ai criteri del Richiamo";
                                throw new Exception("Non esistono coefficenti corrispondenti ai criteri del Richiamo");
                            }



                            ri.IDPFKM = IDPFKM;
                            DateTime DataRientro = Convert.ToDateTime(dataRichiamo).AddDays(-1);
                            ri.DataRientro = DataRientro;

                            ViewData["dataRichiamo"] = ri.DataRichiamo.ToShortDateString();
                            ViewData["dataRientro"]  = ri.DataRientro.ToShortDateString();
                            ViewData["idRichiamo"]   = idRichiamo;

                            if (DataRientro < dataPartenza)
                            {
                                errore = "Data Rientro " + DataRientro.ToShortDateString() + " non può essere inferiore alla data Partenza " + dataPartenza.ToShortDateString();
                            }
                            else
                            {
                                idRichiamo             = dtric.SetRichiamo(ri, idCoeffIndRichiamo, IDPFKM, idCoeffMagIndRichiamo, DataRientro, db);
                                ViewData["idRichiamo"] = idRichiamo;
                                errore = "";
                            }

                            lstr = AggiornaViewBag_Lista_Trasferimenti(idTrasferimento, db);
                            string sede           = dtric.DeterminaSede(idTrasferimento);
                            string oggetto        = Resources.msgEmail.OggettoRichiamoInserisci;
                            string corpoMessaggio = string.Format(Resources.msgEmail.MessaggioRichiamoInserisci, sede, ri.DataRientro.ToShortDateString());

                            using (dtDipendenti dtd = new dtDipendenti())
                            {
                                dtd.DataInizioRicalcoliDipendente(idTrasferimento, ri.DataRientro, db, true);
                            }

                            InviaMailRichiamo(idTrasferimento, db, corpoMessaggio, oggetto);
                        }
                    }
                    catch (Exception ex)
                    {
                        ViewData["errore"] = ex.Message;
                        errore             = ex.Message;
                    }
                    db.Database.CurrentTransaction.Commit();
                }
                catch (Exception ex)
                {
                    db.Database.CurrentTransaction.Rollback();
                    throw ex;
                }
                return(Json(new { err = errore, list = lstr }));
            }
        }