public async Task <IEnumerable <string> > GetMusicFileIds(string machineId, string driveType) { var builder = new QueryBuilder(); builder.AddSelectStatement("FileId"); builder.AddFromStatement(Map.GetFromStatement()); builder.AddFilter(machineId, "MachineId", p => "MachineId = " + p); builder.AddFilter(driveType, "DriveType", p => "DriveType = " + p); return(await Query <string>(builder)); }
protected Task <IEnumerable <T> > GetByIdList <TKey>(QueryBuilder builder, List <TKey> ids, string customKeyColumn = null) { var keyColumn = customKeyColumn ?? Map.Columns.Single(c => c.IsKey).Column; builder.AddFilter(ids, "Ids", p => $"{keyColumn} IN {p}"); return(Query <T>(builder)); }
private void TestAddFilter(Action <IQuery <JObject>, IFilter <JObject> > assert) { // arrange var target = new QueryBuilder <JObject>(); var filter = new ContainsFilter("someColumn", "someText"); // act target.AddFilter(filter); var result = target.Build(); // assert assert(result, filter); }
protected void Page_Load(object sender, EventArgs e) { lbError.Text = string.Empty; if (!IsPostBack) { QueryBuilder queryBuilder = new QueryBuilder(); queryBuilder.AddFilter(IM_GroupInfo.UserID_Field, "=", userInfo.UserID.ToString()); queryBuilder.AddOrderASC(IM_GroupInfo.GroupName_Field); ddlGroup.DataTextField = IM_GroupInfo.GroupName_Field; ddlGroup.DataValueField = IM_GroupInfo.ID_Field; ddlGroup.DataSource = new IM_GroupBLL().GetList(queryBuilder); ddlGroup.DataBind(); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { hidUserID.Value = Request["UserID"]; hidTeamID.Value = Request["TeamID"]; lbUserName.Text = new IM_UserBLL().GetModel(new Guid(hidUserID.Value)).UserName; QueryBuilder queryBuilder = new QueryBuilder(); queryBuilder.AddFilter(IM_TeamInfo.UserID_Field, "=", userInfo.UserID.ToString()); queryBuilder.AddOrderASC(IM_TeamInfo.TeamName_Field); ddlTeam.DataTextField = "TeamName"; ddlTeam.DataValueField = "ID"; ddlTeam.DataSource = new IM_TeamBLL().GetList(queryBuilder); ddlTeam.DataBind(); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string id = Request.QueryString["ID"]; IM_NewsInfo newModel = new IM_NewsBLL().GetModel(new Guid(id)); lbNews.Text = newModel.Note; QueryBuilder queryBuilder = new QueryBuilder(); queryBuilder.AddFilter("UserID", "=", newModel.ReceiveUserID.ToString()); queryBuilder.AddOrderASC("CreateDate"); ddlTeam.DataTextField = "TeamName"; ddlTeam.DataValueField = "ID"; ddlTeam.DataSource = new IM_TeamBLL().GetList(queryBuilder); ddlTeam.DataBind(); } }
public string sendUserTalk(string SendUserID, string ReceiveUserID, string Type, string Note) { switch (Type) { case "1": IM_TalkInfo talkModel = new IM_TalkInfo(); talkModel.SendUserID = new Guid(SendUserID); talkModel.ReceiveUserID = new Guid(ReceiveUserID); talkModel.Note = Note; talkModel.Type = 0; talkModel.State = 0; new IM_TalkBLL().Add(talkModel); return(DateTime.Now.ToString("yyyy-MM-dd HH:mm")); case "2": //ReceiveUserID为GroupID IM_TalkGroupInfo talkGroupModel = new IM_TalkGroupInfo(); talkGroupModel.ID = Guid.NewGuid(); talkGroupModel.SendUserID = new Guid(SendUserID); talkGroupModel.GroupID = new Guid(ReceiveUserID); talkGroupModel.Note = Note; talkGroupModel.Type = 0; new IM_TalkGroupBLL().Add(talkGroupModel); QueryBuilder queryBuilder = new QueryBuilder(); queryBuilder.AddFilter(IM_GroupMemberInfo.GroupID_Field, "=", ReceiveUserID); List <IM_GroupMemberInfo> groupMemberList = new IM_GroupMemberBLL().GetList(queryBuilder); IM_TalkGroupHintBLL talkGroupHintBLL = new IM_TalkGroupHintBLL(); foreach (IM_GroupMemberInfo tmpModel in groupMemberList) { IM_TalkGroupHintInfo talkGroupHintModel = new IM_TalkGroupHintInfo(); talkGroupHintModel.ID = Guid.NewGuid(); talkGroupHintModel.TalkGroupID = talkGroupModel.ID; talkGroupHintModel.GroupID = talkGroupModel.GroupID; talkGroupHintModel.UserID = tmpModel.UserID; talkGroupHintModel.State = 0; talkGroupHintBLL.Add(talkGroupHintModel); } return(DateTime.Now.ToString()); } return(""); }
private void LoadTeamAndUser() { QueryBuilder queryBuilder = new QueryBuilder(); queryBuilder.AddFilter("UserID", "=", userInfo.UserID.ToString()); queryBuilder.AddOrderASC("CreateDate"); List <IM_TeamInfo> teamList = new IM_TeamBLL().GetList(queryBuilder); List <IM_UserInfo> userList = new IM_TeamMemberBLL().GetAllTeamMemberList(userInfo.UserID); string teamHtml = ""; foreach (IM_TeamInfo teamModel in teamList) { teamHtml += @" <div class='team_item'> <div class='team_item_info' tID='" + teamModel.ID + @"'> <img src='/Image/sanjian.png' /> <span>" + teamModel.TeamName + @"</span> </div> <ul class='team_user'> "; var tmpList = userList.Where(p => p.TeamID == teamModel.ID); foreach (var item in tmpList) { teamHtml += @" <li uID='" + item.ID + @"'> <img src='" + ("/UpLoadFiles" + (string.IsNullOrEmpty(item.Pic) ? "/UserPic/default.jpg" : item.Pic)) + @"' width='17px' height='17' /> <span>" + item.UserName + @"</span> </li> "; } teamHtml += @" </ul> </div> "; } TeamListDIV.InnerHtml = teamHtml; }
public void QueryBuilder_AddFilter_Null_Arguments_ThrowsException() { var builder = new QueryBuilder(); Assert.ThrowsException <ArgumentNullException>(() => builder.AddFilter(null, null)); }
private QueryBuilder GetTrackQuery(TrackFilterDo filter, PagedQuery <TrackOrderColumnDo> page = null) { var baseQuery = new QueryBuilder(); baseQuery.AddSelectStatement(Map.GetSelectStatement("track")); baseQuery.AddFromStatement(Map.GetFromStatement("track")); if (filter != null) { if (!string.IsNullOrEmpty(filter.Title)) { baseQuery.AddFilter(filter.Title, "title", p => $"track.[Title] LIKE '%' + {p} + '%'"); } if (filter.ArtistId.HasValue) { baseQuery.AddFromStatement("JOIN [Library].[TrackArtist] ta ON ta.TrackId = track.Id AND ta.ArtistId = @ArtistId"); baseQuery.AddParameter("ArtistId", filter.ArtistId.Value); } if (filter.PlaylistId.HasValue) { baseQuery.AddFromStatement("JOIN [UserLibrary].[PlaylistTrack] pt ON pt.TrackId = track.Id AND pt.PlaylistId = @PlaylistId"); baseQuery.AddParameter("PlaylistId", filter.PlaylistId.Value); } if (filter.AlbumId.HasValue) { baseQuery.AddFilter(filter.AlbumId.Value, "AlbumId", p => $"track.AlbumId = {p}"); } if (filter.PlayedByUserId.HasValue) { baseQuery.AddFromStatement("JOIN [UserLibrary].[PlayCount] pc ON pc.TrackId = track.Id AND pc.UserId = @UserId1"); baseQuery.AddParameter("UserId1", filter.PlayedByUserId.Value); } if (filter.IsInLibraryForUserId.HasValue) { baseQuery.AddFromStatement("JOIN [UserLibrary].[UserTrack] ut ON ut.TrackId = track.Id AND ut.UserId = @UserId2"); baseQuery.AddParameter("UserId2", filter.IsInLibraryForUserId.Value); } } if (page != null) { if (page.OrderBy != null) { switch (page.OrderBy.Column) { case TrackOrderColumnDo.TrackNumber: baseQuery.AddOrderByStatement("DiscNumber", page.OrderBy.Direction); baseQuery.AddOrderByStatement("TrackNumber", page.OrderBy.Direction); break; case TrackOrderColumnDo.LastPlayed: baseQuery.AddSelectStatement("(SELECT MAX(Timestamp) FROM [UserLibrary].[PlayCount] WHERE TrackId = track.Id) AS Timestamp"); baseQuery.AddOrderByStatement("Timestamp", page.OrderBy.Direction); break; case TrackOrderColumnDo.CreatedOn: baseQuery.AddOrderByStatement("CreatedOn", page.OrderBy.Direction); break; case TrackOrderColumnDo.Title: baseQuery.AddOrderByStatement("track.Title", page.OrderBy.Direction); break; } } if (page.Skip.HasValue && page.Take.HasValue) { baseQuery.AddPaging(page.Skip, page.Take); } } return(baseQuery); }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.Charset = "utf-8"; HttpPostedFile file = context.Request.Files["Filedata"]; string uploadPath = context.Server.MapPath("~/UpLoadFiles/Files/"); string ReceiveID = context.Request["ReceiveID"].Replace("'", ""); string UserID = context.Request["UserID"].Replace("'", ""); string Type = context.Request["Type"].Replace("'", ""); string FileName = ""; string FileType = ""; if (file != null) { FileID = Guid.NewGuid().ToString(); FileType = file.FileName.Substring(file.FileName.LastIndexOf('.') + 1).ToLower(); FileName = file.FileName.Substring(0, file.FileName.LastIndexOf('.')); if (!Directory.Exists(uploadPath)) { Directory.CreateDirectory(uploadPath); } uploadPath += FileID + "." + FileType; file.SaveAs(uploadPath); FileName += "." + FileType; IM_FileInfo fileModel = new IM_FileInfo(); fileModel.ID = Guid.NewGuid(); fileModel.FileName = FileName; fileModel.FilePath = "/UpLoadFiles/Files/" + FileID + "." + FileType; fileModel.UserID = new Guid(UserID); fileModel.ReceiveID = new Guid(ReceiveID); fileModel.Type = 1; fileModel.CreateDate = DateTime.Now; new IM_FileBLL().Add(fileModel); string Note = "<a href=\"" + fileModel.FilePath + "\" target=\"_blank\">" + fileModel.FileName + "</a>"; switch (Type) { case "1": IM_TalkInfo talkModel = new IM_TalkInfo(); talkModel.SendUserID = fileModel.UserID; talkModel.ReceiveUserID = fileModel.ReceiveID; talkModel.Note = Note; talkModel.Type = 1; talkModel.State = 0; new IM_TalkBLL().Add(talkModel); break; case "2": IM_TalkGroupInfo talkGroupModel = new IM_TalkGroupInfo(); talkGroupModel.ID = Guid.NewGuid(); talkGroupModel.SendUserID = fileModel.UserID; talkGroupModel.GroupID = fileModel.ReceiveID; talkGroupModel.Note = Note; talkGroupModel.Type = 1; new IM_TalkGroupBLL().Add(talkGroupModel); QueryBuilder queryBuilder = new QueryBuilder(); queryBuilder.AddFilter(IM_GroupMemberInfo.GroupID_Field, "=", fileModel.ReceiveID.ToString()); List <IM_GroupMemberInfo> groupMemberList = new IM_GroupMemberBLL().GetList(queryBuilder); IM_TalkGroupHintBLL talkGroupHintBLL = new IM_TalkGroupHintBLL(); foreach (IM_GroupMemberInfo tmpModel in groupMemberList) { IM_TalkGroupHintInfo talkGroupHintModel = new IM_TalkGroupHintInfo(); talkGroupHintModel.ID = Guid.NewGuid(); talkGroupHintModel.TalkGroupID = talkGroupModel.ID; talkGroupHintModel.GroupID = talkGroupModel.GroupID; talkGroupHintModel.UserID = tmpModel.UserID; talkGroupHintModel.State = 0; talkGroupHintBLL.Add(talkGroupHintModel); } break; } } context.Response.Write(ReceiveID + "|" + FileName + "|" + "/UpLoadFiles/Files/" + FileID + "." + FileType + "|" + DateTime.Now); }
public string getUserAboutNews(string UserID) { QueryBuilder queryBuilder = new QueryBuilder(); string json = ""; //添加好友提示 queryBuilder.AddFilter("ReceiveUserID", "=", UserID); //queryBuilder.AddFilter("BusinessType", "=", "1"); queryBuilder.AddFilter("State", "=", "0"); queryBuilder.AddOrderASC("CreateDate"); IM_NewsBLL newsBLL = new IM_NewsBLL(); List <IM_NewsInfo> newsList = newsBLL.GetList(queryBuilder); string jsonItem = ""; foreach (IM_NewsInfo newsModel in newsList) { newsBLL.UpdateForState(newsModel.ID, 1); jsonItem += ",{"; jsonItem += "ID:'" + newsModel.ID + "'"; jsonItem += ",SendUserID:'" + newsModel.SendUserID + "'"; jsonItem += ",ReceiveUserID:'" + newsModel.ReceiveUserID + "'"; jsonItem += ",BusinessType:'" + (newsModel.BusinessType == 3 ? 2 : newsModel.BusinessType) + "'";//修改加入群 jsonItem += ",Note:'" + newsModel.Note + "'"; jsonItem += "}"; } json = "NewsList:[" + (jsonItem.Length == 0 ? "" : jsonItem.Substring(1)) + "]"; //单聊提示 jsonItem = ""; IM_TalkBLL talkBLL = new IM_TalkBLL(); List <IM_TalkInfo> talkList = talkBLL.GetList(new Guid(UserID)); foreach (IM_TalkInfo talkModel in talkList) { talkBLL.UpdateForState(talkModel.ID, 1); jsonItem += ",{"; jsonItem += "ID:'" + talkModel.ID + "'"; jsonItem += ",SendUserName:'******'"; jsonItem += ",SendUserID:'" + talkModel.SendUserID + "'"; jsonItem += ",Note:'" + talkModel.Note + "'"; jsonItem += ",Type:'" + talkModel.Type + "'"; jsonItem += ",CreateDate:'" + talkModel.CreateDate + "'"; jsonItem += "}"; } json += ",TalkList:[" + (jsonItem.Length == 0 ? "" : jsonItem.Substring(1)) + "]"; //群聊提示 jsonItem = ""; IM_TalkGroupBLL talkGroupBLL = new IM_TalkGroupBLL(); IM_TalkGroupHintBLL talkGroupHintBLL = new IM_TalkGroupHintBLL(); List <IM_TalkGroupInfo> talkGroupList = talkGroupBLL.GetList(new Guid(UserID)); foreach (IM_TalkGroupInfo talkGroupModel in talkGroupList) { talkGroupHintBLL.UpdateForState(talkGroupModel.ID, new Guid(UserID), 1); jsonItem += ",{"; jsonItem += "ID:'" + talkGroupModel.ID + "'"; jsonItem += ",GroupName:'" + talkGroupModel.GroupName + "'"; jsonItem += ",GroupID:'" + talkGroupModel.GroupID + "'"; jsonItem += ",UserName:'******'"; jsonItem += ",Note:'" + talkGroupModel.Note + "'"; jsonItem += ",Type:'" + talkGroupModel.Type + "'"; jsonItem += ",CreateDate:'" + talkGroupModel.CreateDate + "'"; jsonItem += "}"; } json += ",TalkGroupList:[" + (jsonItem.Length == 0 ? "" : jsonItem.Substring(1)) + "]"; json = "[{" + json + "}]"; return(json); }