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; } }
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 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> </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)); } }