public IEnumerable <NOT_APLICACION> GetAplicacionById(Guid id) { NOT_APLICACION listaAplicacion = new NOT_APLICACION(); try { listaAplicacion = aplicacion.Read(id); } catch (Exception e) { //HttpResponseMessage { StatusCode = HttpStatusCode.OK, ReasonPhrase = "Deleted" }; } finally { //session.Dispose(); } yield return(listaAplicacion); }
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 }); }