예제 #1
0
        public static async Task <List <Scenario> > GetScenario(GetScenarioInput Parameters)
        {
            var List       = new List <Scenario>();
            var projection = Builders <Scenario> .Projection;
            var project    = projection.Exclude("_id");

            var filter = FilterDefinition <Scenario> .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 <Scenario> .Filter.Eq(Parameters.Column, val);
            }
            else if (Parameters.Statement == "<")
            {
                filter = Builders <Scenario> .Filter.Lt(Parameters.Column, val);
            }
            else if (Parameters.Statement == ">")
            {
                filter = Builders <Scenario> .Filter.Gt(Parameters.Column, val);
            }
            var option = new FindOptions <Scenario, BsonDocument> {
                Projection = project
            };

            using (var cursor = await db.GetCollection <Scenario>("Scenario").FindAsync(filter, option))
            {
                while (await cursor.MoveNextAsync())
                {
                    var batch = cursor.Current;
                    foreach (BsonDocument s in batch)
                    {
                        var Scenario = new Scenario();
                        if (s.Contains("ScenarioID"))
                        {
                            Scenario.ScenarioID = s["ScenarioID"].AsString;
                        }

                        if (s.Contains("ScenarioName"))
                        {
                            Scenario.ScenarioName = s["ScenarioName"].AsString;
                        }

                        if (s.Contains("Scenarioİmage"))
                        {
                            Scenario.Scenarioİmage = s["Scenarioİmage"].AsString;
                        }



                        List.Add(Scenario);
                    }
                }
            }
            return(List);
        }
예제 #2
0
 public async Task <List <Scenario> > GetScenario(GetScenarioInput Parameters)
 {
     return(await ScenarioManager.GetScenario(Parameters));
 }