Example #1
0
        public DipendenteRest GetDipendenteRest(string matricola)
        {
            DipendenteRest dr = new DipendenteRest();

            try
            {
                var client = new RestSharp.RestClient("http://bell.ice.it:5000");
                var req    = new RestSharp.RestRequest("api/dipendente", RestSharp.Method.GET);
                req.RequestFormat = RestSharp.DataFormat.Json;
                req.AddParameter("matricola", matricola);

                RestSharp.IRestResponse <RetDipendenteJson> resp = client.Execute <RetDipendenteJson>(req);

                if (resp.StatusCode == HttpStatusCode.BadRequest || resp.StatusCode == HttpStatusCode.InternalServerError || resp.StatusCode == HttpStatusCode.NotFound)
                {
                    return(dr);
                }

                RestSharp.Deserializers.JsonDeserializer deserial = new RestSharp.Deserializers.JsonDeserializer();

                RetDipendenteJson retDip = deserial.Deserialize <RetDipendenteJson>(resp);

                if (resp.StatusCode == System.Net.HttpStatusCode.OK)
                {
                    if (retDip.success == true)
                    {
                        if (retDip.items != null)
                        {
                            using (dtAccount dta = new dtAccount())
                            {
                                dr.matricola      = retDip.items.matricola;
                                dr.cognome        = retDip.items.cognome;
                                dr.nome           = retDip.items.nome;
                                dr.cdf            = retDip.items.cdf;
                                dr.dataAssunzione = retDip.items.dataAssunzione;
                                dr.dataCessazione = retDip.items.dataCessazione;
                                dr.indirizzo      = retDip.items.indirizzo;
                                dr.cap            = retDip.items.cap;
                                dr.citta          = retDip.items.citta;
                                dr.provincia      = retDip.items.provincia;
                                dr.livello        = retDip.items.livello;
                                dr.cdc            = retDip.items.cdc;
                                dr.email          = retDip.items.email;
                                dr.disabilitato   = retDip.items.disabilitato;
                                dr.password       = retDip.items.password;
                            }
                        }
                    }
                }

                return(dr);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Example #2
0
        public ActionResult InviamiPassword(InviamiPswModel ipm)
        {
            ModelloMsgMail      msg      = new ModelloMsgMail();
            DipendenteRest      dr       = new DipendenteRest();
            Destinatario        d        = new Destinatario();
            sAdmin              sad      = new sAdmin();
            string              password = string.Empty;
            List <Destinatario> ld       = new List <Destinatario>();

            try
            {
                if (ModelState.IsValid)
                {
                    using (Config cfg = new Config())
                    {
                        sad = cfg.SuperAmministratore();
                        if (sad.s_admin.Count > 0)
                        {
                            var lutsa = sad.s_admin.Where(a => a.username == ipm.matricola);
                            if (lutsa.Count() > 0)
                            {
                                var utsa = lutsa.First();
                                if (utsa != null)
                                {
                                    d.Nominativo        = utsa.cognome + " " + utsa.nome;
                                    d.EmailDestinatario = utsa.email;
                                    password            = utsa.password;
                                }
                            }
                            else
                            {
                                using (dtDipendentiRest dtdr = new dtDipendentiRest())
                                {
                                    dr = dtdr.GetDipendenteRest(ipm.matricola);
                                }

                                if (string.IsNullOrWhiteSpace(dr.nominativo))
                                {
                                    ModelState.AddModelError("", "Non risulta nessun nominativo per la matricola passata.");
                                    ViewBag.ModelStateCount = 1;
                                    return(View(ipm));
                                }
                                else if (string.IsNullOrWhiteSpace(dr.email))
                                {
                                    ModelState.AddModelError("", "Non รจ presente nessuna E-mail per la matricola passata.");
                                    ViewBag.ModelStateCount = 1;
                                    return(View(ipm));
                                }

                                d.Nominativo        = dr.nominativo;
                                d.EmailDestinatario = dr.email;
                                password            = dr.password;
                            }
                        }
                    }

                    ld.Add(d);

                    string corpoMsg = @"<h1><strong>ISE (Indennita Sede Estera)</strong></h1>
                                    <h3>Sono state richieste le credenziali&nbsp;per l'utente <strong>{0} ({1}).</strong></h3>
                                    <ul style='list-style-type: square;'>
                                    <li>Username:<strong>{2};</strong></li>
                                    <li>Password: <strong>{3}</strong></li>
                                    </ul>
                                    <hr />
                                    <div style='text-align: right;'>
                                    <p><span style='text-decoration: underline;'>{4} - {5}</span></p>
                                    </div>
                                    <p>&nbsp;</p>";

                    corpoMsg = string.Format(corpoMsg, d.Nominativo, ipm.matricola, ipm.matricola, password,
                                             DateTime.Now.ToLongDateString(), DateTime.Now.ToShortTimeString());

                    using (EmailCredenziali ec = new EmailCredenziali())
                    {
                        msg.oggetto      = "ISE - Password personale";
                        msg.corpoMsg     = corpoMsg;
                        msg.priorita     = System.Net.Mail.MailPriority.High;
                        msg.destinatario = ld;

                        if (!ec.sendMail(msg))
                        {
                            ModelState.AddModelError("", "Errore nell'invio dell'E-mail.");
                            ViewBag.ModelStateCount = 1;
                            return(View());
                        }
                        else
                        {
                            return(RedirectToAction("Index", "Home"));
                        }
                    }
                }
                else
                {
                    ViewBag.ModelStateCount = 0;
                    return(View(ipm));
                }
            }
            catch (Exception ex)
            {
                HandleErrorInfo her = new HandleErrorInfo(ex, "Account", "InviamiPassword");
                return(View("Error", her));
            }
        }