/// <summary> /// Initialize instance /// </summary> /// <exception cref="Exception"></exception> public override void Initialize(MessageInstance messageInstance) { //We always have subscribers HasSubscribers = true; //Get dweet url _dweetUrl = Environment.GetEnvironmentVariable("dweeturl"); //Check url if (!Uri.IsWellFormedUriString(_dweetUrl, UriKind.RelativeOrAbsolute)) { throw new Exception($"Incorrect dweet url was supplied: {_dweetUrl}"); } //Slow down the sending interval int minsecondsinterval = 5; //Will only send updates every 5 seconds EventKeeper.SetCompareLogic((prev, current) => !prev.Equals(current) && (current.OccuredUtc - prev.OccuredUtc).TotalSeconds > minsecondsinterval); //We are not be able to send performance information as it is larger than 2.000 characters //You can always add a manipulator to make the message smaller (only sending the data you want to show via dweet) EventKeeper.SetCompareLogic(EventMessageType.PerformanceInfo, (prev, current) => false); }
/// <summary> /// Initializes this instance. /// </summary> /// <param name="initialmessage"></param> public void Initialize(MessageInstance initialmessage) { //Defaults IsFirehose = false; Conversion += o => ParseData(o.ToString()); //get tickers UpdateTickers(); //Set name Name = "Binance"; DataSource = DataSource.Binance; //Set timer check _timeoutTimer = new NetMQTimer(TimeSpan.FromMinutes(1)); _timeoutTimer.Elapsed += (sender, args) => { _log.Debug($"TimeOut timer activated!"); Reconnect(); }; _timeoutTimer.Enable = false; _poller = new NetMQPoller { _timeoutTimer }; _poller.RunAsync(); }
MessageInstance <Dominio.Mensagens.TelaPasswords> IEGALI_PASSWORDS.GetEgaliPasswordsByIdEgaliPasswordsHistory(int ID) { var msg = new MessageInstance <Dominio.Mensagens.TelaPasswords>(); try { using (var context = new HostelEntities()) { msg.Instance = (from ep in context.EGALI_PASSWORDS join eph in context.EGALI_PASSWORDS_HISTORY on ep.ID equals eph.ID_EGALI_PASSWORDS where eph.ID == ID select new Dominio.Mensagens.TelaPasswords() { ID = ep.ID, ID_EGALI_PASSWORDS = eph.ID_EGALI_PASSWORDS, Item = ep.Item, Login = ep.Login, Password = eph.Password }).FirstOrDefault(); } } catch (Exception ex) { msg.Exception = ex; } return(msg); }
MessageInstance <Dominio.Mensagens.TelaTotalTransaction> ITOTAL_TRANSACTIONS.GetTotalTransactionByID(int ID) { var msg = new MessageInstance <Dominio.Mensagens.TelaTotalTransaction>(); try { using (var context = new HostelEntities()) { msg.Instance = (from t in context.Total_Transactions join c in context.Calcs on t.ID_Calc equals c.ID into cLeft join lt in context.Total_Transactions on t.ID_Last_Transaction equals lt.ID into ltLeft from subC in cLeft.DefaultIfEmpty() from subLT in ltLeft.DefaultIfEmpty() where t.ID == ID select new TelaTotalTransaction { ID = ID, TotalTransactions = t.TotalTransactions.Value, TotalFinal = t.TotalFinal.Value, DifferenceFinalCalc = t.DifferenceFinalCalc.HasValue ? t.DifferenceFinalCalc.Value : 0, DT_Reg = t.DT_Reg.Value, LogLogin = t.LogLogin, IDLastTotalCalc = (subC != null && subC.ID > 0 ? subC.ID : 0), TotalCalc = (subC != null && subC.Total > 0 ? subC.Total : 0), IDLastTotalCashier = (subLT != null && subLT.ID > 0 ? subLT.ID : 0), LastTotalCashier = (subLT != null && subLT.TotalFinal.HasValue ? subLT.TotalFinal.Value : t.Last_Cashier_Total.HasValue ? t.Last_Cashier_Total.Value : 0) }).FirstOrDefault(); } } catch (Exception ex) { msg.Exception = ex; } return(msg); }
public void Run() { while (true) { try { IpMessage im = (IpMessage)MessageInstance.getInstance().SendList.Get(); if (canSend(im.Msg.Length + 42)) { _serverUdp.Send(im.Msg.Content, im.Msg.Length, im.EndPoint); _lastHasSize = _lastHasSize + im.Msg.Length + 42; _isSend = 1; } else { if (_isSend == 1) { _lastTicks = DateTime.Now.Ticks; } _isSend = 0; Thread.Sleep(1); _lastHasSize = 0; } } catch (Exception e) { Log.Log.WriteErrorLog(e.Message); Log.Log.WriteErrorLog(e.StackTrace); } } }
/// <summary> /// Toggle Messages in e-consult /// </summary> /// <param name="entity" type="LG.Data.Models.Clinical.MessageInstance"></param> /// <returns></returns> public static async Task <bool> ToggleIsHiddenConsultationMessage(MessageInstance entity) { var client = ClientConnection.GetCDMS_Connection(); try { client.Open(); var response = await client.ToggleIsHiddenConsultationMessageAsync(new ToggleIsHiddenConsultationMessageRequest() { MessageGuid = Guid.NewGuid(), RecordID = entity.RecordID, IsHidden = entity.IsHidden, PropBag = Propbag }); entity.IsError = response.ReturnStatus.IsError; } catch (Exception ex) { client.Abort(); entity.IsError = true; entity.Message = ex.ToString(); } finally { if (client.State != CommunicationState.Closed) { client.Close(); } } return(!entity.IsError); }
/// <summary> /// Initialize instance /// </summary> public override void Initialize(MessageInstance messageInstance) { //We always have subscribers HasSubscribers = true; //Check if port is defined var foundport = Config.TryGetEnvVariable("NetMQRunnerPort", Config.GlobalConfig.NetMQRunnerPort); if (string.IsNullOrWhiteSpace(foundport) || !int.TryParse(foundport, out var port)) { throw new Exception($"Could not find port number in configuration for setting up outbound event messages. Please set the port number in Global config or via environment variable."); } //Check if port is available for usage if (!Util.CheckPortAvailability(port)) { throw new Exception($"Port with number {port} is unavailable. Cannot start EventRunner, please check your firewall settings or if the port is already in use by another application"); } //Initialize socket _socket = new PublisherSocket("@tcp://*:" + port); //Set default manipulation logic (so we only send deltas) EventKeeper.SetManipulationLogic(EventMessageType.PerformanceInfo, EventKeeper.DefaultManipulationLogic(EventMessageType.PerformanceInfo)); //Send data asap (1ms) MinWait = 1; }
public MessageInstance<Dominio.Models.Cliente> ObterClientePorId(int id) { MessageInstance<Dominio.Models.Cliente> msg = new MessageInstance<Dominio.Models.Cliente>(); try { var cliente = Integracao.XYZ.XYZClientes.ObterCliente(id); if (cliente.Resultado != TipoResultado.Sucesso) throw cliente.Exception; msg.Instance = new Dominio.Models.Cliente() { Id = cliente.Instance.Idk__BackingField, Nome = cliente.Instance.Nomek__BackingField, Endereco = cliente.Instance.Enderecok__BackingField, TelefoneResidencial = cliente.Instance.TelefoneResidencialk__BackingField, TelefoneCelular = cliente.Instance.TelefoneCelulark__BackingField, DataNascimento = cliente.Instance.DataNascimentok__BackingField }; } catch (Exception ex) { msg.Exception = ex; } return msg; }
MessageInstance <Dominio.Entidades.Calc> ITRANSACTIONS.GetTotalToCalc() { var msg = new MessageInstance <Dominio.Entidades.Calc>(); try { using (var contexto = new HostelEntities()) { List <int> idsCalcType = (from a in contexto.Calc_Type select a.ID).ToList(); double total = 0; for (int i = 0; i < idsCalcType.Count; i++) { total += (from a in contexto.Money_Count orderby a.DT_Reg descending where a.ID_Calc_Type == idsCalcType[i] select a.ID_Calc_Type).FirstOrDefault(); } } } catch (Exception ex) { msg.Exception = ex; } return(msg); }
MessageInstance <Dominio.Entidades.Total_Transactions> ITOTAL_TRANSACTIONS.GetLastTotal_Card() { var msg = new MessageInstance <Dominio.Entidades.Total_Transactions>(); try { using (var contexto = new HostelEntities()) { DateTime dtDayMonthYearReference = DateTime.UtcNow; if (dtDayMonthYearReference.Hour >= 0 && dtDayMonthYearReference.Hour <= 5) { dtDayMonthYearReference = dtDayMonthYearReference.AddDays(-1); } var query = (from a in contexto.Total_Transactions where a.ID_Report_Type == (int)TabReport_Type.Card && dtDayMonthYearReference.Date == a.DayMonthYearReference orderby a.ID descending select a).FirstOrDefault(); msg.Instance = query; } } catch (Exception ex) { msg.Exception = ex; } return(msg); }
/// <summary> /// Acknowledge current message /// </summary> /// <param name="message"></param> public void Acknowledge(MessageInstance message) { //Notify _log.Info($"Local message instance {message.UniqueId} was acknowledged"); //Remove messages.Remove(message); }
/// <summary> /// Initializes this instance. /// </summary> public void Initialize(MessageInstance initialmessage) { //Set conversion method Conversion = (data) => new[] { Parse(data as string) }; //Get symbols UpdateTickers(); //Set Defaults Name = "IEX"; DataSource = DataSource.IEX; }
private MessageInstance createResponseMessage(object[] results, Operation operation) { MessageInstance message = null; MessageDefinition outMessage = operation.OutMessage; if (outMessage != null) { message = outMessage.CreateInstance(); message.StructureInstance.LoadFrom(results); } return(message); }
/// <summary> /// Initializes this instance. /// </summary> public void Initialize(MessageInstance initialmessage) { //Set conversion method Conversion = data => ParseData(data as string, DateTime.UtcNow); //Set Defaults Name = "HitBtc"; DataSource = DataSource.HitBtc; //Set currency names _currencyNames = Enum.GetNames(typeof(CurrencyType)); }
/// <summary> /// Initializes this instance. /// </summary> public void Initialize(MessageInstance initialmessage) { //Defaults IsFirehose = false; Conversion = data => ParseData(data, DateTime.UtcNow); //get tickers UpdateTickers(); //Set name Name = "Bittrex"; DataSource = DataSource.Bittrex; }
/// <summary> /// Initializes a new instance of the <see cref="PortfolioManager"/> class for running a backtest. /// </summary> /// <param name="portfolioimplementations">The portfolioimplementations.</param> /// <param name="simulation">The backtest.</param> public PortfolioManager(PortfolioImplementations portfolioimplementations, SimulationMessage simulation) : this(portfolioimplementations) { //Set initial message _initialMessageInstance = simulation; //Since this is a backtest request RunMode = RunMode.Backtester; //World clock is depended on data received var clock = new WorldClock(() => PortfolioImplementations.DataFeed.LastDataReceivedUtc == DateTime.MinValue ? simulation.StartDateTime : portfolioimplementations.DataFeed.LastDataReceivedUtc); //Get additional information if (!Enum.TryParse(simulation.AccountType, out AccountType accounttype)) { throw new Exception($"Cannot initialize backtest account type {simulation.AccountType}"); } if (!Enum.TryParse(simulation.BrokerType, out BrokerType brokertype)) { throw new Exception($"Cannot initialize backtest broker type {simulation.BrokerType}"); } if (!Enum.TryParse(simulation.BaseCurrency, out CurrencyType basecurrency)) { throw new Exception($"Cannot initialize backtest base currency type {simulation.BaseCurrency}"); } //Get latest currency rates, so we are up to date (trough forced reload) _log.Debug($"Initializing currency implementation: {PortfolioImplementations.Currency.GetType().FullName}"); Config.LoadConfigFile <CurrencyRatesConfig[]>(Config.GlobalConfig.CurrencyRatesConfigFile, true); PortfolioImplementations.Currency.Initialize(clock, true); //Get broker model var brokermodel = BrokerModelFactory.GetBroker(accounttype, brokertype); //Check if the currency selected matches the currency of this broker (for instance when using crypto currencies) decimal allocatedfunds = simulation.QuantFund.AllocatedFunds; brokermodel.GetCompatibleInitialCapital(portfolioimplementations.Currency, ref basecurrency, ref allocatedfunds); simulation.QuantFund.AllocatedFunds = allocatedfunds; //Create portfolio _portfolio = CreatePortfolio(simulation.PortfolioId, Guid.NewGuid().ToString(), brokermodel, simulation.Leverage, basecurrency, basecurrency, clock, simulation.ExtendedMarketHours); //Set initial funds _portfolio.CashManager.AddCash(basecurrency, allocatedfunds); //Set initial fund message _initialFundMessage = simulation.QuantFund; }
/// <summary> /// Try to get the next message in the queue /// </summary> /// <param name="item"></param> /// <returns></returns> public bool TryGetNextMessage(out MessageInstance item) { //Default item item = null; //Get item if (messages.Count > 0) { item = messages.First(); return(true); } else { return(false); } }
public async Task <IActionResult> Post([FromBody] MessageInstance msg, string groupName) { var retMessage = string.Empty; MongoClient client = new MongoClient(configuration["MongoConnectionString"]); IMongoDatabase database = client.GetDatabase("signalrmessage"); var msgCollection = database.GetCollection <MessageInstance>("message"); var scheme = _contextAccessor.HttpContext.Request.Scheme; var host = _contextAccessor.HttpContext.Request.Host; var pathBase = _contextAccessor.HttpContext.Request.PathBase; var location = $"{scheme}://{host}{pathBase}"; var groups = database.GetCollection <GroupMessage>("group"); var a = groups.AsQueryable().SingleOrDefault(x => x.GroupName == groupName); var connectionIds = new List <string>(); if (a != null) { connectionIds = a.ConnectionIds; } try { msg.Timestamp = DateTime.Now.ToString(); msg.From = location; if (!String.IsNullOrEmpty(groupName)) { await _signalrHub.Clients.Clients(connectionIds).SendNofti(msg); } else { await _signalrHub.Clients.All.SendNofti(msg); } await msgCollection.InsertOneAsync(msg); retMessage = "Success"; } catch (Exception e) { retMessage = e.ToString(); } return(Ok(msg)); }
public async Task <string> Post([FromBody] MessageInstance msg) { var retMessage = string.Empty; try { msg.Timestamp = DateTime.UtcNow.ToString(); await this.hub.Clients.All.BroadcastMessage(msg); retMessage = "Success"; } catch (Exception e) { retMessage = e.ToString(); } return(retMessage); }
/// <summary> /// Initializes a new instance of the <see cref="PortfolioManager"/> class for running a live trading instance. /// </summary> /// <param name="portfolioImplementations">The portfolio implementations.</param> /// <param name="livetrading">The livetrading.</param> public PortfolioManager(PortfolioImplementations portfolioImplementations, LiveTradingMessage livetrading) : this(portfolioImplementations) { //Set initial message _initialMessageInstance = livetrading; //Since this is a live trading request RunMode = RunMode.LiveTrading; //World clock is current time var clock = new WorldClock(() => DateTime.UtcNow); //Get additional information if (!Enum.TryParse(livetrading.AccountType, out AccountType accounttype)) { throw new Exception($"Cannot initialize backtest account type {livetrading.AccountType}"); } if (!Enum.TryParse(livetrading.BrokerType, out BrokerType brokertype)) { throw new Exception($"Cannot initialize backtest broker type {livetrading.BrokerType}"); } if (!Enum.TryParse(livetrading.BaseCurrency, out CurrencyType basecurrency)) { throw new Exception($"Cannot initialize backtest base currency type {livetrading.BaseCurrency}"); } if (!Enum.TryParse(livetrading.DisplayCurrency, out CurrencyType displaycurrency)) { throw new Exception($"Cannot initialize backtest base currency type {livetrading.DisplayCurrency}"); } //Get latest currency rates, so we are up to date (trough forced reload) _log.Debug($"Initializing currency implementation: {PortfolioImplementations.Currency.GetType().FullName}"); Config.LoadConfigFile <CurrencyRatesConfig[]>(Config.GlobalConfig.CurrencyRatesConfigFile, true); PortfolioImplementations.Currency.Initialize(clock, true); //Get broker model var brokermodel = BrokerModelFactory.GetBroker(accounttype, brokertype); //Create portfolio _portfolio = CreatePortfolio(livetrading.PortfolioId, livetrading.AccountId, brokermodel, livetrading.Leverage, basecurrency, displaycurrency, clock, livetrading.ExtendedMarketHours); //Set initial fund message _initialFundMessage = livetrading.QuantFund; }
public static MessageInstance<TbCliente> ObterCliente(int id) { MessageInstance<TbCliente> msg = new MessageInstance<TbCliente>(); try { using (var proxy = new XYZServiceReference.IntegracaoServiceClient()) { var cliente = proxy.ObterClientePorId(id); msg.Instance = cliente; } } catch (Exception ex) { msg.Exception = ex; } return msg; }
MessageInstance <Dominio.Entidades.User> IUSER.GetUserById(int ID) { var msg = new MessageInstance <Dominio.Entidades.User>(); try { using (var contexto = new HostelEntities()) { msg.Instance = (from u in contexto.Users where u.ID == ID select u).FirstOrDefault(); } } catch (Exception ex) { msg.Exception = ex; } return(msg); }
MessageInstance <Dominio.Entidades.Money_Count> ITRANSACTIONS.GetMoney_CountById(int id) { var msg = new MessageInstance <Dominio.Entidades.Money_Count>(); try { using (var contexto = new HostelEntities()) { msg.Instance = (from a in contexto.Money_Count where a.ID == id select a).FirstOrDefault(); } } catch (Exception ex) { msg.Exception = ex; } return(msg); }
MessageInstance <Dominio.Entidades.LIST> ILISTS.GetTotalLastCalc() { var msg = new MessageInstance <Dominio.Entidades.LIST>(); try { using (var contexto = new HostelEntities()) { msg.Instance = (from c in contexto.LISTs orderby c.ID descending select c).FirstOrDefault(); } } catch (Exception ex) { msg.Exception = ex; } return(msg); }
MessageInstance <Dominio.Entidades.Stock> ISTOCK.GetStockById(int id) { var msg = new MessageInstance <Dominio.Entidades.Stock>(); try { using (var contexto = new HostelEntities()) { msg.Instance = (from a in contexto.Stocks where a.ID == id select a).FirstOrDefault(); } } catch (Exception ex) { msg.Exception = ex; } return(msg); }
MessageInstance <Dominio.Mensagens.TelaCalc> IMONEY_COUNT.GetMoney_CountDetailsByID(int ID) { var msg = new MessageInstance <Dominio.Mensagens.TelaCalc>(); try { using (var context = new HostelEntities()) { msg.Instance = (from mc in context.Money_Count join c in context.Calcs on mc.ID equals c.ID_Money_Count where mc.ID == ID select new TelaCalc() { IDCalc_Type = mc.ID_Calc_Type, LogLogin = c.LogLogin, TotalCalc = c.Total, IDMoney_Count = mc.ID, Qnt_1_Cent = mc.Qnt_1_Cent, Qnt_2_Cents = mc.Qnt_2_Cents, Qnt_5_Cents = mc.Qnt_5_Cents, Qnt_10_Cents = mc.Qnt_10_Cents, Qnt_20_Cents = mc.Qnt_20_Cents, Qnt_50_Cents = mc.Qnt_50_Cents, Qnt_1_Euro = mc.Qnt_1_Euro, Qnt_2_Euros = mc.Qnt_2_Euros, Qnt_5_Euros = mc.Qnt_5_Euros, Qnt_10_Euros = mc.Qnt_10_Euros, Qnt_20_Euros = mc.Qnt_20_Euros, Qnt_50_Euros = mc.Qnt_50_Euros, Qnt_100_Euros = mc.Qnt_100_Euros, Qnt_200_Euros = mc.Qnt_200_Euros, Qnt_500_Euros = mc.Qnt_500_Euros, TotalMoney_Count = mc.Total, DT_Reg = c.DT_reg, }).FirstOrDefault(); } } catch (Exception ex) { msg.Exception = ex; } return(msg); }
MessageInstance <Dominio.Entidades.Money_Count> IMONEY_COUNT.GetLastMoney_CountByIdCalcType(int idCalcType) { var msg = new MessageInstance <Dominio.Entidades.Money_Count>(); try { using (var contexto = new HostelEntities()) { msg.Instance = (from a in contexto.Money_Count orderby a.DT_Reg descending where a.ID_Calc_Type == idCalcType select a).FirstOrDefault(); } } catch (Exception ex) { msg.Exception = ex; } return(msg); }
MessageInstance <Dominio.Entidades.Total_Transactions> ITOTAL_TRANSACTIONS.GetLastTotal_Vagner() { var msg = new MessageInstance <Dominio.Entidades.Total_Transactions>(); try { using (var contexto = new HostelEntities()) { msg.Instance = (from a in contexto.Total_Transactions where a.ID_Report_Type == (int)TabReport_Type.Bank orderby a.ID descending select a).FirstOrDefault(); } } catch (Exception ex) { msg.Exception = ex; } return(msg); }
MessageInstance <Dominio.Entidades.User> IUSER.GetUserByUsernamePassword(string username, string password) { var msg = new MessageInstance <Dominio.Entidades.User>(); try { using (var contexto = new HostelEntities()) { msg.Instance = (from u in contexto.Users where u.Username == username && u.Password == password select u).FirstOrDefault(); } } catch (Exception ex) { msg.Exception = ex; } return(msg); }
public MessageControl(MessageInstance message) { InitializeComponent(); this.Message = message; user = new MediaAccount() {ID = message.MediaAccount}; category = new CategoryInstance() {ID = message.Category}; if (Message.Media != null) { Media media = new Media() {ID = Message.Media.Value}; media = DatabaseManager.ContainsItem(media, new [] {"ID"}); picMedia.ImageLocation = media.Url; hasMedia = true; } else { flowLayoutPanel1.Controls.Remove(panelMedia); Controls.Remove(flowLayoutPanel1); } user = DatabaseManager.ContainsItem(user, new[] {"ID"}); category = DatabaseManager.ContainsItem(category, new[] {"ID"}); Likes = int.Parse( DatabaseManager.QueryFirst("SELECT COUNT(*) FROM Likes WHERE message=" + message.ID)["Column1"] .ToString()); DidLike = DatabaseManager.ContainsItem(new Likes() {Message = message.ID, MediaAccount = Globals.Account.ID}, new[] {"Message", "MediaAccount"}) != null; picUser.ImageLocation = user.Picture; lblUsername.Text = user.Username; lblDate.Text = message.Datum.ToShortDateString(); lblMessage.Text = message.Report; lblTitle.Text = string.IsNullOrEmpty(message.Title) ? category.Name : $"{message.Title} - {category.Name}"; IsWriting = false; if (Globals.Account.ID != message.MediaAccount) Controls.Remove(lblRemove); }
MessageInstance <Dominio.Entidades.Money_Count> IMONEY_COUNT.GetMoney_CountEnvelopeByIDCalc(int ID_Calc, int idCalcType) { var msg = new MessageInstance <Dominio.Entidades.Money_Count>(); try { using (var context = new HostelEntities()) { msg.Instance = (from mc in context.Money_Count join c in context.Calcs on mc.ID equals c.ID_Money_Count where c.ID == ID_Calc && mc.ID_Calc_Type == idCalcType select mc).FirstOrDefault(); } } catch (Exception ex) { msg.Exception = ex; } return(msg); }
public async Task <IActionResult> Post([FromBody] MessageInstance msg) { var retMessage = string.Empty; MongoClient client = new MongoClient("mongodb://localhost:27017/?readPreference=primary&appname=MongoDB%20Compass&ssl=false"); IMongoDatabase database = client.GetDatabase("signalrmessage"); var msgCollection = database.GetCollection <MessageInstance>("message"); try { msg.Timestamp = Timestamp.UtcNow.ToString(); await _signalrHub.Clients.All.BroadcastMessage(msg); await msgCollection.InsertOneAsync(msg); retMessage = "Success"; } catch (Exception e) { retMessage = e.ToString(); } return(Ok(msg)); }
public void Run() { while (true) { try { IpMessage im = (IpMessage)MessageInstance.getInstance().ServerList.Get(); BaseMessage bm = im.Msg; if (bm.ToType == GobalDef.BASE_MSG_FT_SERVER) { if (bm.Req == GobalDef.BASE_MSG_FT_REQ) { BaseMessage resultmsg = null; switch (bm.MCommand) { case GobalDef.COMMAND_MTYPE_PUBLIC: resultmsg = ParsePublicMsgReq(bm); break; } im.Msg = resultmsg; im.Msg.Seq = bm.Seq; im.Msg.PacketBuf(); //im.Msg.SetupBuf(im.Msg.Content, 0); MessageInstance.getInstance().SendList.Add(im); } else { } } } catch (Exception e) { Log.Log.WriteErrorLog(e.Message); Log.Log.WriteErrorLog(e.StackTrace); } } }
private void CommentPostedHandler(object sender, MessageInstance messageInstance) { DatabaseManager.InsertItem(messageInstance); messageInstance = DatabaseManager.ContainsItem(messageInstance, new[] {"MediaAccount", "Category", "Title", "Report"}); Messages.Add(messageInstance); }
private void MessageDeleteHandler(object sender, MessageInstance messageInstance) { Messages.Remove(messageInstance); foreach (MessageControl control in flowLayoutPosts.Controls) { if (control.Message.ID == messageInstance.ID) flowLayoutPosts.Controls.Remove(control); } }
private void btnPost_Click(object sender, EventArgs e) { if (File.Exists("filter.txt")) { string[] filter = File.ReadAllLines("filter.txt"); string[] words = txtMessage.Text.Split(' '); StringBuilder msg = new StringBuilder(); foreach (string word in words) { if (filter.Contains(word.ToUpper())) msg.Append("*** "); else msg.Append(word + " "); } txtMessage.Text = msg.ToString(); } MessageInstance message = new MessageInstance { Datum = DateTime.Now, Report = txtMessage.Text, Title = txtTitle.Text, MediaAccount = Globals.Account.ID, Category = ((CategoryInstance)comboTreeBox1.SelectedNode.Tag).ID }; if (AttachedPicture) { Media media = new Media() {Url = lblPath.Text}; if (DatabaseManager.ContainsItem(media, new[] {"Url"}) == null) { DatabaseManager.InsertItem(media); } media = DatabaseManager.ContainsItem(media, new[] { "Url" }); message.Media = media.ID; } if (DatabaseManager.InsertItem(message)) { message = DatabaseManager.ContainsItem(message, new[] { "MediaAccount", "Category", "Title", "Report" }); Messages.Add(message); txtMessage.Clear(); txtTitle.Clear(); AttachedPicture = false; } }