public static async Task <List <MeetingHistory> > GetMeetingHistory(GetMeetingHistoryInput Parameters) { var List = new List <MeetingHistory>(); var projection = Builders <MeetingHistory> .Projection; var project = projection.Exclude("_id"); var filter = FilterDefinition <MeetingHistory> .Empty; BsonValue val; if (Parameters.ColumnType == "int") { val = Convert.ToInt64(Parameters.Value); } else if (Parameters.ColumnType == "bool") { val = Convert.ToBoolean(Parameters.Value); } else { val = Convert.ToString(Parameters.Value); } if (Parameters.Statement == "=") { filter = Builders <MeetingHistory> .Filter.Eq(Parameters.Column, val); } else if (Parameters.Statement == "<") { filter = Builders <MeetingHistory> .Filter.Lt(Parameters.Column, val); } else if (Parameters.Statement == ">") { filter = Builders <MeetingHistory> .Filter.Gt(Parameters.Column, val); } var option = new FindOptions <MeetingHistory, BsonDocument> { Projection = project }; using (var cursor = await db.GetCollection <MeetingHistory>("MeetingHistory").FindAsync(filter, option)) { while (await cursor.MoveNextAsync()) { var batch = cursor.Current; foreach (BsonDocument m in batch) { var meet = new MeetingHistory(); if (m.Contains("ID")) { meet.ID = m["ID"].AsString; } if (m.Contains("Title")) { meet.Title = m["Title"].AsString; } if (m.Contains("StartDate")) { meet.StartDate = m["StartDate"].AsString; } if (m.Contains("FinishDate")) { meet.FinishDate = m["FinishDate"].AsString; } if (m.Contains("ParticipantNumber")) { meet.ParticipantNumber = m["ParticipantNumber"].AsInt32; } if (m.Contains("BranchID")) { meet.BranchID = m["BranchID"].AsString; } if (m.Contains("Salloon")) { meet.Salloon = m["Salloon"].AsString; } if (m.Contains("Moderator")) { meet.Moderator = m["Moderator"].AsString; } List.Add(meet); } } } return(List); }
public async Task <List <MeetingHistory> > GetMeetingHistory(GetMeetingHistoryInput Parameters) { return(await MeetHistoryManager.GetMeetingHistory(Parameters)); }