using DigitalData.Modules.Logging; using EnvelopeGenerator.Common; using EnvelopeGenerator.Web.Services; using Microsoft.AspNetCore.Mvc; using static EnvelopeGenerator.Web.Constants; namespace EnvelopeGenerator.Web.Controllers { public class BaseController : Controller { internal DatabaseService database; internal LogConfig logConfig; internal State state; public Logger logger; public BaseController(DatabaseService database, LoggingService logging) { this.database = database; this.logConfig = logging.LogConfig; this.logger = logging.LogConfig.GetLoggerFor(GetType().Name); this.state = GetState(); } internal ObjectResult ErrorResponse(Exception e) { logger.Error(e); return Problem( statusCode: 500, detail: e.Message, type: ErrorType.ServerError.ToString()); } internal State GetState() { return new State { Database = database.MSSQL, LogConfig = logConfig, UserId = 2 // TODO }; } } }