public async Task <CommandResult <ListMessageResult> > Messages( [FromServices] ListMessageCommand listMessageCommand, TypeBox typeBox, string id) { var queryString = Request.Query.ToDictionary(q => q.Key, q => q.Value); MessagesFilter messagesFilter; if (queryString.ContainsKey("f")) { var f = queryString["f"]; messagesFilter = JsonConvert.DeserializeObject <MessagesFilter>(f); } else { messagesFilter = new MessagesFilter(); } var sendMessageInput = new ListMessageInput { BoxId = new BoxId { Id = id, Type = typeBox }, Filter = messagesFilter }; var userInput = new UserInput <ListMessageInput> { UserId = User.Identity.IsAuthenticated ? User.GetUserId() : string.Empty, Data = sendMessageInput }; var result = await Business .InvokeAsync <ListMessageCommand, UserInput <ListMessageInput>, CommandResult <ListMessageResult> >( listMessageCommand, userInput); return(result); }
protected override void LoadViewState(object savedState) { Pair p = (Pair)savedState; base.LoadViewState(p.First); filt = (MessagesFilter)p.Second; }
public ReadOnlyCollection<Message> Get( MessageType type, out int totalCount, int? count = null, int? offset = null, DateTime? timeOffset = null, MessagesFilter? filter = null, int? previewLength = null, long? lastMessageId = null) { VkErrors.ThrowIfNumberIsNegative(() => count); VkErrors.ThrowIfNumberIsNegative(() => offset); VkErrors.ThrowIfNumberIsNegative(() => previewLength); VkErrors.ThrowIfNumberIsNegative(() => lastMessageId); var parameters = new VkParameters { { "out", type }, { "offset", offset }, { "count", count }, { "time_offset", timeOffset}, { "filters", filter }, { "preview_length", previewLength }, { "last_message_id", lastMessageId } }; VkResponse response = _vk.Call("messages.get", parameters); totalCount = response["count"]; VkResponseArray items = response["items"]; return items.ToReadOnlyCollectionOf<Message>(item => item); }
public override Message[] GetMessages(MessagesFilter filter) { List <Message> messages = new List <Message>(); string command = null; if (filter.ReguiredProblemID) { command = "SELECT * FROM Messages WHERE ProblemID = @pid AND Type = @type"; } else { command = "SELECT Messages.ID,Messages.ProblemID,Messages.UserID,Messages.Time,Messages.Type," + "Messages.ContestantMessage,Messages.JuryMessage FROM Messages,Contests,Problems " + "WHERE Messages.Type = @type AND Messages.ProblemID = Problems.ID AND Problems.ContestID = Contests.ID AND Contests.ID = @cid"; } if (filter.RequiredEmptyJuryMessage) { command += " AND Messages.JuryMessage = ''"; } else { command += " AND Messages.JuryMessage != ''"; } if (filter.RequiredUserID) { command += " AND Messages.UserID=@uid"; } using (MsSqlQuery q = new MsSqlQuery(_connectionString)) using (SqlDataReader rdr = q.ExecuteReader(command, delegate(SqlCommand comm, object customParam) { comm.Parameters.AddWithValue("@type", filter.Type.ToString()); comm.Parameters.AddWithValue("@pid", filter.ProblemID); comm.Parameters.AddWithValue("@cid", filter.ContestID); if (filter.RequiredUserID) { comm.Parameters.AddWithValue("@uid", filter.UserID); } }, null)) while (rdr.Read()) { messages.Add(FromReader(rdr)); } return(messages.ToArray()); }
/// <summary>Main widget destroyed handler</summary> /// <param name="sender"></param> /// <param name="e"></param> private void MainWidgetDestroyed(object sender, EventArgs e) { try { btnJumpToSimLog.Clicked -= OnJumpToSimulationLog; captureRules.Dispose(); VerbosityDropDown.Dispose(); MessagesFilter.Dispose(); simulationFilter.Dispose(); SimulationDropDown.Dispose(); mainControl.Dispose(); ((ViewBase)SummaryDisplay).Dispose(); mainWidget.Destroyed -= MainWidgetDestroyed; owner = null; } catch (Exception err) { ShowError(err); } }
public ReadOnlyCollection<Message> GetAll( MessageType type, out int totalCount, TimeSpan? timeOffset = null, MessagesFilter? filter = null, int? previewLength = null, long? lastMessageId = null) { const int count = 200; var i = 0; var result = new List<Message>(); do { var currentItems = _messages.Get(type, out totalCount, count, i * count, timeOffset, filter, previewLength, lastMessageId); if (currentItems != null) result.AddRange(currentItems); } while (++i * count < (_vk.CountFromLastResponse ?? 0)); return result.ToReadOnlyCollection(); }
protected void Page_Load(object sender, EventArgs e) { if (!User.IsInRole("Judge") && !User.IsInRole("User")) { throw new NeJudgeSecurityException("User, Judge"); } if (!IsPostBack) { RequirementsProcessor rp = new RequirementsProcessor(GetType()); rp.ProcessRequirements(); //Page.Response.AddHeader("Refresh", "90"); MessagesFilter mf = new MessagesFilter(rp.ContestIDDefined?rp.ContestID:0, MessageType.Question); if (rp.UserIDDefined && User.IsInRole("Judge")) { mf.UserID = rp.UserID; } mf.RequiredEmptyJuryMessage = Request.QueryString["answered"] == null || Request.QueryString["answered"].ToLower() != "true"; if (rp.ContestIDDefined) { if (Contest.GetContest(rp.ContestID).Time == ContestTime.Forthcoming) { throw new NeJudgeInvalidParametersException("contestID", "Нельзя просмотреть вопросы будущего соревнования"); } mf.ContestID = rp.ContestID; mf.ProblemID = (rp.ProblemIDDefined) ? rp.ProblemID : 0; selmess.Filter = mf; questionsGV.Columns[6].Visible = User.IsInRole("Judge"); Bind(); } else { questionsGV.Visible = false; selmess.Filter = mf; } } }
public ReadOnlyCollection<Message> Get( MessageType type, out int totalCount, uint? count = 20, uint? offset = null, TimeSpan? timeOffset = null, MessagesFilter? filter = null, uint? previewLength = 0, long? lastMessageId = null) { var parameters = new MessagesGetParams { Out = type, Offset = offset, Filters = filter, PreviewLength = previewLength, LastMessageId = lastMessageId }; var response = _vk.Call("messages.get", parameters); totalCount = response["count"]; return Get(parameters).Messages; }
private Log() { MessagesToOutput = MessagesFilter.All; }
public ReadOnlyCollection<Message> Get( MessageType type, out int totalCount, int? count = null, int? offset = null, MessagesFilter? filter = null, int? previewLength = null, DateTime? startDate = null) { var parameters = new VkParameters { { "out", type }, { "offset", offset }, { "count", count }, { "filters", filter }, { "preview_length", previewLength }, { "time_offset", startDate } }; VkResponseArray response = _vk.Call("messages.get", parameters); totalCount = response[0]; return response.Skip(1).ToReadOnlyCollectionOf<Message>(r => r); }
public void SetMessagesFilter(MessagesFilter filter) { this.filter = filter; }
public abstract Message[] GetMessages(MessagesFilter filter);
/// <summary> /// возвращает список сообщений с разбивкой по темам /// </summary> /// <param name="filter"></param> /// <returns></returns> public Paged <MessagesTheme> GetMessages(MessagesFilter filter) { Paged <MessagesTheme> result = new Paged <MessagesTheme>(); using (var db = new CMSdb(_context)) { var query = db.msg_messages.Where(w => w.f_parent == null && w.f_site == _siteId); int itemsCount = query.Count(); var q = query.Select(s => new MessagesTheme { Id = s.id, Theme = s.c_theme, //View = (s.b_admin) ? s.b_views : true, Date = (from d in db.msg_messages where d.f_parent == s.id || d.id == s.id orderby d.d_date descending select d.d_date).FirstOrDefault(), AllCount = (from a in db.msg_messages where a.f_parent == s.id || a.id == s.id select a.id).Count(), NewMsgCount = (from a in db.msg_messages where (a.f_parent == s.id || a.id == s.id) && (a.b_views == false && a.b_admin == false) select a.id).Count(), }); if (filter.ViewMessages != null && filter.ViewMessages == true) { q = q.Where(w => w.NewMsgCount > 0); } if (filter.Date.HasValue) { q = q.Where(s => s.Date > filter.Date.Value); } if (filter.DateEnd.HasValue) { q = q.Where(s => s.Date < filter.DateEnd.Value.AddDays(1)); } if (!String.IsNullOrWhiteSpace(filter.SearchText)) { string[] search = filter.SearchText.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); if (search != null && search.Count() > 0) { foreach (string p in filter.SearchText.Split(' ')) { if (!String.IsNullOrWhiteSpace(p)) { q = q.Where(w => w.Theme.Contains(p)); } } } } q = q.OrderByDescending(d => d.Date); var list = q.Skip(filter.Size * (filter.Page - 1)) .Take(filter.Size) .ToArray(); return(new Paged <MessagesTheme> { Items = list, Pager = new PagerModel { PageNum = filter.Page, PageSize = filter.Size, TotalCount = itemsCount } }); } }
public ReadOnlyCollection<Message> Get( MessageType type, out int totalCount, uint? count = 20, uint? offset = null, TimeSpan? timeOffset = null, MessagesFilter? filter = null, uint? previewLength = 0, ulong? lastMessageId = null) { var parameters = new VkParameters { { "out", type }, { "offset", offset }, { "filters", filter }, { "preview_length", previewLength }, { "last_message_id", lastMessageId } }; if (count <= 200) { parameters.Add("count", count); } if (timeOffset.HasValue) { parameters.Add("time_offset", timeOffset.Value.TotalSeconds); } var response = _vk.Call("messages.get", parameters); totalCount = response["count"]; return response["items"].ToReadOnlyCollectionOf<Message>(item => item); }
public void SetMessagesFilter(MessagesFilter filter) { this.filter = filter; }