45 lines
1.3 KiB
C#

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<MenuSection> _collection;
private readonly ILogger<SideBarMenu> _logger;
public SideBarMenu(IConfiguration configuration, ILogger<SideBarMenu> 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<MenuSection>("Menus");
}
public async Task<MenuSection?> 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
}
}