Exemplo n.º 1
0
        public string CreateDashboard(CreateDashboardDto dbDto, User user)
        {
            Dashboard dashEnt = new Dashboard
            {
                DashBoardGUID = CreateGUID.GetGUID(),
                Name          = dbDto.Name,
                Author        = user
            };

            _dashboardRepository.Add(dashEnt);//add után már benne van a Id érték
            _userDashRelRepository.Add(new UserDashboardRel {
                User = user, AuthoryLayer = (int)DashboardUserPermissions.CanModify, Dashboard = dashEnt
            });

            foreach (var rel in dbDto.Reports)
            {
                var report = _reportRepository.Get(rel.ReportGUID);
                if (report == null)
                {
                    continue;
                }
                _reportDashboardRel.Add(new ReportDashboardRel {
                    Dashboard = dashEnt, Report = report, Position = rel.Position
                });
            }
            return(dashEnt.DashBoardGUID);
        }
Exemplo n.º 2
0
 public IActionResult CreateDashboard([FromBody] CreateDashboardDto dbDto)
 {
     try
     {
         if (dbDto == null)
         {
             throw new BasicException("Invalid Dto");
         }
         if (!ModelState.IsValid)
         {
             return(BadRequest(ModelState));
         }
         User user = _userRep.GetByEmailAdd(this.User.Claims.SingleOrDefault(x => x.Type == "EmailAddress").Value);
         var  guid = _manager.CreateDashboard(dbDto, user);
         return(Created(string.Empty, guid));
     }
     catch (BasicException ex)
     {
         _logger.LogError(ex.Message);
         return(BadRequest(ex.Message));
     }
     catch (NotFoundException ex)
     {
         _logger.LogError(ex.Message);
         return(NotFound(ex.Message));
     }
     catch (PermissionException ex)
     {
         _logger.LogError(ex.Message);
         return(Unauthorized());
     }
     catch (Exception ex)
     {
         _logger.LogError(ex.Message);
         return(BadRequest());
     }
 }