コード例 #1
0
 public async Task <List <Salloon> > GetSalloon(GetSallooninput Parameters)
 {
     return(await SalloonManager.GetSalloon(Parameters));
 }
コード例 #2
0
        public static async Task <List <Salloon> > GetSalloon(GetSallooninput Parameters)
        {
            var List = new List <Salloon>();

            var projection = Builders <Salloon> .Projection;
            var project    = projection.Exclude("_id");

            //var filter = Builders<Salloon>.Filter.Eq(x => x.ID, "14");
            var filter = FilterDefinition <Salloon> .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 <Salloon> .Filter.Eq(Parameters.Column, val);
            }
            else if (Parameters.Statement == "<")
            {
                filter = Builders <Salloon> .Filter.Lt(Parameters.Column, val);
            }
            else if (Parameters.Statement == ">")
            {
                filter = Builders <Salloon> .Filter.Gt(Parameters.Column, val);
            }

            var option = new FindOptions <Salloon, BsonDocument> {
                Projection = project
            };

            using (var cursor = await db.GetCollection <Salloon>("Salloons").FindAsync(filter, option))
            {
                while (await cursor.MoveNextAsync())
                {
                    var batch = cursor.Current;

                    foreach (BsonDocument s in batch)
                    {
                        var salloon = new Salloon();

                        if (s.Contains("Branch"))
                        {
                            salloon.Branch = s["Branch"].AsString;
                        }
                        if (s.Contains("ID"))
                        {
                            salloon.ID = s["ID"].AsString;
                        }
                        if (s.Contains("AirConditioningStatus"))
                        {
                            salloon.AirConditioningStatus = s["AirConditioningStatus"].AsBoolean;
                        }
                        if (s.Contains("Capacity"))
                        {
                            salloon.Capacity = s["Capacity"].AsInt32;
                        }
                        if (s.Contains("InternetStatus"))
                        {
                            salloon.InternetStatus = s["InternetStatus"].AsBoolean;
                        }
                        if (s.Contains("ProjectionStatus"))
                        {
                            salloon.ProjectionStatus = s["ProjectionStatus"].AsBoolean;
                        }
                        if (s.Contains("ProvisionsStatus"))
                        {
                            salloon.ProvisionsStatus = s["ProvisionsStatus"].AsBoolean;
                        }
                        if (s.Contains("SalloonName"))
                        {
                            salloon.SalloonName = s["SalloonName"].AsString;
                        }

                        List.Add(salloon);
                    }
                }
            }

            return(List);
        }