Beispiel #1
0
        public HttpResponseMessage PostMensajeUsuario([FromBody] NOT_MENSAJE_USUARIO data)
        {
            if (data == null)
            {
                return new HttpResponseMessage {
                           StatusCode = HttpStatusCode.BadRequest, ReasonPhrase = "POST body is null"
                }
            }
            ;

            try
            {
                NOT_MENSAJE_USUARIO rs = MensajeUsuario.Create(data);

                return(new HttpResponseMessage {
                    StatusCode = HttpStatusCode.OK, ReasonPhrase = "Saved"
                });
            }
            catch (Exception ex)
            {
                return(new HttpResponseMessage {
                    StatusCode = HttpStatusCode.InternalServerError, ReasonPhrase = $"Document could not be created: {ex.InnerException}"
                });
            }
            finally
            {
                //session.Dispose();
            }
        }
Beispiel #2
0
        public IEnumerable <NOT_MENSAJE_USUARIO> GetMensajeUsuarioById(Guid id)
        {
            NOT_MENSAJE_USUARIO listaMensajeUsuario = new NOT_MENSAJE_USUARIO();

            try
            {
                listaMensajeUsuario = MensajeUsuario.Read(id);
            }
            catch (Exception e)
            {
                //HttpResponseMessage { StatusCode = HttpStatusCode.OK, ReasonPhrase = "Deleted" };
            }
            finally
            {
                //session.Dispose();
            }

            yield return(listaMensajeUsuario);
        }
Beispiel #3
0
        public void EnviarAsync(string user, string message, string asunto, string filtro, Guid idmensajeUsuario)
        {
            Task.Run(async() =>
            {
                try
                {
                    NOT_MENSAJE_USUARIO appVal = usuario.Read(idmensajeUsuario);

                    appVal.fecha_entrega = DateTime.Now;
                    appVal.estado        = 1;
                    usuario.Update(appVal);

                    TraceLog.LogTrace("INFO", "Cliente Notificacion", "Notificacion desplegada al usurio:" + user);
                    await Clients.All.SendAsync("enviamensaje", user, asunto, message);
                }
                catch (Exception e) {
                    TraceLog.LogTrace("ERROR", "Cliente Notificacion", e.Message);
                }
                //await Clients.User(user).SendAsync("enviamensaje", user, message);

                //await Clients.Group("SignalR Users").SendAsync("ReceiveMessage", message);
            });
        }
Beispiel #4
0
        public HttpResponseMessage PutMensajeUsuario(Guid id, [FromBody] NOT_MENSAJE_USUARIO data)
        {
            if (Guid.Equals(id, null))
            {
                return new HttpResponseMessage {
                           StatusCode = HttpStatusCode.BadRequest, ReasonPhrase = "Identifier could not be empty"
                }
            }
            ;

            if (data == null)
            {
                return new HttpResponseMessage {
                           StatusCode = HttpStatusCode.BadRequest, ReasonPhrase = "PUT body is null"
                }
            }
            ;

            try
            {
                MensajeUsuario.Update(data);

                return(new HttpResponseMessage {
                    StatusCode = HttpStatusCode.OK, ReasonPhrase = "Updated"
                });
            }
            catch (Exception ex)
            {
                return(new HttpResponseMessage {
                    StatusCode = HttpStatusCode.InternalServerError, ReasonPhrase = $"Document could not be updated: {ex.InnerException}"
                });
            }
            finally
            {
                //session.Dispose();
            }
        }
Beispiel #5
0
        public async Task <HttpResponseMessage> PostAsync([FromBody] object mensajeProveedorModel)
        {
            string messageResponse = "";

            _log   = new TraceLog();
            _email = new EmailService(_configuration);
            String[] _canal = null;
            if (mensajeProveedorModel != null)
            {
                try
                {
                    MensajeProveedorModel mensajeProveedor = JsonConvert.DeserializeObject <MensajeProveedorModel>(mensajeProveedorModel.ToString());
                    try
                    {
                        //SE VALIDA QUE LA APLICACION ESTE REGISTRADA EN EL SONDAMQ
                        var appVal = aplicacion.Read(mensajeProveedor.cod_aplicacion);
                        if (((List <NOT_APLICACION>)appVal).Count > 0)
                        {
                            TraceLog.LogTrace("INFO", appLog, "APLICACION REGISTRADA");
                            if (mensajeProveedor.listausuarios.Count > 0)
                            {
                                NOT_MENSAJE mdMensaje = new NOT_MENSAJE
                                {
                                    id_aplicacion = ((List <NOT_APLICACION>)appVal)[0].id_not_aplicacion,
                                    prioridad     = mensajeProveedor.prioridad,
                                    formato       = mensajeProveedor.formato,
                                    mensaje       = mensajeProveedor.mensaje,
                                    fecha_envio   = DateTime.Now,
                                    asunto        = mensajeProveedor.asunto
                                };
                                try
                                {
                                    mdMensaje = mensaje.Create(mdMensaje);

                                    //SE RECORRE LOS USUARIOS A LOS CUALES SE LES VA A ENVIAR LOS MENSAJES
                                    for (int i = 0; i < mensajeProveedor.listausuarios.Count; i++)
                                    {
                                        _canal = null;
                                        if (mensajeProveedor.listausuarios[i].canal != "")
                                        {
                                            _canal = mensajeProveedor.listausuarios[i].canal.Split(",");
                                            NOT_MENSAJE_USUARIO mdUsuario = new NOT_MENSAJE_USUARIO
                                            {
                                                id_usuario     = mensajeProveedor.listausuarios[i].id,
                                                id_not_mensaje = mdMensaje.id_not_mensaje,
                                            };

                                            try
                                            {
                                                mdUsuario = usuario.Create(mdUsuario);
                                                try
                                                {
                                                    if (_canal[0] == "PUSH")
                                                    {
                                                        var endPointMessage = await Fabrica.MessageBusConfig.BusControl.GetSendEndpoint(new Uri(
                                                                                                                                            _configuration["BusMensage:host"] + mensajeProveedor.cod_aplicacion + _configuration["BusMensage:optionHost"] + mensajeProveedor.cod_aplicacion));

                                                        await endPointMessage.Send <ContratoSuscriptor>(new
                                                        {
                                                            Mensaje          = mensajeProveedor.mensaje,
                                                            Usuario          = mensajeProveedor.listausuarios[i].id,
                                                            Asunto           = mensajeProveedor.asunto,
                                                            IsOk             = true,
                                                            IdmensajeUsuario = mdUsuario.id_not_mensaje_usuario
                                                        });
                                                    }

                                                    if (_canal[1] == "EMAIL")
                                                    {
                                                        if (ValidatorCommon.ComprobarFormatoEmail(mensajeProveedor.listausuarios[i].email))
                                                        {
                                                            await _email.SendEmailAsync(mensajeProveedor.listausuarios[i].email, mensajeProveedor.mensaje, mensajeProveedor.asunto);
                                                        }
                                                        else
                                                        {
                                                            TraceLog.LogTrace("INFO", appLog, "EL EMAIL:" + mensajeProveedor.listausuarios[i].email + " NO ES VALIDO");
                                                        }
                                                    }
                                                }
                                                catch (Exception e)
                                                {
                                                    messageResponse = e.Message.ToString();
                                                    TraceLog.LogTrace("ERROR", appLog, messageResponse);
                                                }
                                            }
                                            catch (Exception e)
                                            {
                                                messageResponse = e.Message.ToString();
                                                TraceLog.LogTrace("ERROR", appLog, messageResponse);
                                            }
                                        }
                                        else
                                        {
                                            TraceLog.LogTrace("ERROR", appLog, "CANALES NO VALIDOS");
                                        }
                                    }
                                    TraceLog.LogTrace("INFO", appLog, "MENSAJES ENCOLADOS EN EL BUS:" + _configuration["BusMensage:host"] + " EN LA COLA:" + mensajeProveedor.cod_aplicacion);
                                }
                                catch (Exception exm)
                                {
                                    messageResponse = exm.Message.ToString();
                                    TraceLog.LogTrace("ERROR", appLog, messageResponse);
                                }
                            }
                            else
                            {
                                messageResponse = "NO HAY USUARIOS A LOS CUALES ENVIAR EL MENSAJE";
                                TraceLog.LogTrace("INFO", appLog, messageResponse);
                            }
                        }
                        else
                        {
                            messageResponse = "APLICACION NO SE ENCUENTRA REGISTRADA";
                            TraceLog.LogTrace("INFO", appLog, messageResponse);
                        }
                    }catch (Exception ex) {
                        messageResponse = ex.Message.ToString();
                        TraceLog.LogTrace("ERROR", appLog, messageResponse);
                    }
                }catch (Exception e) {
                    messageResponse = e.Message.ToString();
                    TraceLog.LogTrace("ERROR", appLog, messageResponse);
                }
                finally {
                }
            }
            return(new HttpResponseMessage {
                StatusCode = HttpStatusCode.OK, ReasonPhrase = messageResponse
            });
        }