using Marco.Pms.Model.AppMenu; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; using MongoDB.Driver; using System; using System.Threading.Tasks; namespace Marco.Pms.CacheHelper { public class SideBarMenu { private readonly IMongoCollection _collection; private readonly ILogger _logger; public SideBarMenu(IConfiguration configuration, ILogger logger) { _logger = logger; var connectionString = configuration["MongoDB:ConnectionMenu"]; var mongoUrl = new MongoUrl(connectionString); var client = new MongoClient(mongoUrl); var database = client.GetDatabase(mongoUrl.DatabaseName); _collection = database.GetCollection("Menus"); } public async Task CreateMenuSectionAsync(MenuSection section) { try { await _collection.InsertOneAsync(section); return section; } catch(Exception ex) { _logger.LogError(ex, "Error occured while added in mongo"); return null; } } // You can add Get, Update, Delete later here } }