public ActionResult Contacto(Contacto Registro) { if (ModelState.IsValid) { ClsAdicional.ClsResultado Resultado = new ClsAdicional.ClsResultado(true, String.Empty); List <ClsParametros> Parametro = (from q in ClsParametros.getList() where q.CveTipo == 3 select q).ToList(); ClsAdicional.EnvioDeCorreos envio = new ClsAdicional.EnvioDeCorreos(Parametro.Where(x => x.NombreDeParametro == "CorreosContacto").Select(y => y.ValorDeParametro).FirstOrDefault(), Registro.Asunto, Registro.Mensaje); String ContenidoPlantilla = envio.PlantillaHtml("EnvioKuup.html"); if (!String.IsNullOrEmpty(ContenidoPlantilla)) { ContenidoPlantilla = ContenidoPlantilla.Replace("#Contenido#", Registro.Mensaje); ContenidoPlantilla = ContenidoPlantilla.Replace("#DeclaratoriaFooter#", Parametro.Where(x => x.NombreDeParametro == "DeclaratoriaFooter").Select(y => y.Descripcion).FirstOrDefault()); ContenidoPlantilla = ContenidoPlantilla.Replace("#DireccionWebEmpresa#", Parametro.Where(x => x.NombreDeParametro == "DireccionWebEmpresa").Select(y => y.ValorDeParametro).FirstOrDefault()); ContenidoPlantilla = ContenidoPlantilla.Replace("#NombreDeLaEmpresa#", Parametro.Where(x => x.NombreDeParametro == "NombreDeLaEmpresa").Select(y => y.ValorDeParametro).FirstOrDefault()); ContenidoPlantilla = ContenidoPlantilla.Replace("#RutaDeLogoParaReportes#", Parametro.Where(x => x.NombreDeParametro == "RutaDeLogoParaReportes").Select(y => y.ValorDeParametro).FirstOrDefault()); envio.Mensaje = ContenidoPlantilla; } Dictionary <String, String> imagen = new Dictionary <string, string>(); imagen.Add("RutaDeLogoParaReportes", Server.MapPath("~/Content/Imagenes/Kuup/Firma correo.png")); Resultado = envio.EnviarCorreo(imagen); if (Resultado.Resultado) { ClsUsuarios usuario = new ClsUsuarios(); usuario.NombreDeUsuario = usuario.UsuarioParaDemo();//Registro.ApellidoPaterno.ToCharArray()[0].ToString().ToUpper() + Registro.Nombre.Split(' ')[0].ToUpper(); usuario.NombreDePersona = Registro.Nombre.Trim(); usuario.ApellidoPaterno = Registro.ApellidoPaterno.Trim(); usuario.ApellidoMaterno = Registro.ApellidoMaterno.Trim(); usuario.CorreoDeUsuario = Registro.Correo.Trim(); usuario.FechaDeRegistro = DateTime.Now; usuario.PasswordUsuario = MoCifrado.Cifrado(Registro.Nombre.Trim().ToCharArray()[0].ToString().ToUpper() + Registro.ApellidoPaterno.Trim().ToCharArray()[0].ToString().ToUpper() + Registro.ApellidoPaterno.Trim().Substring(1, Registro.ApellidoPaterno.Trim().Length - 1) + "001"); usuario.CveDeEstatus = 1; if (usuario.Insert()) { byte PerfilDemo = (from q in ClsPerfiles.getList() where q.NombreDePerfil.ToUpper() == "DEMO" select q.NumeroDePerfil).FirstOrDefault(); ClsUsuariosPerfil AsignaPerfil = new ClsUsuariosPerfil() { NumeroDePerfil = PerfilDemo, NumeroDeUsuario = usuario.NumeroDeUsuario, CveDeEstatus = 1 }; if (AsignaPerfil.Insert()) { envio = new ClsAdicional.EnvioDeCorreos(Registro.Correo, Registro.Asunto, Registro.Mensaje); ContenidoPlantilla = envio.PlantillaHtml("EnvioKuup.html"); if (!String.IsNullOrEmpty(ContenidoPlantilla)) { ContenidoPlantilla = ContenidoPlantilla.Replace("#Contenido#", String.Format(Parametro.Where(x => x.NombreDeParametro == "MensajeParaUsuario").Select(y => y.Descripcion).FirstOrDefault(), usuario.NombreDeUsuario, MoCifrado.Descifrado(usuario.PasswordUsuario))); ContenidoPlantilla = ContenidoPlantilla.Replace("#DeclaratoriaFooter#", Parametro.Where(x => x.NombreDeParametro == "DeclaratoriaFooter").Select(y => y.Descripcion).FirstOrDefault()); ContenidoPlantilla = ContenidoPlantilla.Replace("#DireccionWebEmpresa#", Parametro.Where(x => x.NombreDeParametro == "DireccionWebEmpresa").Select(y => y.ValorDeParametro).FirstOrDefault()); ContenidoPlantilla = ContenidoPlantilla.Replace("#NombreDeLaEmpresa#", Parametro.Where(x => x.NombreDeParametro == "NombreDeLaEmpresa").Select(y => y.ValorDeParametro).FirstOrDefault()); ContenidoPlantilla = ContenidoPlantilla.Replace("#RutaDeLogoParaReportes#", Parametro.Where(x => x.NombreDeParametro == "RutaDeLogoParaReportes").Select(y => y.ValorDeParametro).FirstOrDefault()); envio.Mensaje = ContenidoPlantilla; } imagen = new Dictionary <string, string>(); imagen.Add("RutaDeLogoParaReportes", Server.MapPath("~/Content/Imagenes/Kuup/Firma correo.png")); Resultado = envio.EnviarCorreo(imagen); if (Resultado.Resultado) { ViewData["Informacion"] = "Se le ha enviado usuario y contraseña para el acceso a la Demo"; return(View("EnvioDeSolicitud")); } else { ViewData["Informacion"] = "No fue posible realizar el envió de usuario y contraseña para su acceso a la Demo"; } } } } if (!Resultado.Resultado) { ClsBitacora.GeneraBitacora(NumeroDePantalla, 1, "EnviorCorreo", Resultado.Mensaje); } } else { ViewData["Informacion"] = "Los registros no son válidos para la solicitud"; } return(View(Registro)); }
public ActionResult Login(AccountModel Account) { try { if (ModelState.IsValid) { if (MvcApplication.ObjVersion.NumeroDeVersion.Contains("Demo")) { MoSesion.Demo = true; } else { MoSesion.Demo = false; } Account.IP = ClsAdicional.ClsGetHostNameAndIP.GetIPv4Address(Request.UserHostAddress); Account.Terminal = ClsAdicional.ClsGetHostNameAndIP.GetHostName(Request.UserHostAddress); ViewData["Informacion"] = String.Empty; List <ClsUsuarios> lstUsuario = (from q in ClsUsuarios.getList() where q.NombreDeUsuario == Account.NombreDeUsuario && MoCifrado.Descifrado(q.PasswordUsuario) == Account.Password && q.CveDeEstatus == 1 select q).ToList(); if (lstUsuario.Count == 1) { if (!MoSesion.Demo) { List <ClsParametros> ParametroV = (from q in ClsParametros.getList() where q.NombreDeParametro == "FechaVencimientoKuup" select q).ToList(); if (ParametroV.Count() != 0) { if (DateTime.Now.ToString("yyyy-MM-dd") == ParametroV.FirstOrDefault().ValorDeParametro) { return(RedirectToAction("Vencimiento", "Account", new { lstUsuario.FirstOrDefault().NumeroDeUsuario })); } } } List <ClsParametros> Parametro = (from q in ClsParametros.getList() where q.NombreDeParametro == "ValidaIP" select q).ToList(); if (Parametro.Count() == 1) { List <ClsIPRegistradas> lstIPRegistrada = (from q in ClsIPRegistradas.getList() where q.NumeroDeUsuario == lstUsuario.FirstOrDefault().NumeroDeUsuario&& q.Terminal.ToUpper() == Account.Terminal.ToUpper() && q.IP == Account.IP select q).ToList(); if (Parametro.FirstOrDefault().ValorDeParametro == "SI") { if (lstIPRegistrada.Count == 1) { List <ClsUsuariosPerfil> lstUsuarioPerfil = (from q in ClsUsuariosPerfil.getList() where q.NumeroDeUsuario == lstUsuario.FirstOrDefault().NumeroDeUsuario select q).ToList(); if (lstUsuarioPerfil.Count == 1) { MoSesion.NumeroDeUsuario = lstUsuario.FirstOrDefault().NumeroDeUsuario; MoSesion.NombreDeUsuario = lstUsuario.FirstOrDefault().NombreDeUsuario; MoSesion.NombreDePersona = lstUsuario.FirstOrDefault().NombreDePersona; MoSesion.ApellidoPaterno = lstUsuario.FirstOrDefault().ApellidoPaterno; MoSesion.ApellidoMaterno = lstUsuario.FirstOrDefault().ApellidoMaterno; MoSesion.IPDeUsuario = lstIPRegistrada.FirstOrDefault().IP; MoSesion.TerminalDeUsuario = lstIPRegistrada.FirstOrDefault().Terminal; MoSesion.CveTipoDeAcceso = lstIPRegistrada.FirstOrDefault().CveTipoDeAcceso; MoSesion.TextoTipoDeAccedo = lstIPRegistrada.FirstOrDefault().TextoTipoDeAccedo; MoSesion.NumeroDePerfil = lstUsuarioPerfil.FirstOrDefault().NumeroDePerfil; MoSesion.NombreDePerfil = lstUsuarioPerfil.FirstOrDefault().NombreDePerfil; MoSesion.Browser = Request.Browser.Browser + " " + Request.Browser.Version; if (!MvcApplication.ListaDeSesionesActivas.ContainsKey(MoSesion.IDSesion)) { MvcApplication.ListaDeSesionesActivas.Add(MoSesion.IDSesion, new SesionActiva() { NumeroDeUsuario = MoSesion.NumeroDeUsuario, NumeroDePerfil = MoSesion.NumeroDePerfil, Deslogueado = false }); } return(RedirectToAction("Index", "Home")); } else { ViewData["Informacion"] = Recursos.Textos.Account_ValidaPerfil; } } else { ViewData["Informacion"] = String.Format(Recursos.Textos.Account_ValidaEquipo, Account.Terminal, Account.IP); } } else { lstIPRegistrada = new List <ClsIPRegistradas>(); ClsIPRegistradas Ips = new ClsIPRegistradas { IP = Account.IP, Terminal = Account.Terminal, CveTipoDeAcceso = 1 }; List <ClsUsuariosPerfil> lstUsuarioPerfil = (from q in ClsUsuariosPerfil.getList() where q.NumeroDeUsuario == lstUsuario.FirstOrDefault().NumeroDeUsuario select q).ToList(); if (lstUsuarioPerfil.Count == 1) { MoSesion.NumeroDeUsuario = lstUsuario.FirstOrDefault().NumeroDeUsuario; Ips.NumeroDeUsuario = MoSesion.NumeroDeUsuario; lstIPRegistrada.Add(Ips); MoSesion.NombreDeUsuario = lstUsuario.FirstOrDefault().NombreDeUsuario; MoSesion.NombreDePersona = lstUsuario.FirstOrDefault().NombreDePersona; MoSesion.ApellidoPaterno = lstUsuario.FirstOrDefault().ApellidoPaterno; MoSesion.ApellidoMaterno = lstUsuario.FirstOrDefault().ApellidoMaterno; MoSesion.IPDeUsuario = lstIPRegistrada.FirstOrDefault().IP; MoSesion.TerminalDeUsuario = lstIPRegistrada.FirstOrDefault().Terminal; MoSesion.CveTipoDeAcceso = lstIPRegistrada.FirstOrDefault().CveTipoDeAcceso; MoSesion.TextoTipoDeAccedo = lstIPRegistrada.FirstOrDefault().TextoTipoDeAccedo; MoSesion.NumeroDePerfil = lstUsuarioPerfil.FirstOrDefault().NumeroDePerfil; MoSesion.NombreDePerfil = lstUsuarioPerfil.FirstOrDefault().NombreDePerfil; MoSesion.Browser = Request.Browser.Browser + " " + Request.Browser.Version; if (!MvcApplication.ListaDeSesionesActivas.ContainsKey(MoSesion.IDSesion)) { MvcApplication.ListaDeSesionesActivas.Add(MoSesion.IDSesion, new SesionActiva() { NumeroDeUsuario = MoSesion.NumeroDeUsuario, NumeroDePerfil = MoSesion.NumeroDePerfil, Deslogueado = false }); } return(RedirectToAction("Index", "Home")); } else { ViewData["Informacion"] = Recursos.Textos.Account_ValidaPerfil; } } } } else { ViewData["Informacion"] = Recursos.Textos.Account_ValidaUsuarioContraseña; } } } catch (Exception e) { ViewData["Informacion"] = Recursos.Textos.Bitacora_TextoTryCatchGenerico; ClsBitacora.GeneraBitacora(NumeroDePantalla, 1, "Login", String.Format(Recursos.Textos.Bitacora_TextoDeError, e.GetType().ToString(), e.Message.Trim(), e.GetHashCode().ToString())); MoSesion.LimpiaSesion(); } return(View()); }
public ClsResultado EnviarCorreo(Dictionary <String, String> Imagenes = null) { ClsResultado Resultado = new ClsResultado(true, String.Empty); try { List <Parametro> parametros = new List <Parametro>(); using (DBKuupEntities db = new DBKuupEntities()) { parametros = (from q in db.Parametro where q.PAR_CVE_TIPO == 4 select q).ToList(); } SmtpClient smtpClient = new SmtpClient(); MailMessage mail = new MailMessage(); if ((parametros.Where(x => x.PAR_NOM_PARAMETRO == "EsHost").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault() != "SI")) { smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential(MoCifrado.Descifrado(parametros.Where(x => x.PAR_NOM_PARAMETRO == "Usuario").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault()), MoCifrado.Descifrado(parametros.Where(x => x.PAR_NOM_PARAMETRO == "Password").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault())); smtpClient.Port = Convert <int>(MoCifrado.Descifrado(parametros.Where(x => x.PAR_NOM_PARAMETRO == "Port").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault())); smtpClient.Host = MoCifrado.Descifrado(parametros.Where(x => x.PAR_NOM_PARAMETRO == "Host").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault()); } else { smtpClient.Host = "relay-hosting.secureserver.net"; smtpClient.Port = 25; } mail.From = new MailAddress(MoCifrado.Descifrado(parametros.Where(x => x.PAR_NOM_PARAMETRO == "Form").Select(y => y.PAR_VALOR_PARAMETRO).FirstOrDefault())); foreach (var item in Para.Split(';')) { if (!String.IsNullOrEmpty(item)) { mail.To.Add(item); } } mail.Subject = Asunto; mail.IsBodyHtml = Mensaje.Contains("html"); if (Imagenes != null) { AlternateView alternateView = AlternateView.CreateAlternateViewFromString(Mensaje, null, MediaTypeNames.Text.Html); foreach (var imagen in Imagenes) { LinkedResource pic1 = new LinkedResource(imagen.Value, MediaTypeNames.Image.Jpeg); pic1.ContentId = imagen.Key; alternateView.LinkedResources.Add(pic1); } mail.AlternateViews.Add(alternateView); } else { mail.Body = Mensaje; } smtpClient.Send(mail); } catch (SmtpException exm) { Resultado.Resultado = false; Resultado.Mensaje = "Tipo: " + exm.GetType().ToString() + " Mensaje: " + exm.Message; return(Resultado); } catch (Exception ex) { Resultado.Resultado = false; Resultado.Mensaje = "Tipo: " + ex.GetType().ToString() + " Mensaje: " + ex.Message; return(Resultado); } return(Resultado); }