public JsonResult VerificaTERientroAnticipo(decimal idTrasferimento)
        {
            ViewData["idTrasferimento"] = idTrasferimento;
            decimal tmp = 0;

            try
            {
                if (idTrasferimento <= 0)
                {
                    throw new Exception("Trasferimento non valorizzato");
                }
                using (dtTrasferimento dtt = new dtTrasferimento())
                {
                    using (dtRichiamo dtr = new dtRichiamo())
                    {
                        TrasferimentoModel trm = dtt.GetTrasferimentoById(idTrasferimento);
                        if (trm != null)
                        {
                            if (trm.idStatoTrasferimento == EnumStatoTraferimento.Attivo || trm.idStatoTrasferimento == EnumStatoTraferimento.Terminato)
                            {
                                if (dtr.GetRichiamoByIdTrasf(idTrasferimento).idTrasferimento > 0)
                                {
                                    tmp = 1;
                                }
                            }
                        }
                    }
                }
                return(Json(new { VerificaTERientroAnticipo = tmp }));
            }
            catch (Exception ex)
            {
                return(Json(new { err = ex.Message }));
            }
        }
Example #2
0
        public ActionResult Richiamo(decimal idTrasferimento, decimal idFKm, string dataRichiamo, decimal nuovo = 0)
        {
            DateTime dataPartenza = new DateTime();
            bool     admin        = Utility.Amministratore();
            bool     solaLettura  = false;

            ViewBag.Amministratore = admin;
            try
            {
                ViewData["idFKm"]           = idFKm;
                ViewData["idTrasferimento"] = idTrasferimento;
                ViewData["dataRichiamo"]    = dataRichiamo;
                CaricaComboFKM(idFKm, nuovo);
                ViewData["abilitaModifica"] = idFKm;
                using (ModelDBISE db = new ModelDBISE())
                {
                    using (dtRichiamo dtr = new dtRichiamo())
                    {
                        dataPartenza = dtr.Restituisci_DataPartenza(idTrasferimento, db);
                        RichiamoModel rcm = dtr.Restituisci_Ultimo_Richiamo(idTrasferimento);
                        ViewData["idRichiamo"] = rcm.IdRichiamo;
                        if (rcm.IdRichiamo != 0)
                        {
                            ViewData["dataRientro"]  = rcm.DataRientro;
                            ViewData["dataRichiamo"] = rcm.DataRichiamo;
                        }
                        CaricaComboFKM(rcm.CoeffKm, nuovo, rcm.IdRichiamo);
                    }
                    using (dtTrasferimento dtt = new dtTrasferimento())
                    {
                        TrasferimentoModel trm = dtt.GetTrasferimentoById(idTrasferimento);
                        if (trm != null)
                        {
                            var ultimo_trasf = dtt.GetUltimoTrasferimentoValidoByMatricola(trm.Dipendente.matricola.ToString());
                            if (ultimo_trasf.idTrasferimento > 0)
                            {
                                if (ultimo_trasf.idTrasferimento != idTrasferimento)
                                {
                                    solaLettura = true;
                                }
                            }
                        }
                    }
                }
                ViewData["solaLettura"]  = solaLettura;
                ViewData["dataPartenza"] = dataPartenza;
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }
            return(PartialView());
        }
Example #3
0
        public List <SelectListItem> AggiornaViewBag_Lista_Trasferimenti(decimal idTrasferimento, ModelDBISE db)
        {
            var r = new List <SelectListItem>();

            using (dtRichiamo dtric = new dtRichiamo())
            {
                decimal matricola = dtric.GetMatricolaDaIdTrasferimento(idTrasferimento);
                // var eltr = dtric.GetListaTrasferimentoPerRichiamo(matricola);
                if (matricola > 0)
                {
                    var lt = dtric.GetListaTrasferimentoPerRichiamo(matricola, db);
                    if (lt?.Any() ?? false)
                    {
                        r = (from e in lt
                             select new SelectListItem()
                        {
                            //Text = e.Ufficio.descUfficio + " (" + e.Ufficio.codiceUfficio + ")" + " - " + e.dataPartenza.ToShortDateString() + " ÷ " + ((e.dataRientro.HasValue == true && e.dataRientro < Utility.DataFineStop()) ? e.dataRientro.Value.ToShortDateString() : "--/--/----"),
                            Text = e.Ufficio.descUfficio +
                                   " (" + e.Ufficio.codiceUfficio + ")" + " - " +
                                   (
                                (
                                    e.idStatoTrasferimento != EnumStatoTraferimento.Annullato ?
                                    (e.dataPartenza.ToShortDateString() + " ÷ " +
                                     (
                                         (e.dataRientro.HasValue == true &&
                                          e.dataRientro < Utility.DataFineStop()
                                         ) ? e.dataRientro.Value.ToShortDateString() : "--/--/----"
                                     )
                                    )
                                                : "ANNULLATO"
                                )
                                   ),
                            Value = e.idTrasferimento.ToString()
                        }).ToList();

                        if (idTrasferimento == 0)
                        {
                            r.First().Selected = true;
                        }
                        else
                        {
                            r.First(a => a.Value == idTrasferimento.ToString()).Selected = true;
                        }
                    }
                }
            }
            return(r);
        }
Example #4
0
 public ActionResult MessaggioInserisciRichiamo(decimal idTrasferimento, decimal idFKm, string dataInserita, decimal idRichiamo = 0)
 {
     ViewData["idTrasferimento"] = idTrasferimento;
     ViewData["idFKm"]           = idFKm;
     ViewData["dataInserita"]    = dataInserita == null ? "" : dataInserita.ToString();
     CaricaComboFKM(idFKm, 0, idRichiamo);
     using (ModelDBISE db = new ModelDBISE())
     {
         using (dtRichiamo dtr = new dtRichiamo())
         {
             DateTime dataPartenza = dtr.Restituisci_DataPartenza(idTrasferimento, db);
             ViewData["dataPartenza"] = dataPartenza;
         }
     }
     return(PartialView());
 }
Example #5
0
        public ActionResult DatiTabElencoRichiamo(decimal idTrasferimento)
        {
            ViewData["idTrasferimento"] = idTrasferimento;
            List <RichiamoModel> tmp = new List <RichiamoModel>();

            try
            {
                using (dtRichiamo dtcal = new dtRichiamo())
                {
                    //tmp.AddRange(dtcal.GetLista_Richiamo(idTrasferimento));
                }
            }
            catch (Exception ex)
            {
                return(PartialView("ErrorPartial", new MsgErr()
                {
                    msg = ex.Message
                }));
            }
            return(PartialView(tmp));
        }
Example #6
0
        public void InviaMailRichiamo(decimal idTrasferimento, ModelDBISE db, string corpoMessaggio = "", string oggetto = "")
        {
            // UtentiAutorizzatiModel uta = null;
            //decimal idMittenteLogato = Utility.UtenteAutorizzato().idDipendente;
            var uam = Utility.UtenteAutorizzato();


            //ViewBag.idMittenteLogato = idMittenteLogato;
            //   NotificheModel nmod = new NotificheModel();
            using (dtRichiamo dtn = new dtRichiamo())
            {
                using (GestioneEmail gmail = new GestioneEmail())
                {
                    // ModelloAllegatoMail allegato = new ModelloAllegatoMail();
                    Destinatario   dest       = new Destinatario();
                    Destinatario   destToCc   = new Destinatario();
                    ModelloMsgMail modMSGmail = new ModelloMsgMail();

                    //if (idDocumento != 0)
                    //{
                    //    var docByte = dtn.GetAllegatoVC(idAttivazioneVC, idDocumento);
                    //    Stream streamDoc = new MemoryStream(docByte);
                    //    DocumentiModel dm = dtn.GetDatiDocumentoById(idDocumento);
                    //    allegato.nomeFile = dm.nomeDocumento + "." + dm.estensione;
                    //    allegato.allegato = streamDoc;
                    //    modMSGmail.allegato.Add(allegato);
                    //}
                    modMSGmail.oggetto  = oggetto;
                    modMSGmail.corpoMsg = corpoMessaggio;
                    Mittente mitt = new Mittente();
                    //mitt.EmailMittente = dtn.GetEmailByIdDipendente(idMittenteLogato);
                    //decimal id_dip = dtn.RestituisciIDdestinatarioDaEmail(mitt.EmailMittente);
                    if (uam?.idDipendente > 0)
                    {
                        DipendentiModel dmod = dtn.RestituisciDipendenteByID(uam.idDipendente, db);
                        mitt.Nominativo    = dmod.nome + " " + dmod.cognome;
                        mitt.EmailMittente = dmod.email;
                    }
                    else
                    {
                        mitt.Nominativo    = uam.nominativo;
                        mitt.EmailMittente = uam.eMail;
                    }

                    decimal idDestinatario = dtn.Restituisci_ID_Destinatario(idTrasferimento);
                    string  nome_          = dtn.RestituisciDipendenteByID(idDestinatario, db).nome;
                    string  cognome_       = dtn.RestituisciDipendenteByID(idDestinatario, db).cognome;
                    string  nominativo_    = nome_ + " " + cognome_;
                    dest = new Destinatario();
                    dest.EmailDestinatario = dtn.GetEmailByIdDipendente(idDestinatario);
                    dest.Nominativo        = nominativo_;
                    modMSGmail.destinatario.Add(dest);

                    //il mittente deve anche ricevere in coppia la mail
                    destToCc = new Destinatario();
                    destToCc.EmailDestinatario = mitt.EmailMittente;
                    string nominativo_c = mitt.Nominativo;
                    destToCc.Nominativo = nominativo_c;
                    modMSGmail.cc.Add(destToCc);

                    //Qui mi assicuro che tutti gli amminsitratori siano inclusi in ToCc
                    //var lls = dtn.GetListaDipendentiAutorizzati((decimal)EnumRuoloAccesso.Amministratore);
                    //foreach (var x in lls)
                    //{
                    //    bool found = false;
                    //    if (modMSGmail.cc.Count != 0)
                    //    {
                    //        var tmp = modMSGmail.cc.Where(a => a.EmailDestinatario.ToUpper().Trim() == x.email.ToUpper().Trim()).ToList();
                    //        if (tmp.Count() != 0) found = true;
                    //    }
                    //    if (found == false)
                    //    {
                    //        destToCc = new Destinatario();
                    //        string nome_cc = x.nome;
                    //        string cognome_cc = x.cognome;
                    //        destToCc.EmailDestinatario = x.email;
                    //        string nominativo_cc = nome_cc + " " + cognome_cc;
                    //        destToCc.Nominativo = nominativo_cc;
                    //        modMSGmail.cc.Add(destToCc);
                    //    }
                    //}
                    ///////////////////////////////////////////////////////
                    modMSGmail.mittente = mitt;
                    gmail.sendMail(modMSGmail);
                }
            }
        }
Example #7
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 #8
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 }));
            }
        }