45 lines
1.3 KiB
C#
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
|
|
}
|
|
|
|
} |