コード例 #1
0
        public void UpdateLocationCases(LocationObject lo, AreaInfo ai, CaseInfo ci)
        {
            var collection = db.GetCollection <AreaInfo>("Areas");

            var filter = Builders <AreaInfo> .Filter.And(Builders <AreaInfo> .Filter.Where(c => c.areaName == ai.areaName),
                                                         Builders <AreaInfo> .Filter.Where(c => c.locationsList.Any(x => x.locName == lo.locName)));

            var update = Builders <AreaInfo> .Update.PullFilter("locationsList.$[].casesList", Builders <BsonDocument> .Filter.Eq("caseID", ci.caseID));

            collection.UpdateOne(filter, update);

            collection.FindOneAndUpdate(c => c.areaName == ai.areaName && c.locationsList.Any(s => s.locName == lo.locName),
                                        Builders <AreaInfo> .Update.Push(c => c.locationsList[-1].casesList, ci));
        }
コード例 #2
0
        private void settingsAreaAddButton_Click(object sender, EventArgs e)
        {
            string areaName = ShowDialog("Enter Area Name", "New Add Area", true);

            if (areaName.Length > 0)
            {
                AreaInfo area = new AreaInfo();
                area.areaName = areaName;

                if (!MongoCRUD.GetInstance().RecordExists <AreaInfo>("Areas", areaName, "areaName"))
                {
                    MongoCRUD.GetInstance().InsertRecord("Areas", area, areaName, null);
                    RefreshAreasList();
                }
            }
        }