public async Task <IActionResult> Create([Bind("Name,Description,DatabaseName,DatabaseServer,DatabaseUser,DatabasePassword,DatabaseTypeId,Port,ConnectionString")] DatabaseGDR databaseGDR, int[] ReportIdSelected) { if (ModelState.IsValid) { foreach (var reportId in ReportIdSelected) { ReportDatabaseGDR reportDatabaseGDR = new ReportDatabaseGDR(); reportDatabaseGDR.ReportID = reportId; databaseGDR.ReportDatabaseGDR.Add(reportDatabaseGDR); } databaseGDR.User = User.Identity.Name; databaseGDR.ChangeDate = DateTime.Parse(DateTime.Now.ToString()); if (await databaseGDRRepository.Create(databaseGDR)) { return(RedirectToAction(nameof(Index))); } } ViewBag.EnableSelect = databaseGDRRepository.GetSelectList(databaseGDR.Enable); ViewBag.DatabaseTypeId = new SelectList(await databaseTypeRepository.GetList(EnableEnum.Enabled), "Id", "Name"); return(View(databaseGDR)); }
public async Task <IActionResult> Create([Bind("Name,Description,SQL")] Report report, int[] DatabaseIDSelected, int[] PermissionGroupIdSelected) { if (ModelState.IsValid) { foreach (var databaseId in DatabaseIDSelected) { ReportDatabaseGDR databaseGDR = new ReportDatabaseGDR(); databaseGDR.DatabaseGDRId = databaseId; report.ReportDatabaseGDR.Add(databaseGDR); } foreach (var permissionGroupId in PermissionGroupIdSelected) { ReportPermissionGroup permissionGroup = new ReportPermissionGroup(); permissionGroup.PermissionGroupId = permissionGroupId; report.ReportPermissionGroup.Add(permissionGroup); } report.User = User.Identity.Name; report.ChangeDate = DateTime.Now; bool status = await reportRepository.Create(report); return(RedirectToAction(nameof(Index))); } ViewBag.DatabaseGDR = new SelectList(await databaseGDRRepository.GetList(EnableEnum.Enabled), "Id", "Name"); ViewBag.EnableSelect = reportRepository.GetSelectList(report.Enable); return(View(report)); }
public async Task <Report> Update(Report report, int[] DatabaseIDSelected, int[] PermissionGroupIdSelected) { try { var databaseGDRRemove = context.ReportDatabaseGDR.Where(x => x.ReportID == report.Id); var permissionGroupRemove = context.ReportPermissionGroup.Where(x => x.ReportID == report.Id); context.RemoveRange(databaseGDRRemove); context.RemoveRange(permissionGroupRemove); List <ReportDatabaseGDR> reportDatabaseGDR = new List <ReportDatabaseGDR>(); foreach (var databaseId in DatabaseIDSelected) { ReportDatabaseGDR databaseGDR = new ReportDatabaseGDR(); databaseGDR.DatabaseGDRId = databaseId; reportDatabaseGDR.Add(databaseGDR); } report.ReportDatabaseGDR = reportDatabaseGDR; List <ReportPermissionGroup> reportPermissionGroup = new List <ReportPermissionGroup>(); foreach (var permissionGroupId in PermissionGroupIdSelected) { ReportPermissionGroup permissionGroup = new ReportPermissionGroup(); permissionGroup.PermissionGroupId = permissionGroupId; reportPermissionGroup.Add(permissionGroup); } report.ReportPermissionGroup = reportPermissionGroup; dbSet.Update(report); await context.SaveChangesAsync(); await log.SaveLogApplicationMessage(ControllerName, $"Atualização do relatório com nome {report.Name}."); return(report); } catch (Exception error) { await log.SaveLogApplicationError(ControllerName, $"Erro ao atualizar de relatório com o ID: {report.Id}" + error.ToString()); return(null); } }
public async Task <DatabaseGDR> Update(DatabaseGDR databaseGDR, int[] ReportIdSelected) { try { var reportsRemove = context.ReportDatabaseGDR.Where(x => x.DatabaseGDRId == databaseGDR.Id); context.RemoveRange(reportsRemove); List <ReportDatabaseGDR> reportDatabaseGDRList = new List <ReportDatabaseGDR>(); foreach (var reportId in ReportIdSelected) { ReportDatabaseGDR reportDatabaseGDR = new ReportDatabaseGDR(); reportDatabaseGDR.ReportID = reportId; reportDatabaseGDRList.Add(reportDatabaseGDR); } databaseGDR.ReportDatabaseGDR = reportDatabaseGDRList; databaseGDR.DatabasePassword = Lib.Cipher.Encrypt(databaseGDR.DatabasePassword, databaseGDR.ChangeDate.ToString()); databaseGDR.DatabaseUser = Lib.Cipher.Encrypt(databaseGDR.DatabaseUser, databaseGDR.ChangeDate.ToString()); dbSet.Update(databaseGDR); await context.SaveChangesAsync(); await log.SaveLogApplicationMessage(ControllerName, $"Atualização do de banco de dados com nome {databaseGDR.Name}."); return(databaseGDR); } catch (Exception error) { await log.SaveLogApplicationError(ControllerName, $"Erro ao atualizar de bancos de dados com o ID: {databaseGDR.Id}" + error.ToString()); return(null); } }