public virtual async Task <ActionResult> Ingreso(AppointmentViewModel model) { OnBeginCrudAction(); if (!ModelState.IsValid) { return(await Task.Run(() => Json(new { success = false, message = GetValidationMessages() }, JsonRequestBehavior.AllowGet))); } try { var persona = PersonaService.GetById(model.PersonasId.Value); model.AppointmentTitle = string.Format("{0} {1} {2} {3}", persona.PrimerNombre != null ? persona.PrimerNombre.ToUpper() : "", persona.SegundoNombre != null ? persona.SegundoNombre.ToUpper() : "", persona.PrimerApellido != null ? persona.PrimerApellido.ToUpper() : "", persona.SegundoApellido != null ? persona.SegundoApellido.ToUpper() : ""); model.RepetirTipo = 1; var entity = MapperModelToEntity(model); persona.Empresa = EmpresaService.GetById(persona.EmpresaId.Value); var saveResult = await EntityService.SaveAsync(entity); //Guardar Documento if (saveResult.Succeeded) { #region enviarMail var resultado = false; var mensaje = ""; var manager = new FirmasManager(); entity.TipoCita = TipoIdentificacionService.GetById(entity.TipoCitaId.Value); entity.EstadoCita = TipoIdentificacionService.GetById(entity.EstadoCitaId.Value); entity.Usuario = UsuarioService.GetById(entity.UsuarioId); var mensajeHtml = persona.Empresa.EmailMensajeHtml; mensajeHtml = mensajeHtml.Replace("<TIPOCITA>", entity.TipoCita.Descripcion); mensajeHtml = mensajeHtml.Replace("<ESTADOCITA>", entity.EstadoCita.Descripcion); mensajeHtml = mensajeHtml.Replace("<DOCTOR>", entity.Usuario.NombresCompletos); mensajeHtml = mensajeHtml.Replace("<PACIENTE>", persona.NombreCompleto); mensajeHtml = mensajeHtml.Replace("<FECHAACTUAL>", DateTime.Now.ToString(Comun.Context.FormatoFecha)); mensajeHtml = mensajeHtml.Replace("<FECHACITA>", entity.AppointmentDate.ToString(Comun.Context.FormatoFecha)); mensajeHtml = mensajeHtml.Replace("<HORACITA>", entity.AppointmentDate.ToString(Comun.Context.FormatoHora)); var correo = new Correo { De = persona.Empresa.EmailDe, Para = persona.Email, ConCopia = "", ConCopiaOculta = "", Asunto = "Notificacion: " + entity.TipoCita.Descripcion + " Estado: " + entity.EstadoCita.Descripcion, Mensaje = mensajeHtml, ServidorCorreo = persona.Empresa.SmtpServidor, Usuario = persona.Empresa.SmtpUsuario, Clave = persona.Empresa.SmtpClave, Puerto = persona.Empresa.SmtpPuerto, HabilitaSsl = persona.Empresa.SmtpHabilitaSsl }; resultado = manager.EnviarCorreo(correo, ref mensaje); #endregion return(await Task.Run(() => Json(new { success = true, message = string.Empty }, JsonRequestBehavior.AllowGet))); } return(await Task.Run(() => Json(new { success = false, message = saveResult.GetErrorsString() }, JsonRequestBehavior.AllowGet))); } catch (Exception ex) { return(Json(new { success = false, message = ex.Message }, JsonRequestBehavior.AllowGet)); } }
public async Task <ActionResult> ProbarCorreo(Guid id, string email) { var resultado = false; var mensaje = ""; var empresa = await EntityService.GetByIdAsync(id); if (empresa != null) { var manager = new FirmasManager(); var correo = new Correo { //De = "*****@*****.**", De = empresa.SmtpUsuario, Para = email, ConCopia = "", ConCopiaOculta = "", Asunto = "UniOdonto.ec - Prueba de Servidor Smtp", Mensaje = "<b>Correo enviado exitosamente</b>", ServidorCorreo = empresa.SmtpServidor, Usuario = empresa.SmtpUsuario, Clave = empresa.SmtpClave, Puerto = empresa.SmtpPuerto, HabilitaSsl = empresa.SmtpHabilitaSsl }; resultado = manager.EnviarCorreo(correo, ref mensaje); } else { mensaje = "No existe empresa."; } var data = new { success = resultado, message = mensaje }; return(Json(data, JsonRequestBehavior.AllowGet)); }