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); }
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()); } }