public void Create_sp(CharacterDashboardLayout model, string UserId, int old_CharacterDashboardLayoutId) { string consString = _configuration.GetSection("ConnectionStrings").GetSection("DefaultConnection").Value; using (SqlConnection con = new SqlConnection(consString)) { using (SqlCommand cmd = new SqlCommand("Character_DuplicateLayout_And_Page")) { cmd.CommandType = CommandType.StoredProcedure; cmd.Connection = con; cmd.Parameters.AddWithValue("@CharacterLayoutID", model.CharacterDashboardLayoutId); cmd.Parameters.AddWithValue("@OldCharacterDashboardLayoutId", old_CharacterDashboardLayoutId); cmd.Parameters.AddWithValue("@CharacterId", model.CharacterId); cmd.Parameters.AddWithValue("@UserId", UserId); cmd.Parameters.AddWithValue("@IsDuplicatingLayout", true); con.Open(); try { var a = cmd.ExecuteNonQuery(); } catch (Exception ex) { con.Close(); throw ex; } con.Close(); //return true; } } }
public async Task <List <CharacterDashboardLayout> > GetByCharacterId(int characterId, int page = -1, int pageSize = -1) { List <CharacterDashboardLayout> CharacterDashboardLayouts = null; if (page > 0 && pageSize > 0) { CharacterDashboardLayouts = _context.CharacterDashboardLayouts .Include(d => d.CharacterDashboardPages) .Where(x => x.CharacterId == characterId && x.IsDeleted != true).OrderBy(x => x.SortOrder).Skip(pageSize * (page - 1)).Take(pageSize).ToList(); } else { CharacterDashboardLayouts = _context.CharacterDashboardLayouts .Include(d => d.CharacterDashboardPages) .Where(x => x.CharacterId == characterId && x.IsDeleted != true).OrderBy(x => x.SortOrder).ToList(); } if (CharacterDashboardLayouts == null) { return(CharacterDashboardLayouts); } foreach (CharacterDashboardLayout cdl in CharacterDashboardLayouts) { cdl.CharacterDashboardPages = cdl.CharacterDashboardPages.Where(p => p.IsDeleted != true).OrderBy(x => x.SortOrder).ToList(); } CharacterDashboardLayout _characterDashboardLayout = GetSharedLayoutByCharacterId(characterId); if (_characterDashboardLayout != null) { CharacterDashboardLayouts.Add(_characterDashboardLayout); } return(CharacterDashboardLayouts); }
public async Task <CharacterDashboardLayout> Create(CharacterDashboardLayout item) { //item.IsDefaultComputer = false; //item.IsDefaultTablet = false; //item.IsDefaultMobile = false; return(await _repo.Add(item)); }
private void RemoveDefaultComputerDeviceFromOtherLayouts(CharacterDashboardLayout CDL) { var layouts = _context.CharacterDashboardLayouts.Where(x => x.CharacterDashboardLayoutId != CDL.CharacterDashboardLayoutId && x.CharacterId == CDL.CharacterId && x.IsDeleted != true).ToList(); foreach (var item in layouts) { item.IsDefaultComputer = false; } _context.SaveChanges(); }
public CharacterDashboardLayout GetById(int?id) { CharacterDashboardLayout CharacterDashboardLayout = _context.CharacterDashboardLayouts .Include(d => d.CharacterDashboardPages) .Where(x => x.CharacterDashboardLayoutId == id && x.IsDeleted != true).SingleOrDefault(); if (CharacterDashboardLayout == null) { return(CharacterDashboardLayout); } CharacterDashboardLayout.CharacterDashboardPages = CharacterDashboardLayout.CharacterDashboardPages.Where(p => p.IsDeleted != true).OrderBy(x => x.SortOrder).ToList(); return(CharacterDashboardLayout); }
public async Task <CharacterDashboardLayout> Update(CharacterDashboardLayout item) { var CharacterDashboardLayout = await _repo.Get(item.CharacterDashboardLayoutId); if (CharacterDashboardLayout == null) { return(CharacterDashboardLayout); } CharacterDashboardLayout.Name = item.Name; CharacterDashboardLayout.DefaultPageId = item.DefaultPageId; CharacterDashboardLayout.LayoutHeight = item.LayoutHeight; CharacterDashboardLayout.LayoutWidth = item.LayoutWidth; CharacterDashboardLayout.IsDefaultComputer = item.IsDefaultComputer; CharacterDashboardLayout.IsDefaultTablet = item.IsDefaultTablet; CharacterDashboardLayout.IsDefaultMobile = item.IsDefaultMobile; try { await _repo.Update(CharacterDashboardLayout); /////////////////////////////////////////////// if (CharacterDashboardLayout.IsDefaultComputer) { RemoveDefaultComputerDeviceFromOtherLayouts(CharacterDashboardLayout); } if (CharacterDashboardLayout.IsDefaultTablet) { RemoveDefaultTabletDeviceFromOtherLayouts(CharacterDashboardLayout); } if (CharacterDashboardLayout.IsDefaultMobile) { RemoveDefaultMobileDeviceFromOtherLayouts(CharacterDashboardLayout); } } catch (Exception ex) { throw ex; } return(CharacterDashboardLayout); }
public void UpdateDefaultLayout(int layoutId, int characterID = 0) { try { CharacterDashboardLayout layout = null; var allLayouts = new List <CharacterDashboardLayout> (); if (layoutId == -1) { layout = new CharacterDashboardLayout(); allLayouts = _context.CharacterDashboardLayouts .Where(x => x.CharacterId == characterID && x.IsDeleted != true).OrderBy(x => x.SortOrder).ToList(); } else { layout = _context.CharacterDashboardLayouts.Where(x => x.CharacterDashboardLayoutId == layoutId).FirstOrDefault(); if (layout != null) { allLayouts = _context.CharacterDashboardLayouts .Where(x => x.CharacterId == layout.CharacterId && x.IsDeleted != true).OrderBy(x => x.SortOrder).ToList(); } } if (layout != null) { foreach (var _layout in allLayouts) { _layout.IsDefaultLayout = false; } layout.IsDefaultLayout = true; _context.SaveChanges(); } } catch (Exception ex) { throw ex; } }
public CharacterDashboardLayout GetSharedLayoutByCharacterId(int characterId) { CharacterDashboardLayout sharedCharacterDashboardLayouts = new CharacterDashboardLayout(); int?rulesetId = _context.Characters.Where(x => x.CharacterId == characterId).Select(x => x.RuleSetId).FirstOrDefault(); List <RulesetDashboardLayout> ruleSetDashboardLayout = new List <RulesetDashboardLayout>(); ruleSetDashboardLayout = _context.RulesetDashboardLayouts .Include(d => d.RulesetDashboardPages) .Where(x => x.RulesetId == rulesetId && x.IsSharedLayout == true && x.IsDeleted != true).ToList(); if (ruleSetDashboardLayout.Count == 0 && _context.PlayerInvites.Where(x => x.PlayerCharacterID == characterId).Any()) { //in case dashboard has no layout & page create shared layout var _layout = _rulesetDashboardLayoutService.Create( new RulesetDashboardLayout() { Name = Const.SharedLayoutName, SortOrder = 1, LayoutHeight = 1280, LayoutWidth = 768, RulesetId = rulesetId, IsSharedLayout = true, IsDefaultLayout = false }).Result; var _RulesetDashboardPage = _rulesetDashboardPageService.Create(new RulesetDashboardPage() { RulesetDashboardLayoutId = _layout.RulesetDashboardLayoutId, Name = "Page1", ContainerWidth = 1280, ContainerHeight = 768, SortOrder = 1, RulesetId = rulesetId }).Result; _layout.DefaultPageId = _RulesetDashboardPage.RulesetDashboardPageId; var result = _rulesetDashboardLayoutService.Update(_layout).Result; // listLayout = await _rulesetDashboardLayoutService.GetByRulesetId(rulesetId, page, pageSize); ruleSetDashboardLayout.Add(result); } if (ruleSetDashboardLayout.Any()) { sharedCharacterDashboardLayouts = ruleSetDashboardLayout .Select(x => new CharacterDashboardLayout() { CharacterDashboardLayoutId = -1, CharacterDashboardPages = ruleSetDashboardLayout.FirstOrDefault().RulesetDashboardPages.Where(p => p.IsDeleted != true).Select(y => new CharacterDashboardPage() { BodyBgColor = y.BodyBgColor, BodyTextColor = y.BodyTextColor, //Character, CharacterDashboardLayoutId = -1, CharacterDashboardPageId = y.RulesetDashboardPageId, CharacterId = characterId, ContainerHeight = y.ContainerHeight, ContainerWidth = y.ContainerWidth, IsDeleted = y.IsDeleted, // Layout, Name = y.Name, SortOrder = y.SortOrder, // Tiles, TitleBgColor = y.TitleBgColor, TitleTextColor = y.TitleTextColor }).ToList(), CharacterId = characterId, DefaultPageId = x.DefaultPageId, IsDefaultComputer = x.IsDefaultComputer, IsDefaultMobile = x.IsDefaultMobile, IsDefaultLayout = true, IsDefaultTablet = x.IsDefaultTablet, IsDeleted = x.IsDeleted, LayoutHeight = x.LayoutHeight, LayoutWidth = x.LayoutWidth, Name = x.Name, SortOrder = x.SortOrder }) .FirstOrDefault(); return(sharedCharacterDashboardLayouts); } return(null); }