private string GetTempTileReportCount(string teamGuid, string userName) { string tileData = Request["TileData"]; if (String.IsNullOrEmpty(tileData)) { return("Querystring:TileData is empty!"); } JavaScriptSerializer jss = new JavaScriptSerializer(); TileViewModel para = jss.Deserialize <TileViewModel>(tileData); AppTile appTile = new AppTeamSiteCustomizedTile(); appTile.logicType = (LogicType)Enum.Parse(typeof(LogicType), para.LogicType); SetAppTitleLogic(para.LogicString, appTile); using (MainDBUnitWorkContext context = new MainDBUnitWorkContext()) { IReportRepository reportRepository = new ReportRepository(context); EditReportService reportService = new EditReportService(reportRepository, null, null, null, null, null); int reportCount = reportService.GetTempTilesWithReportCount(teamGuid, userName, appTile); return(reportCount.ToString()); } }
/// <summary> /// Convert a tile type to apptile type /// </summary> /// <param name="tile"></param> /// <returns></returns> public static AppTile ToAppTile(this Tile tile) { AppTile appTile = null; #region Initial if (tile.Id <= 3) { if (tile.Id == SystemDefinedTile.MyReports_MySubscriptions.SystemDefinedTileId) { appTile = new AppMySubscriptionsTile(); } else if (tile.Id == SystemDefinedTile.MyReports_MyReports.SystemDefinedTileId) { appTile = new AppMyReportsTile(); } else if (tile.Id == SystemDefinedTile.MyReports_MySubscriptions.SystemDefinedTileId) { appTile = new AppMySubscriptionsTile(); } //else //{ // throw new Exception(String.Format("DO NOT support the {0}", tile.Id.ToString())); //} } else { appTile = new AppTeamSiteCustomizedTile(); } #endregion appTile.Id = tile.Id; appTile.Title = tile.Title; appTile.IsCustomized = tile.IsCustomized; appTile.Top = tile.Top; appTile.Left = tile.Left; appTile.Width = tile.Width; appTile.Height = tile.Height; appTile.BackgroundColor = tile.BackgroundColor; appTile.Icon = tile.Icon; appTile.BackgroundImage = tile.BackgroundImage; appTile.ImageOverlayColor = tile.ImageOverlayColor; appTile.ReportCountStyle = tile.ReportCountStyle; appTile.OwnerTeamSiteId = tile.OwnerTeamSiteId; appTile.Status = ChangeStatus.Normal; appTile.TileType = (TileType)(tile.TileType); appTile.logicType = (LogicType)tile.LogicStringType; return(appTile); }
private void UpdateTileInformation() { // Update team site dashboard settings var tileData = Request.Params["TilesData"]; var teamGuid = Request.Params["SiteGUID"].ToString(); // tile data JavaScriptSerializer jss = new JavaScriptSerializer(); List <TileViewModel> paraTileList = jss.Deserialize <List <TileViewModel> >(tileData); // Save the tile data into our database using (MainDBUnitWorkContext context = new MainDBUnitWorkContext()) { TileRepository repository = new TileRepository(context); // Get the team id by its team guid value TeamRepository tRepository = new TeamRepository(context); TeamAppService teamService = new TeamAppService(tRepository); TileQueryLogicRepository tileQueryRepository = new TileQueryLogicRepository(context); int teamId = teamService.GetAllTeamSites().First(_ => _.TeamGuid == Guid.Parse(teamGuid)).Id.Value; //validate the data if (paraTileList.Count() > 24) { throw new ArgumentException("the count of the tile is more than 24"); } foreach (var item in paraTileList) { if (item.coordinateX < 0 || item.coordinateX > 7) { throw new ArgumentException("coordinateX must be between 0 and 7"); } if (item.coordinateY < 0 || item.coordinateY > 2) { throw new ArgumentException("coordinateY must be between 0 and 2"); } if (item.demensionX < 1 || item.demensionX > 8) { throw new ArgumentException("demensionX must be between 1 and 8"); } if (item.demensionY < 1 || item.demensionY > 3) { throw new ArgumentException("demensionY must be between 1 and 3"); } } TileServices tService = new TileServices(repository, null, null, null, null, null, tileQueryRepository); List <AppTile> tiles = new List <AppTile>(); List <AppTile> orignalTiles = tService.GetTilesByTeamId(teamId).ToList(); //tiles will be remove foreach (var item in orignalTiles) { if (!paraTileList.Any(_ => _.id == item.Id)) { if (item.logicType == LogicType.AllReports) { continue; } AppTile appTile = tService.GetTileById(item.Id.Value); appTile.Status = ChangeStatus.Delete; tiles.Add(appTile); } } foreach (var para in paraTileList) { //tiles will be Added if (para.id < 0) { AppTile appTile = new AppTeamSiteCustomizedTile(); appTile.TileType = TileType.TeamSite; appTile.Status = ChangeStatus.Add; appTile.Title = para.title; appTile.Top = para.coordinateY; appTile.Left = para.coordinateX; appTile.Width = para.demensionX; appTile.Height = para.demensionY; appTile.BackgroundColor = para.backgroundColor; appTile.Icon = para.icon; appTile.BackgroundImage = para.backgroundImage; appTile.ImageOverlayColor = para.overlayColor; appTile.ReportCountStyle = para.shownCount; appTile.OwnerTeamSiteId = teamId; appTile.IsCustomized = true; appTile.logicType = (LogicType)Enum.Parse(typeof(LogicType), para.LogicType); SetAppTitleLogic(para.LogicString, appTile); tiles.Add(appTile); } //tiles will be Updated if (para.id > 0) { AppTile appTile = tService.GetTileById(para.id); if (appTile == null) { continue; } appTile.Status = ChangeStatus.Change; appTile.Top = para.coordinateY; appTile.Left = para.coordinateX; appTile.Width = para.demensionX; appTile.Height = para.demensionY; appTile.BackgroundColor = para.backgroundColor; appTile.Icon = para.icon; appTile.BackgroundImage = para.backgroundImage; appTile.ImageOverlayColor = para.overlayColor; appTile.ReportCountStyle = para.shownCount; appTile.IsCustomized = true; if (appTile.logicType != LogicType.AllReports) { appTile.Title = para.title; appTile.logicType = (LogicType)Enum.Parse(typeof(LogicType), para.LogicType); SetAppTitleLogic(para.LogicString, appTile); } tiles.Add(appTile); } } tService.ModifyTile(tiles); } }