diff --git a/.gitignore b/.gitignore index df076c6..e84c9d1 100644 --- a/.gitignore +++ b/.gitignore @@ -337,4 +337,5 @@ ASALocalRun/ .localhistory/ # BeatPulse healthcheck temp database -healthchecksdb \ No newline at end of file +healthchecksdb +/SolarPower/wwwroot/js/bower_components diff --git a/SolarPower/Controllers/OperationController.cs b/SolarPower/Controllers/OperationController.cs index 852db4e..eaeb38e 100644 --- a/SolarPower/Controllers/OperationController.cs +++ b/SolarPower/Controllers/OperationController.cs @@ -179,14 +179,14 @@ namespace SolarPower.Controllers /// /// /// - public async Task OperationPlanTable(List id) + public async Task OperationPlanTable(List id,int type) { List OperationPlanTable = new List(); ApiResult> apiResult = new ApiResult>(); try { apiResult.Code = "0000"; - OperationPlanTable = await operationRepository.OperationPlanTable(id); + OperationPlanTable = await operationRepository.OperationPlanTable(id,type); foreach (OperationPlanTable a in OperationPlanTable) { if (a.Type == 0) diff --git a/SolarPower/Controllers/PowerStationController.cs b/SolarPower/Controllers/PowerStationController.cs index e760cc1..c3f6766 100644 --- a/SolarPower/Controllers/PowerStationController.cs +++ b/SolarPower/Controllers/PowerStationController.cs @@ -958,11 +958,12 @@ namespace SolarPower.Controllers ApiResult apiResult = new ApiResult(); try { + PowerStation powerStation = null; + powerStation = await powerStationRepository.GetOneAsync(Device.PowerStationId); if (Device.Id == 0) { - PowerStation powerStation = null; - powerStation = await powerStationRepository.GetOneAsync(Device.PowerStationId); - string Number = await powerStationRepository.GetFinalSerialNumber(Device.PowerStationId, Device.Type); + + string Number = await powerStationRepository.GetFinalSerialNumber(Device.PowerStationId, Device.Type,powerStation.SiteDB); var tempSerialNumber = 0; if (!string.IsNullOrEmpty(Number)) { @@ -1006,7 +1007,7 @@ namespace SolarPower.Controllers "TypeName", "SerialNumber" }; - await powerStationRepository.AddDevice(DeviceInfo, properties); + await powerStationRepository.AddDevice(DeviceInfo, properties, powerStation.SiteDB); apiResult.Code = "0000"; apiResult.Msg = "新增成功"; @@ -1039,7 +1040,7 @@ namespace SolarPower.Controllers "CreatedBy", "TypeName" }; - await powerStationRepository.UpdateDevice(DeviceInfo, properties); + await powerStationRepository.UpdateDevice(DeviceInfo, properties, powerStation.SiteDB); apiResult.Code = "0000"; apiResult.Msg = "儲存成功"; } @@ -1049,6 +1050,8 @@ namespace SolarPower.Controllers { apiResult.Code = "9999"; apiResult.Msg = exception.ToString(); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + "Device=" + Device); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message); } return apiResult; } @@ -1063,8 +1066,10 @@ namespace SolarPower.Controllers ApiResult> apiResult = new ApiResult>(); try { + PowerStation powerStation = null; + powerStation = await powerStationRepository.GetOneAsync(stationId); apiResult.Code = "0000"; - deviceTables = await powerStationRepository.DeviceTable(stationId); + deviceTables = await powerStationRepository.DeviceTable(stationId, powerStation.SiteDB); foreach (DeviceTable a in deviceTables) { a.Function = @" @@ -1077,6 +1082,8 @@ namespace SolarPower.Controllers { apiResult.Code = "9999"; apiResult.Msg = exception.ToString(); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + "stationId=" + stationId); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message); } var result = Json(new { @@ -1133,20 +1140,24 @@ namespace SolarPower.Controllers /// /// /// - public async Task> GetOneDevice(int id) + public async Task> GetOneDevice(PostPowerStationIdAndSelectedId id) { DeviceInfo Device = new DeviceInfo(); ApiResult apiResult = new ApiResult(); try { + PowerStation powerStation = null; + powerStation = await powerStationRepository.GetOneAsync(id.PowerStationId); apiResult.Code = "0000"; - Device = await powerStationRepository.OneDeviceInfo(id); + Device = await powerStationRepository.OneDeviceInfo(id.SelectedId, powerStation.SiteDB); apiResult.Data = Device; } catch (Exception exception) { apiResult.Code = "9999"; apiResult.Msg = exception.ToString(); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + "id=" + id); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message); } return apiResult; @@ -1157,13 +1168,15 @@ namespace SolarPower.Controllers /// /// /// - public async Task> DeleteOneDevice(int id) + public async Task> DeleteOneDevice(PostPowerStationIdAndSelectedId id) { ApiResult apiResult = new ApiResult(); DeviceInfo Device = new DeviceInfo(); try { - Device = await powerStationRepository.OneDeviceInfo(id); + PowerStation powerStation = null; + powerStation = await powerStationRepository.GetOneAsync(id.PowerStationId); + Device = await powerStationRepository.OneDeviceInfo(id.SelectedId, powerStation.SiteDB); if (Device == null) { @@ -1199,8 +1212,11 @@ namespace SolarPower.Controllers ApiResult apiResult = new ApiResult(); try { + PowerStation powerStation = null; + powerStation = await powerStationRepository.GetOneAsync(exceptionModal.PowerStationId); if (exceptionModal.Id == 0) { + ExceptionModal Exception = new ExceptionModal() { Alarm = exceptionModal.Alarm, @@ -1221,7 +1237,7 @@ namespace SolarPower.Controllers "Type", "UpperLimit", }; - await powerStationRepository.AddException(Exception, properties); + await powerStationRepository.AddException(Exception, properties,powerStation.SiteDB); apiResult.Code = "0000"; apiResult.Msg = "新增成功"; @@ -1248,7 +1264,7 @@ namespace SolarPower.Controllers "Type", "UpperLimit", }; - await powerStationRepository.UpdateException(Exception, properties); + await powerStationRepository.UpdateException(Exception, properties,powerStation.SiteDB); apiResult.Code = "0000"; apiResult.Msg = "儲存成功"; } @@ -1258,6 +1274,8 @@ namespace SolarPower.Controllers { apiResult.Code = "9999"; apiResult.Msg = exception.ToString(); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + "ExceptionModal=" + exceptionModal); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message); } return apiResult; } @@ -1272,8 +1290,10 @@ namespace SolarPower.Controllers ApiResult> apiResult = new ApiResult>(); try { + PowerStation powerStation = null; + powerStation = await powerStationRepository.GetOneAsync(stationId); apiResult.Code = "0000"; - exceptionTable = await powerStationRepository.ExceptionTable(stationId); + exceptionTable = await powerStationRepository.ExceptionTable(stationId,powerStation.SiteDB); foreach (ExceptionTable a in exceptionTable) { a.Function = @" @@ -1294,6 +1314,8 @@ namespace SolarPower.Controllers { apiResult.Code = "9999"; apiResult.Msg = exception.ToString(); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + "stationId=" + stationId); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message); } var result = Json(new { @@ -1306,20 +1328,24 @@ namespace SolarPower.Controllers /// /// /// - public async Task> GetOneException(int id) + public async Task> GetOneException(PostPowerStationIdAndSelectedId id) { ExceptionModal Exception = new ExceptionModal(); ApiResult apiResult = new ApiResult(); try { + PowerStation powerStation = null; + powerStation = await powerStationRepository.GetOneAsync(id.PowerStationId); apiResult.Code = "0000"; - Exception = await powerStationRepository.OneException(id); + Exception = await powerStationRepository.OneException(id.SelectedId,powerStation.SiteDB); apiResult.Data = Exception; } catch (Exception exception) { apiResult.Code = "9999"; apiResult.Msg = exception.ToString(); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + "id=" + id); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message); } return apiResult; @@ -1330,17 +1356,19 @@ namespace SolarPower.Controllers /// /// /// - public async Task> DeleteOneException(int id) + public async Task> DeleteOneException(PostPowerStationIdAndSelectedId id) { ApiResult apiResult = new ApiResult(); ExceptionModal Exception = new ExceptionModal(); try { - Exception = await powerStationRepository.OneException(id); + PowerStation powerStation = null; + powerStation = await powerStationRepository.GetOneAsync(id.PowerStationId); + Exception = await powerStationRepository.OneException(id.SelectedId,powerStation.SiteDB); if (Exception == null) { - apiResult.Code = "9996"; + apiResult.Code = "9999"; apiResult.Msg = errorCode.GetString(apiResult.Code); return apiResult; } @@ -1355,7 +1383,7 @@ namespace SolarPower.Controllers { apiResult.Code = "9999"; apiResult.Msg = errorCode.GetString(apiResult.Code); - Logger.LogError("【" + controllerName + "/" + actionName + "】" + "Id=" + id); + Logger.LogError("【" + controllerName + "/" + actionName + "】" + "id=" + id); Logger.LogError("【" + controllerName + "/" + actionName + "】" + exception.Message); } diff --git a/SolarPower/Helper/DatabaseHelper.cs b/SolarPower/Helper/DatabaseHelper.cs index 69dbfdc..123d5e4 100644 --- a/SolarPower/Helper/DatabaseHelper.cs +++ b/SolarPower/Helper/DatabaseHelper.cs @@ -37,7 +37,7 @@ namespace SolarPower.Helper var passwordStr = ed.AESDecrypt(dbConfig.Password); //var connStr = $"server={serverStr};database={databaseStr};user={rootStr};password={passwordStr};charset=utf8;"; - var connStr = @"server=127.0.0.1;database=solar_power;user=root;password=000000;charset=utf8;"; + var connStr = @"server=210.61.91.43;port=10068;database=solar_power_test;user=idafenweb;password=P@ssw0rd;charset=utf8;"; this._connectionString = connStr; } diff --git a/SolarPower/Models/Operation.cs b/SolarPower/Models/Operation.cs index 66939df..ceed613 100644 --- a/SolarPower/Models/Operation.cs +++ b/SolarPower/Models/Operation.cs @@ -42,6 +42,10 @@ namespace SolarPower.Models public string Text { get; set; } public string Value { get; set; } } + public class SendData + { + public List id { get; set; } + } public class OperationCreatePlanModal : Created { private string startTime = "", endTime = ""; diff --git a/SolarPower/Repository/Implement/OperationRepository.cs b/SolarPower/Repository/Implement/OperationRepository.cs index 603c77a..f0d0a99 100644 --- a/SolarPower/Repository/Implement/OperationRepository.cs +++ b/SolarPower/Repository/Implement/OperationRepository.cs @@ -58,7 +58,7 @@ namespace SolarPower.Repository.Implement } } - public async Task> OperationPlanTable(List id) + public async Task> OperationPlanTable(List id,int Type) { List result; var count = 0; @@ -80,11 +80,25 @@ namespace SolarPower.Repository.Implement { try { - var sql = @$"SELECT oc.Id,oc.PlanId,oc.PowerStationId,oc.Type, + var sql = ""; + if (Type != 9) + { + sql = @$"SELECT oc.Id,oc.PlanId,oc.PowerStationId,oc.Type, oc.ScheduleNum,oc.ScheduleType,oc.WorkDay,oc.StartTime, oc.EmailType,oc.Description,oc.CreatedAt,ps.Name AS PowerStationName ,us.Name AS CreatedPerson FROM operation_plan_create oc LEFT JOIN power_station ps ON oc.PowerStationId = ps.Id LEFT JOIN user us - ON us.Id = oc.CreatedBy WHERE {Wheresql} AND oc.Deleted = 0"; + ON us.Id = oc.CreatedBy WHERE ({Wheresql}) AND oc.Deleted = 0 AND oc.Type = {Type}"; + } + else + { + sql = @$"SELECT oc.Id,oc.PlanId,oc.PowerStationId,oc.Type, + oc.ScheduleNum,oc.ScheduleType,oc.WorkDay,oc.StartTime, + oc.EmailType,oc.Description,oc.CreatedAt,ps.Name AS PowerStationName ,us.Name AS CreatedPerson FROM operation_plan_create oc LEFT JOIN power_station ps + ON oc.PowerStationId = ps.Id LEFT JOIN user us + ON us.Id = oc.CreatedBy WHERE ({Wheresql}) AND oc.Deleted = 0"; + } + + result = (await conn.QueryAsync(sql)).ToList(); } catch (Exception exception) diff --git a/SolarPower/Repository/Implement/PowerStationRepository.cs b/SolarPower/Repository/Implement/PowerStationRepository.cs index 79f1a2a..9b50761 100644 --- a/SolarPower/Repository/Implement/PowerStationRepository.cs +++ b/SolarPower/Repository/Implement/PowerStationRepository.cs @@ -651,16 +651,17 @@ namespace SolarPower.Repository.Implement /// /// /// - public async Task AddDevice(Device DeviceInfo, List properties) + public async Task AddDevice(Device DeviceInfo, List properties, string db_name) { using IDbConnection conn = _databaseHelper.GetConnection(); + var trans = conn.BeginTransaction(); conn.Open(); try { - string sql = GenerateInsertQueryWithCustomTable(properties, "device"); + string sql = GenerateUpdateQueryWithCustomDBNameAndTable(properties,db_name, "device"); await conn.ExecuteAsync(sql, DeviceInfo); - + trans.Commit(); } catch (Exception exception) { @@ -668,6 +669,7 @@ namespace SolarPower.Repository.Implement } finally { + trans.Rollback(); conn.Close(); } @@ -678,14 +680,14 @@ namespace SolarPower.Repository.Implement /// /// /// - public async Task UpdateDevice(Device DeviceInfo, List properties) + public async Task UpdateDevice(Device DeviceInfo, List properties, string db_name) { using IDbConnection conn = _databaseHelper.GetConnection(); conn.Open(); var trans = conn.BeginTransaction(); try { - var updateQuery = GenerateUpdateQueryWithCustomTable(properties, "device"); + var updateQuery = GenerateUpdateQueryWithCustomDBNameAndTable(properties,db_name, "device"); await conn.ExecuteAsync(updateQuery.ToString(), DeviceInfo, trans); trans.Commit(); } @@ -704,14 +706,14 @@ namespace SolarPower.Repository.Implement /// /// /// - public async Task> DeviceTable(int stationId) + public async Task> DeviceTable(int stationId, string db_name) { using IDbConnection conn = _databaseHelper.GetConnection(); conn.Open(); List Device = new List(); try { - string sql = @$"SELECT * FROM device WHERE Deleted = 0 AND PowerStationId = @StationId"; + string sql = @$"SELECT * FROM {db_name}.device WHERE Deleted = 0 AND PowerStationId = @StationId"; Device = (await conn.QueryAsync(sql, new { StationId = stationId })).ToList(); } catch (Exception exception) @@ -729,7 +731,7 @@ namespace SolarPower.Repository.Implement /// /// /// - public async Task OneDeviceInfo(int id) + public async Task OneDeviceInfo(int id, string db_name) { using (IDbConnection conn = _databaseHelper.GetConnection()) { @@ -737,7 +739,7 @@ namespace SolarPower.Repository.Implement conn.Open(); try { - string sql = @$"SELECT * FROM device WHERE Id = @Id"; + string sql = @$"SELECT * FROM {db_name}.device WHERE Id = @Id"; Device = await conn.QueryFirstOrDefaultAsync(sql, new { Id = id }); } catch (Exception exception) @@ -757,13 +759,13 @@ namespace SolarPower.Repository.Implement /// /// /// - public async Task AddException(ExceptionModal Exception, List properties) + public async Task AddException(ExceptionModal Exception, List properties, string db_name) { using IDbConnection conn = _databaseHelper.GetConnection(); conn.Open(); try { - string sql = GenerateInsertQueryWithCustomTable(properties, "power_station_exception"); + string sql = GenerateUpdateQueryWithCustomDBNameAndTable(properties,db_name,"power_station_exception"); await conn.ExecuteAsync(sql, Exception); @@ -783,7 +785,7 @@ namespace SolarPower.Repository.Implement /// /// /// - public async Task> ExceptionTable(int stationId) + public async Task> ExceptionTable(int stationId, string db_name) { using IDbConnection conn = _databaseHelper.GetConnection(); conn.Open(); @@ -791,8 +793,8 @@ namespace SolarPower.Repository.Implement try { string sql = @$"SELECT pe.Type,pe.UpperLimit,pe.LowerLimit,pe.Alarm,ps.Code AS PowerStationCode ,ps.Name AS PowerStationName,pe.CreatedAt,pe.Id - FROM power_station_exception pe - LEFT JOIN power_station ps ON pe.PowerStationId = ps.Id + FROM {db_name}.power_station_exception pe + LEFT JOIN {db_name}.power_station ps ON pe.PowerStationId = ps.Id WHERE pe.Deleted = 0 AND pe.PowerStationId = @StationId"; Exception = (await conn.QueryAsync(sql, new { StationId = stationId })).ToList(); } @@ -811,7 +813,7 @@ namespace SolarPower.Repository.Implement /// /// /// - public async Task OneException(int id) + public async Task OneException(int id, string db_name) { using (IDbConnection conn = _databaseHelper.GetConnection()) { @@ -819,7 +821,7 @@ namespace SolarPower.Repository.Implement conn.Open(); try { - string sql = @$"SELECT * FROM power_station_exception WHERE Id = @Id"; + string sql = @$"SELECT * FROM {db_name}.power_station_exception WHERE Id = @Id"; Exception = await conn.QueryFirstOrDefaultAsync(sql, new { Id = id }); } catch (Exception exception) @@ -839,14 +841,14 @@ namespace SolarPower.Repository.Implement /// /// /// - public async Task UpdateException(ExceptionModal Exception, List properties) + public async Task UpdateException(ExceptionModal Exception, List properties, string db_name) { using IDbConnection conn = _databaseHelper.GetConnection(); conn.Open(); var trans = conn.BeginTransaction(); try { - var updateQuery = GenerateUpdateQueryWithCustomTable(properties, "power_station_exception"); + var updateQuery = GenerateUpdateQueryWithCustomDBNameAndTable(properties,db_name,"power_station_exception"); await conn.ExecuteAsync(updateQuery.ToString(), Exception, trans); trans.Commit(); } @@ -860,7 +862,7 @@ namespace SolarPower.Repository.Implement conn.Close(); } } - public async Task GetFinalSerialNumber(int PowerStationId, string Type) + public async Task GetFinalSerialNumber(int PowerStationId, string Type, string db_name) { string Num; using IDbConnection conn = _databaseHelper.GetConnection(); @@ -868,7 +870,7 @@ namespace SolarPower.Repository.Implement var trans = conn.BeginTransaction(); try { - var sql = "SELECT SerialNumber FROM device WHERE PowerStationId = @PowerStationId AND Type = @Type ORDER BY SerialNumber DESC"; + var sql = $"SELECT SerialNumber FROM {db_name}.device WHERE PowerStationId = @PowerStationId AND Type = @Type ORDER BY SerialNumber DESC"; Num = await conn.QueryFirstOrDefaultAsync(sql, new { PowerStationId = PowerStationId, Type = Type }); trans.Commit(); } @@ -1333,20 +1335,20 @@ namespace SolarPower.Repository.Implement } if (User.Role.Layer == 0 || User.Role.Layer == 1) { - var sql = "SELECT * FROM power_station WHERE CityId IN(@Ids)"; - powerstation = (await conn.QueryAsync(sql, new { Ids = ids })).ToList(); + var sql = "SELECT * FROM power_station WHERE CityId IN @IDs"; + powerstation = (await conn.QueryAsync(sql, new { IDs = CityId })).ToList(); trans.Commit(); } else if (User.Role.Layer == 2) { - var sql = "SELECT * FROM power_station WHERE CityId IN(@Ids) AND CompanyId=@CompanyId"; - powerstation = (await conn.QueryAsync(sql, new { Ids = ids ,CompanyId = User.CompanyId })).ToList(); + var sql = "SELECT * FROM power_station WHERE CityId IN @IDs AND CompanyId=@CompanyId"; + powerstation = (await conn.QueryAsync(sql, new { IDs = CityId,CompanyId = User.CompanyId })).ToList(); trans.Commit(); } else { - var sql = "SELECT power_station.* FROM power_station LEFT JOIN power_station_operation_personnel ON power_station.Id = power_station_operation_personnel.PowerStationId WHERE CityId IN(@Ids) AND Userid = @UserId"; - powerstation = (await conn.QueryAsync(sql, new { UserId = User.Id })).ToList(); + var sql = "SELECT power_station.* FROM power_station LEFT JOIN power_station_operation_personnel ON power_station.Id = power_station_operation_personnel.PowerStationId WHERE CityId IN @IDs AND Userid = @UserId"; + powerstation = (await conn.QueryAsync(sql, new { IDs = CityId, UserId = User.Id })).ToList(); trans.Commit(); } } diff --git a/SolarPower/Repository/Interface/IOperationRepository.cs b/SolarPower/Repository/Interface/IOperationRepository.cs index 452622f..57d97ef 100644 --- a/SolarPower/Repository/Interface/IOperationRepository.cs +++ b/SolarPower/Repository/Interface/IOperationRepository.cs @@ -10,7 +10,7 @@ namespace SolarPower.Repository.Interface { Task> GetPowerStationIdList(int UserId); Task AddOperationPlan(OperationCreatePlan OperationPlan, List properties); - Task> OperationPlanTable(List id); + Task> OperationPlanTable(List id,int Type); Task GetOneOperation(int id); Task UpdateOperationPlan(OperationCreatePlan OperationPlan, List properties); Task AddToRecord(PlanToRecord record, List properties2); diff --git a/SolarPower/Repository/Interface/IPowerStationRepository.cs b/SolarPower/Repository/Interface/IPowerStationRepository.cs index d52eefd..0f511cf 100644 --- a/SolarPower/Repository/Interface/IPowerStationRepository.cs +++ b/SolarPower/Repository/Interface/IPowerStationRepository.cs @@ -163,34 +163,34 @@ namespace SolarPower.Repository.Interface /// /// /// - Task AddDevice(Device DeviceInfo, List properties); + Task AddDevice(Device DeviceInfo, List properties, string db_name); /// /// 修改 裝置 /// /// /// /// - Task UpdateDevice(Device DeviceInfo, List properties); + Task UpdateDevice(Device DeviceInfo, List properties, string db_name); /// /// 設備datatable /// /// /// - Task> DeviceTable(int stationId); + Task> DeviceTable(int stationId, string db_name); /// /// 異常datatable /// /// /// - Task> ExceptionTable(int stationId); + Task> ExceptionTable(int stationId, string db_name); /// /// 取單一筆DeviceInfo /// /// /// - Task OneDeviceInfo(int id); + Task OneDeviceInfo(int id, string db_name); /// /// 新增 異常設定 @@ -198,14 +198,14 @@ namespace SolarPower.Repository.Interface /// /// /// - Task AddException(ExceptionModal Exception, List properties); + Task AddException(ExceptionModal Exception, List properties, string db_name); /// /// 取一筆異常設定 /// /// /// - Task OneException(int id); + Task OneException(int id, string db_name); /// /// 更新異常設定 @@ -213,7 +213,7 @@ namespace SolarPower.Repository.Interface /// /// /// - Task UpdateException(ExceptionModal Exception, List properties); + Task UpdateException(ExceptionModal Exception, List properties, string db_name); /// /// 取最後一個設備流水號 @@ -221,7 +221,7 @@ namespace SolarPower.Repository.Interface /// /// /// - Task GetFinalSerialNumber(int PowerStationId, string Type); + Task GetFinalSerialNumber(int PowerStationId, string Type, string db_name); /// /// 透過電站編號,取得該電站的運維人員編號 diff --git a/SolarPower/SolarPower.csproj b/SolarPower/SolarPower.csproj index 05c1a89..0813b26 100644 --- a/SolarPower/SolarPower.csproj +++ b/SolarPower/SolarPower.csproj @@ -23,6 +23,20 @@ + + + + + + + + + + + + + + @@ -101,6 +115,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SolarPower/Views/Operation/Index.cshtml b/SolarPower/Views/Operation/Index.cshtml index e9e9ef8..13a9265 100644 --- a/SolarPower/Views/Operation/Index.cshtml +++ b/SolarPower/Views/Operation/Index.cshtml @@ -6,6 +6,7 @@ @using SolarPower.Models.Role @model RoleLayerEnum +