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)); }
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(); } } }