public ActionResult EnviarPrueba(string Destinatarios, string description, string Asunto) { if (string.IsNullOrEmpty(Destinatarios)) { Resultado.Estado = false; Resultado.Respuesta = "Los campos con * son requeridos"; return(Json(new { Resultado }, JsonRequestBehavior.AllowGet)); } var listado = Destinatarios.Split(',').ToList(); List <string> mailNoValidos = new List <string>(); foreach (var item in listado) { if (!Validaciones.ValidarMail(item)) { mailNoValidos.Add(item); } } if (mailNoValidos.Any()) { var resultadoMails = String.Join(" ; ", mailNoValidos); // Invalidos Resultado.Estado = false; Resultado.Respuesta = Mensajes.MensajeTransaccionFallida + " Los siguientes emails no son válidos: " + resultadoMails; Resultado.Adicional = resultadoMails; return(Json(new { Resultado }, JsonRequestBehavior.AllowGet)); } else { Destinatarios = Destinatarios.Replace(",", ";"); } description = !string.IsNullOrEmpty(description) ? description : GetEmailTemplate("TemplateEnviosMasivosFocus"); Resultado = NotificacionesDAL.CrearNotificacion(new Notificaciones { NombreTarea = "Notificación Focus de prueba generado por el usuario.", DescripcionTarea = "El usuario prueba un envío de notificación para verificar que todo esté funcional.", NombreEmisor = nombreCorreoEmisor, CorreoEmisor = correoEmisor, ClaveCorreo = claveEmisor, CorreosDestinarios = Destinatarios, AsuntoCorreo = string.IsNullOrEmpty(Asunto) ? "NOTIFICACIÓN SORTEO" : Asunto, NombreArchivoPlantillaCorreo = "MailingSorteosFocus", CuerpoCorreo = description, AdjuntosCorreo = "",//ruta, FechaEnvioCorreo = DateTime.Now, Empresa = "FOCUS AND RESEARCH", Canal = "PRUEBA NOTIFICACION FOCUS", Tipo = "PRUEBA", }); return(Json(new { Resultado }, JsonRequestBehavior.AllowGet)); }
public ActionResult CambiarClave(CambiarClave formulario) { RespuestaTransaccion respuesta = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida, EntidadID = 0 }; try { Resultado = UsuarioDAL.CambiarClaveReset(formulario); if (Resultado.Estado) { SessionHelper.DestroyUserSession(); Session.Clear(); string enlace = GetUrlSitio(Url.Action("Index", "Login")); var datosusuario = UsuarioDAL.ConsultarUsuario(Convert.ToInt32(formulario.UsuaCodi)); string body = GetEmailTemplate("TemplateCambioClaveUsuario"); body = body.Replace("@ViewBag.EnlaceDirecto", enlace); body = body.Replace("@ViewBag.EnlaceSecundario", enlace); body = body.Replace("@ViewBag.Usuario", datosusuario.NombresApellidos); //Siempre que un usuario se haya creado con éxito. var notificacion = NotificacionesDAL.CrearNotificacion(new Notificaciones { NombreTarea = "Cambio de Usuario", DescripcionTarea = "El usuario cambio de clave.", NombreEmisor = nombreCorreoEmisor, CorreoEmisor = correoEmisor, ClaveCorreo = claveEmisor, CorreosDestinarios = datosusuario.MailCorporativo, AsuntoCorreo = "CAMBIO DE CLAVE", NombreArchivoPlantillaCorreo = TemplateNotificaciones, CuerpoCorreo = body, AdjuntosCorreo = "",//ruta, FechaEnvioCorreo = DateTime.Now, Empresa = "", Canal = CanalNotificaciones, Tipo = "USUARIO", }); } return(Json(new { Resultado }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { Resultado.Respuesta = Resultado.Respuesta + ";" + ex.Message; return(Json(new { Resultado }, JsonRequestBehavior.AllowGet)); } }
public ActionResult RecoveryPassword(ForgotViewModel formulario) { try { Resultado = UsuarioDAL.RecuperarClave(formulario); string enlace = GetUrlSitio(Url.Action("Index", "Login")); string body = GetEmailTemplate("TemplateResetClaveUsuario"); body = body.Replace("@ViewBag.EnlaceDirecto", enlace); body = body.Replace("@ViewBag.EnlaceSecundario", enlace); body = body.Replace("@ViewBag.Usuario", formulario.Login); body = body.Replace("@ViewBag.Contrasenia", Resultado.EntidadID.ToString()); if (Resultado.Estado) { var notificacion = NotificacionesDAL.CrearNotificacion(new Notificaciones { NombreTarea = "Reset Clave", DescripcionTarea = "El usuario olvidó su contraseña.", NombreEmisor = nombreCorreoEmisor, CorreoEmisor = correoEmisor, ClaveCorreo = claveEmisor, CorreosDestinarios = formulario.Login, AsuntoCorreo = "RECUPERAR CLAVE", NombreArchivoPlantillaCorreo = TemplateNotificaciones, CuerpoCorreo = body, AdjuntosCorreo = "",//ruta, FechaEnvioCorreo = DateTime.Now, Empresa = "", Canal = CanalNotificaciones, Tipo = "USUARIO", }); } return(Json(new { Resultado }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { Resultado.Respuesta = Resultado.Respuesta + ";" + ex.Message; return(Json(new { Resultado }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Create(FichaIngreso formulario, List <DetalleEstudios> estudios, List <DetalleExperiencias> experiencias, List <DetalleCargasFamiliares> cargasFamiliares, Usuario usuario) { string FileName = string.Empty; try { estudios = estudios ?? new List <DetalleEstudios>(); experiencias = experiencias ?? new List <DetalleExperiencias>(); cargasFamiliares = cargasFamiliares ?? new List <DetalleCargasFamiliares>(); var fichaIngreso = HttpContext.Request.Params.Get("formulario"); formulario = JsonConvert.DeserializeObject <FichaIngresoOverload>(fichaIngreso, settingsJsonDeserilize).formulario; var datosUsuario = HttpContext.Request.Params.Get("usuario"); usuario = JsonConvert.DeserializeObject <UsuarioOverload>(datosUsuario).usuario; var dataEstudios = HttpContext.Request.Params.Get("estudios"); estudios = JsonConvert.DeserializeObject <EstudiosOverload>(dataEstudios).estudios; var dataExperiencias = HttpContext.Request.Params.Get("experiencias"); experiencias = JsonConvert.DeserializeObject <ExperienciaOverload>(dataExperiencias, settingsJsonDeserilize).experiencias; var dataCargasFamiliares = HttpContext.Request.Params.Get("cargasFamiliares"); cargasFamiliares = JsonConvert.DeserializeObject <CargasFamiliaresOverload>(dataCargasFamiliares, settingsJsonDeserilize).cargasFamiliares; //Usuario usuario.IdUsuario = formulario.UsuarioID; //Obtener archivos HttpFileCollectionBase files = Request.Files; for (int i = 0; i < files.Count; i++) { HttpPostedFileBase file = files[i]; string path = string.Empty; // Checking for Internet Explorer if (Request.Browser.Browser.ToUpper() == "IE" || Request.Browser.Browser.ToUpper() == "INTERNETEXPLORER") { string[] testfiles = file.FileName.Split(new char[] { '\\' }); path = testfiles[testfiles.Length - 1]; } else { path = file.FileName; FileName = file.FileName; } string tipoArchivo = file.ContentType; using (var reader = new BinaryReader(file.InputStream)) { formulario.Foto = reader.ReadBytes(file.ContentLength); } } usuario.Direccion = formulario.DireccionCallePrincipal + " ; " + formulario.DireccionCalleSecundaria + " ; " + formulario.DireccionConjuntoResidencial + " N. " + formulario.DireccionNumeroCasa; var actualizacionDatosUsuario = UsuarioDAL.ActualizarDatosUsuarioFichaIngreso(usuario); if (actualizacionDatosUsuario.Estado) { var destinatarios = PerfilesDAL.ConsultarCorreoNotificacion(14); string enlace = GetUrlSitio(Url.Action("Index", "FichaIngreso")); string body = GetEmailTemplate("TemplateFormularioIngreso"); body = body.Replace("@ViewBag.EnlaceDirecto", enlace); body = body.Replace("@ViewBag.EnlaceSecundario", enlace); body = body.Replace("@ViewBag.Empleado", usuario.Nombres + " " + usuario.Apellidos); Resultado = FichaIngresoDAL.CrearFichaIngreso(formulario, cargasFamiliares, estudios, experiencias); //Siempre que la ficha de ingreso haya sido creado con éxito. if (Resultado.Estado) { var notificacion = NotificacionesDAL.CrearNotificacion(new Notificaciones { NombreTarea = "Nueva Ficha Ingreso", DescripcionTarea = "Correo de notificación de registro de ficha un nuevo empleado en el corporativo a RRHH y al área médica.", NombreEmisor = nombreCorreoEmisor, CorreoEmisor = correoEmisor, ClaveCorreo = claveEmisor, CorreosDestinarios = destinatarios, AsuntoCorreo = "NOTIFICACION DE FICHA DE INGRESO", NombreArchivoPlantillaCorreo = TemplateNotificaciones, CuerpoCorreo = body, AdjuntosCorreo = "",//ruta, FechaEnvioCorreo = DateTime.Now, Empresa = "ATISCODE", Canal = CanalNotificaciones, Tipo = "FICHA INGRESO", }); } } else { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = actualizacionDatosUsuario.Respuesta } }, JsonRequestBehavior.AllowGet)); } return(Json(new { Resultado = Resultado }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { Log.Error(ex, "Excepción al crear ficha de ingreso."); return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = ex.Message } }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Create(Usuario usuario) { RespuestaTransaccion resultado = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida }; try { if (!Validaciones.ValidarMail(usuario.MailCorporativo)) { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeCorreoCorporativoIncorrecto } }, JsonRequestBehavior.AllowGet)); } if (!Validaciones.ValidarMail(usuario.Mail)) { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeCorreoIncorrecto } }, JsonRequestBehavior.AllowGet)); } if (!Validaciones.VerificaIdentificacion(usuario.Identificacion)) { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeCedulaRucIncorrecto } }, JsonRequestBehavior.AllowGet)); } if (usuario.Username.Length < 4) { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeLongitudUserName } }, JsonRequestBehavior.AllowGet)); } Resultado = UsuarioDAL.CrearUsuario(usuario); string enlace = GetUrlSitio(Url.Action("Index", "Login")); string body = GetEmailTemplate("TemplateBienvenidaUsuario"); body = body.Replace("@ViewBag.EnlaceDirecto", enlace); body = body.Replace("@ViewBag.EnlaceSecundario", enlace); body = body.Replace("@ViewBag.Usuario", usuario.Nombres + " " + usuario.Apellidos); body = body.Replace("@ViewBag.Contrasenia", Cryptography.Decrypt(usuario.Clave)); //Siempre que un usuario se haya creado con éxito. if (Resultado.Estado) { var notificacion = NotificacionesDAL.CrearNotificacion(new Notificaciones { NombreTarea = "Creación de Usuario", DescripcionTarea = "Registro de un nuevo usuario.", NombreEmisor = nombreCorreoEmisor, CorreoEmisor = correoEmisor, ClaveCorreo = claveEmisor, CorreosDestinarios = usuario.MailCorporativo, AsuntoCorreo = "CREACION DE USUARIO", NombreArchivoPlantillaCorreo = TemplateNotificaciones, CuerpoCorreo = body, AdjuntosCorreo = "",//ruta, FechaEnvioCorreo = DateTime.Now, Empresa = "", Canal = CanalNotificaciones, Tipo = "USUARIO", }); } return(Json(new { Resultado }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { Resultado.Respuesta = Resultado.Respuesta + ";" + ex.Message; return(Json(new { Resultado }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Register(RegisterViewModel formulario) { RespuestaTransaccion respuesta = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeTransaccionFallida, EntidadID = 0 }; try { if (!Validaciones.ValidarMail(formulario.Email)) { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeCorreoIncorrecto } }, JsonRequestBehavior.AllowGet)); } if (!Validaciones.VerificaIdentificacion(formulario.Identificacion)) { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeCedulaRucIncorrecto } }, JsonRequestBehavior.AllowGet)); } if (UsuarioDAL.NombreUsuarioExistente(formulario.UserName)) { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeResgistroExistenteNombreUsuario } }, JsonRequestBehavior.AllowGet)); } if (UsuarioDAL.IdentificacionExistente(formulario.Identificacion)) { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeResgistroExistenteIdentificacion } }, JsonRequestBehavior.AllowGet)); } if (UsuarioDAL.CorreoExistente(formulario.Email)) { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeResgistroExistenteIMailCorporativo } }, JsonRequestBehavior.AllowGet)); } if (formulario.UserName.Length < 4) { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeLongitudUserName } }, JsonRequestBehavior.AllowGet)); } if (formulario.Password.Length != formulario.ConfirmPassword.Length) { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeValidacionContrasenias } }, JsonRequestBehavior.AllowGet)); } if (formulario.Password.Length < 8) { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = Mensajes.MensajeLongitudContrasenia } }, JsonRequestBehavior.AllowGet)); } Resultado = UsuarioDAL.CrearUsuarioGenerico(formulario); string enlace = GetUrlSitio(Url.Action("Index", "Login")); string body = GetEmailTemplate("TemplateRegistroUsuario"); body = body.Replace("@ViewBag.EnlaceDirecto", enlace); body = body.Replace("@ViewBag.EnlaceSecundario", enlace); body = body.Replace("@ViewBag.Usuario", formulario.Nombre + " " + formulario.Apellidos); //Siempre que un usuario se haya creado con éxito. if (Resultado.Estado) { var notificacion = NotificacionesDAL.CrearNotificacion(new Notificaciones { NombreTarea = "Creación de Usuario", DescripcionTarea = "Registro de un nuevo usuario.", NombreEmisor = nombreCorreoEmisor, CorreoEmisor = correoEmisor, ClaveCorreo = claveEmisor, CorreosDestinarios = formulario.Email, AsuntoCorreo = "CREACION DE USUARIO", NombreArchivoPlantillaCorreo = TemplateNotificaciones, CuerpoCorreo = body, AdjuntosCorreo = "",//ruta, FechaEnvioCorreo = DateTime.Now, Empresa = "", Canal = CanalNotificaciones, Tipo = "USUARIO", }); } return(Json(new { Resultado }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = ex.Message } }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Create(Usuario formulario) { try { //#region Búsqueda de archivos adjuntos en directorio //Catalogo catalogo = CatalogoDAL.ConsultarCatalogo(formulario.IdEmpresa.Value); ////El nombre del archivo de acumulación de décimos tiene que ser igual al código del catálogo de la empresa seleccionada. //string nombreArchivo = catalogo.CodigoCatalogo; //if (string.IsNullOrEmpty(nombreArchivo)) // return Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = string.Format(Mensajes.MensajeErrorParametrizacionArchivoEmpresaDirectorio, catalogo) } }, JsonRequestBehavior.AllowGet); ////SI LA RUTA EN DISCO NO EXISTE LOS ARCHIVOS SE ALMACENAN EN LA CARPETA MISMO DEL PROYECTO //string rutaBase = basePathRepositorioDocumentos + "\\RRHH\\Documentos\\AcumulacionDecimos"; //nombreArchivo += ".docx"; //string pathServidor = Path.Combine(rutaBase, nombreArchivo); //if (!Directory.Exists(pathServidor)) // return Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = string.Format(Mensajes.MensajeErrorArchivoNoEncontrado, nombreArchivo) } }, JsonRequestBehavior.AllowGet); //string rutaBaseDocumentosIngreso = basePathRepositorioDocumentos + "\\RRHH\\Documentos\\Otros"; //string nombreArchivoDocumentoIngreso = "Formulario Documentos de Ingreso.xlsx"; //string pathDocumentosIngreso = Path.Combine(rutaBaseDocumentosIngreso, nombreArchivoDocumentoIngreso); //if (!Directory.Exists(pathDocumentosIngreso)) // return Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = string.Format(Mensajes.MensajeErrorArchivoNoEncontrado, nombreArchivoDocumentoIngreso) } }, JsonRequestBehavior.AllowGet); //#endregion Catalogo catalogo = CatalogoDAL.ConsultarCatalogo(formulario.IdEmpresa.Value); //El nombre del archivo de acumulación de décimos tiene que ser igual al código del catálogo de la empresa seleccionada. string nombreArchivo = catalogo.CodigoCatalogo; if (string.IsNullOrEmpty(nombreArchivo)) { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = "El código de catálogo es requerido para la empresa " + catalogo } }, JsonRequestBehavior.AllowGet)); } string basePath = ConfigurationManager.AppSettings["RepositorioDocumentos"]; //SI LA RUTA EN DISCO NO EXISTE LOS ARCHIVOS SE ALMACENAN EN LA CARPETA MISMO DEL PROYECTO string rutaBase = basePath + "\\RRHH\\Documentos\\AcumulacionDecimos"; nombreArchivo += ".docx"; string pathServidor = Path.Combine(rutaBase, nombreArchivo); //SI LA RUTA EN DISCO NO EXISTE LOS ARCHIVOS SE ALMACENAN EN LA CARPETA MISMO DEL PROYECTO string ruta = AppDomain.CurrentDomain.BaseDirectory + "Documentos/AcumulacionDecimos/" + nombreArchivo; // En caso de que no exista el directorio, crearlo. bool directorio = Directory.Exists(pathServidor); string rutaBaseDocumentosIngreso = AppDomain.CurrentDomain.BaseDirectory + "Documentos/Otros/"; string pathDocumentosIngreso = Path.Combine(rutaBaseDocumentosIngreso, "Formulario Documentos de Ingreso.xlsx"); bool existeUsuario = UsuarioDAL.VerificarCorreoUsuarioExistente(formulario.Mail); //Solo registra el usuario si no existe if (!existeUsuario) { Resultado = UsuarioDAL.CrearUsuario(formulario); } else { //Si el usuario ya existe, setear el ID, para que lo tome en el envio de la notificacion var usuario = UsuarioDAL.ConsultaUsuarioByEmail(formulario.Mail); Resultado.EntidadID = usuario.IdUsuario; Resultado.Estado = true; Resultado.Respuesta = Mensajes.MensajeBienvenidaUsuarioExistente; } //Siempre que el usuario haya sido creado con éxito. if (Resultado.Estado || existeUsuario) { string enlace = GetUrlSitio(Url.Action("NuevoIngreso", "FichaIngreso", new { usuarioID = Resultado.EntidadID }));//Url.Action("NuevoIngreso", "FichaIngreso", new { usuarioID = Resultado.EntidadID }, Request.Url.Scheme); string body = GetEmailTemplate("TemplateBienvenida"); body = body.Replace("@ViewBag.EnlaceDirecto", enlace); body = body.Replace("@ViewBag.EnlaceSecundario", enlace); //Adjuntar tambien el archivo de Documentos Ingreso if (!string.IsNullOrEmpty(pathServidor)) { pathServidor += ";" + pathDocumentosIngreso; } var notificacion = NotificacionesDAL.CrearNotificacion(new Notificaciones { NombreTarea = "Bienvenida", DescripcionTarea = "Correo de bienvenida a los nuevos usuarios que ingresan a formar parte del corporativo.", NombreEmisor = nombreCorreoEmisor, CorreoEmisor = correoEmisor, ClaveCorreo = claveEmisor, CorreosDestinarios = formulario.Mail, AsuntoCorreo = "BIENVENIDA", NombreArchivoPlantillaCorreo = TemplateNotificaciones, CuerpoCorreo = body, AdjuntosCorreo = pathServidor,//ruta, FechaEnvioCorreo = DateTime.Now, //DetalleEstadoEjecucionNotificacion = string.Empty, Empresa = catalogo.NombreCatalogo, Canal = CanalNotificaciones, Tipo = "BIENVENIDA", }); } return(Json(new { Resultado = Resultado }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { return(Json(new { Resultado = new RespuestaTransaccion { Estado = false, Respuesta = ex.Message } }, JsonRequestBehavior.AllowGet)); } }