public void Execute() { Session session = SessionHelper.GetSession(_callbackQueryEventArgs.CallbackQuery.From.Id); if (!session.ChannelId.Equals(0)) { ChannelEntity channel = _queryChannelService.Get(session.ChannelId).ResponseData; RssEntity rss = _queryRssService.Get(Convert.ToInt32(_callbackQueryEventArgs.CallbackQuery.Data.Substring(16, _callbackQueryEventArgs.CallbackQuery.Data.Length - 16))).ResponseData; Response <int> response = _commandRssChatService.Add(new RssChatRelationEntity() { Url = rss.Url, ChatId = 0, AliasName = rss.AliasName, UserId = session.UserId }, channel.Name); if (response.Type.Equals(ResponseType.Success)) { _telegramBotClient.SendTextMessageAsync(_callbackQueryEventArgs.CallbackQuery.From.Id, "selected rss is attached to channel."); } else if (response.Type.Equals(ResponseType.AlreadyExist)) { _telegramBotClient.SendTextMessageAsync(_callbackQueryEventArgs.CallbackQuery.From.Id, "chosen rss is already attached to selected channel."); } else { _telegramBotClient.SendTextMessageAsync(_callbackQueryEventArgs.CallbackQuery.From.Id, "null data [SESSION ERROR]"); } } else { _telegramBotClient.SendTextMessageAsync(_callbackQueryEventArgs.CallbackQuery.From.Id, "choose group/channel first."); } }
public Response <int> Add(RssEntity input) { Response <RssEntity> validation = _queryRssAggregate.Get(input.UserId, input.AliasName); if (validation.ResponseData != null) { return(Response <int> .Create(0, CDO.Enums.Response.ResponseType.AlreadyExist)); } return(_commandRssAggregate.Add(input)); }
public Response <int> Remove(RssEntity input) { Response <RssEntity> validation = _queryRssAggregate.Get(Convert.ToInt32(input.AliasName)); if (validation.ResponseData != null) { return(_commandRssAggregate.Remove(validation.ResponseData)); } else { return(Response <int> .Create(0, CDO.Enums.Response.ResponseType.NotFound)); } }
public RssEntity Get(string feed) { XmlTextReader reader = new XmlTextReader(feed); XmlDocument doc = new XmlDocument(); doc.Load(reader); namespaceMgr = new XmlNamespaceManager(doc.NameTable); XmlNodeList channels = doc.SelectNodes("rss/channel"); RssEntity entity = new RssEntity(); foreach (XmlNode item in channels) { RssChannel channel = new RssChannel(); channel.description = GetText(item, "description"); channel.generator = GetText(item, "generator"); channel.language = GetText(item, "language"); string lastBuildDate = GetText(item, "lastBuildDate"); if (!string.IsNullOrEmpty(lastBuildDate)) { channel.lastBuildDate = Convert.ToDateTime(lastBuildDate); } channel.link = GetText(item, "link"); channel.title = GetText(item, "title"); channel.Items = new List <RssItem>(); XmlNodeList items = item.SelectNodes("item"); if (items == null) { continue; } foreach (XmlNode rssItem in items) { RssItem ritem = new RssItem(); foreach (XmlNode itemDetail in rssItem.ChildNodes) { SetPropertyValue <RssItem>(ritem, itemDetail.LocalName, itemDetail.InnerText); } channel.Items.Add(ritem); } entity.Channels.Add(channel); } return(entity); }
public Response <int> Update(RssEntity input) { _commandRssRepo.Update(input); return(Response <int> .Create(input.Id, ResponseType.Success)); }
public Response <int> Update(RssEntity input) { return(_commandRssAggregate.Update(input)); }