コード例 #1
0
        public async Task <PermissionGroup> Update(PermissionGroup permissionGroup, int[] ReportIdSelected)
        {
            try
            {
                var reportsRemove = context.ReportPermissionGroup.Where(x => x.PermissionGroupId == permissionGroup.Id);
                context.RemoveRange(reportsRemove);


                List <ReportPermissionGroup> reportPermissionGroupList = new List <ReportPermissionGroup>();

                foreach (var reportId in ReportIdSelected)
                {
                    ReportPermissionGroup reportPermissionGroup = new ReportPermissionGroup();

                    reportPermissionGroup.ReportID = reportId;
                    reportPermissionGroupList.Add(reportPermissionGroup);
                }

                permissionGroup.ReportPermissionGroup = reportPermissionGroupList;

                dbSet.Update(permissionGroup);
                await context.SaveChangesAsync();

                await log.SaveLogApplicationMessage(ControllerName, $"Atualização do grupo de permissão com nome {permissionGroup.GroupName}.");

                return(permissionGroup);
            }
            catch (Exception error)
            {
                await log.SaveLogApplicationError(ControllerName, $"Erro ao atualizar grupo de permissão com o ID: {permissionGroup.Id}" + error.ToString());

                return(null);
            }
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        public async Task <IActionResult> Create([Bind("GroupName,Domain,AccessType")] PermissionGroup permissionGroup, int[] ReportIdSelected)
        {
            if (ModelState.IsValid)
            {
                foreach (var reportId in ReportIdSelected)
                {
                    ReportPermissionGroup report = new ReportPermissionGroup();
                    report.ReportID = reportId;
                    permissionGroup.ReportPermissionGroup.Add(report);
                }


                permissionGroup.User       = User.Identity.Name;
                permissionGroup.ChangeDate = DateTime.Now;

                bool status = await permissionGroupRepository.Create(permissionGroup);

                return(RedirectToAction(nameof(Index)));
            }


            ViewBag.AccessType = permissionGroupRepository.GetSelectAccessTypeList(permissionGroup.AccessType);
            return(View(permissionGroup));
        }