コード例 #1
0
        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("&lt;TIPOCITA&gt;", entity.TipoCita.Descripcion);
                    mensajeHtml = mensajeHtml.Replace("&lt;ESTADOCITA&gt;", entity.EstadoCita.Descripcion);
                    mensajeHtml = mensajeHtml.Replace("&lt;DOCTOR&gt;", entity.Usuario.NombresCompletos);
                    mensajeHtml = mensajeHtml.Replace("&lt;PACIENTE&gt;", persona.NombreCompleto);
                    mensajeHtml = mensajeHtml.Replace("&lt;FECHAACTUAL&gt;", DateTime.Now.ToString(Comun.Context.FormatoFecha));
                    mensajeHtml = mensajeHtml.Replace("&lt;FECHACITA&gt;", entity.AppointmentDate.ToString(Comun.Context.FormatoFecha));
                    mensajeHtml = mensajeHtml.Replace("&lt;HORACITA&gt;", 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));
            }
        }
コード例 #2
0
        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));
        }