Пример #1
0
        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);
        }
Пример #2
0
 public async Task <List <MeetingHistory> > GetMeetingHistory(GetMeetingHistoryInput Parameters)
 {
     return(await MeetHistoryManager.GetMeetingHistory(Parameters));
 }