public async Task <EntityEntry <MarketGroup> > AddOrUpdateAsync(MarketGroup entity) { var exists = await FindAsync <MarketGroup>(entity.MarketGroupId); if (exists == null) { return(Add(entity)); } else { Entry(exists).CurrentValues.SetValues(entity); return(Entry(entity)); } }
public bool MarketGroupSave(MarketGroup obj) { bool retVal = true; string procName = ""; if (obj.Type == "Master") { procName = (obj.Id == 0 ? "dbo.OXO_Master_MarketGroup_New" : "dbo.OXO_Master_MarketGroup_Edit"); } else { procName = (obj.Id == 0 ? "dbo.OXO_Programme_MarketGroup_New" : "dbo.OXO_Programme_MarketGroup_Edit"); } using (IDbConnection conn = DbHelper.GetDBConnection()) { try { obj.Save(CurrentCDSID); var para = new DynamicParameters(); para.Add("@p_Group_Name", obj.GroupName, DbType.String, size: 500); if (obj.Type != "Master") { para.Add("@p_prog_id", obj.ProgrammeId, DbType.Int32); } para.Add("@p_Active", obj.Active, DbType.Boolean); para.Add("@p_Display_Order", obj.DisplayOrder, DbType.Int32); para.Add("@p_Created_By", obj.CreatedBy, DbType.String, size: 8); para.Add("@p_Created_On", obj.CreatedOn, DbType.DateTime); para.Add("@p_Updated_By", obj.UpdatedBy, DbType.String, size: 8); para.Add("@p_Last_Updated", obj.LastUpdated, DbType.DateTime); para.Add("@p_Id", obj.Id, DbType.Int32, ParameterDirection.InputOutput); conn.Execute(procName, para, commandType: CommandType.StoredProcedure); if (obj.Id == 0) { obj.Id = para.Get <int>("@p_Id"); } } catch (Exception ex) { Log.Error(ex); throw; } } return(retVal); }
/// <summary> /// Create the tree nodes for the given category and add them to the given nodes collection. /// </summary> /// <param name="group"></param> /// <param name="nodeCollection"></param> /// <returns></returns> private int BuildSubtree(MarketGroup group, TreeNodeCollection nodeCollection) { // Total items count in this category and its subcategories int result = 0; // Add all subcategories foreach (MarketGroup childGroup in group.SubGroups) { TreeNode node = new TreeNode { Text = childGroup.Name, Tag = childGroup }; // Add this subcategory's items count result += BuildSubtree(childGroup, node.Nodes); // Only add if this subcategory has children if (node.GetNodeCount(true) > 0) { nodeCollection.Add(node); } } // Add all items foreach (TreeNode node in group.Items .Where(x => UsabilityPredicate(x) && m_slotPredicate(x) && m_metaGroupPredicate(x) && m_fittingPredicate(x)) .Select(childItem => new TreeNode { Text = childItem.Name, Tag = childItem })) { nodeCollection.Add(node); result++; } return(result); }
public MarketGroup MarketGroupGet(string type, int id, int progid = 0, int docid = 0, bool deepGet = false) { MarketGroup retVal = null; string procName = (type == "Master" ? "dbo.OXO_Master_MarketGroup_Get" : "dbo.OXO_Programme_MarketGroup_Get"); using (IDbConnection conn = DbHelper.GetDBConnection()) { try { var para = new DynamicParameters(); para.Add("@p_Id", id, DbType.Int32); if (type != "Master") { para.Add("@p_prog_id", progid, DbType.Int32); para.Add("@p_doc_id", docid, DbType.Int32); } para.Add("@p_deep_get", deepGet, DbType.Boolean); using (var multi = conn.QueryMultiple(procName, para, commandType: CommandType.StoredProcedure)) { retVal = multi.Read <MarketGroup>().FirstOrDefault(); if (deepGet) { var markets = multi.Read <Market>().ToList(); if (retVal != null) { retVal.Markets = markets.ToList(); } } } } catch (Exception ex) { Log.Error(ex); throw; } } return(retVal); }
/// <summary> /// Recursively creates tree nodes for the children market groups of the given group. /// The added items will be the ones which require the current skill (<see cref="m_skill"/>) at the specified level. /// </summary> /// <param name="marketGroup">The market group.</param> /// <param name="items">The items.</param> /// <returns></returns> private IEnumerable <TreeNode> CreateMarketGroupsNode(MarketGroup marketGroup, IEnumerable <Item> items) { // Add categories foreach (MarketGroup category in marketGroup.SubGroups) { IEnumerable <TreeNode> children = CreateMarketGroupsNode(category, items); if (children.IsEmpty()) { continue; } TreeNode node = new TreeNode(category.Name); node.Nodes.AddRange(children.ToArray()); yield return(node); } // Add items foreach (Item item in items.Where(x => x.MarketGroup == marketGroup)) { yield return(CreateNode(item, item.Prerequisites.ToCharacter(m_character))); } }
private void MarketGoupsPage_PageUpdated(object page) { List <int> groups = new List <int>(); lock (this) { if (items.Count > 0) { // Copy the list. groups = new List <int>(items); } } // Release the lock before creating more items that might cause deadlocks. foreach (int groupID in groups) { if (!marketGroups.ContainsKey(groupID)) { marketGroups[groupID] = new MarketGroup(groupID); } marketGroups[groupID].ScheduleRefresh(); } }
/// <summary> /// Create the tree nodes for the given caegory and add them to the given nodes collection /// </summary> /// <param name="cat"></param> /// <param name="nodeCollection"></param> /// <returns></returns> private int BuildSubtree(MarketGroup group, TreeNodeCollection nodeCollection) { // Total items count in this cateory and its subcategories int result = 0; // Add all subcategories var subcategories = group.SubGroups; foreach (MarketGroup childGroup in subcategories) { TreeNode tn = new TreeNode(); tn.Text = childGroup.Name; // add this subcateory's items count result += BuildSubtree(childGroup, tn.Nodes); // Only add if this subcategory has children if (tn.GetNodeCount(true) > 0) { nodeCollection.Add(tn); } } // Add all items var items = group.Items.Where( x => m_slotPredicate(x) && m_metaGroupPredicate(x) && m_fittingPredicate(x) && m_usabilityPredicate(x)); foreach (Item childItem in items) { TreeNode tn = new TreeNode(); tn.Text = childItem.Name; tn.Tag = childItem; nodeCollection.Add(tn); result++; } return(result); }
private static MarketGroup GetMarketGroup(IDataContext context, MarketGroup forMarketGroup, OXODoc forDocument) { MarketGroup marketGroup = null; var cacheKey = string.Format("MarketGroup_{0}", forMarketGroup.Id); var cachedLookup = HttpContext.Current.Cache.Get(cacheKey); if (cachedLookup != null) { marketGroup = (MarketGroup)cachedLookup; } else { marketGroup = context.Market.GetMarketGroup(new VolumeFilter() { MarketGroupId = forMarketGroup.Id, OxoDocId = forDocument.Id, ProgrammeId = forDocument.ProgrammeId }); if (!(marketGroup is EmptyMarketGroup) && marketGroup.Id != 0) { HttpContext.Current.Cache.Add(cacheKey, marketGroup, null, DateTime.Now.AddMinutes(60), Cache.NoSlidingExpiration, CacheItemPriority.Default, null); } } return(marketGroup); }
/// <summary> /// Create the tree nodes for the given group and add them to the given nodes collection /// </summary> /// <param name="group"></param> /// <param name="nodeCollection"></param> /// <returns></returns> private int BuildSubtree(MarketGroup group, TreeNodeCollection nodeCollection) { // Total items count in this category and its subcategories int result = 0; // Add all subcategories foreach (MarketGroup childGroup in group.SubGroups) { TreeNode node = new TreeNode() { Text = childGroup.Name }; // Add this subcategory's items count result += BuildSubtree(childGroup, node.Nodes); // Only add if this subcategory has children if (node.GetNodeCount(true) > 0) { nodeCollection.Add(node); } } // Add all items foreach (Item childItem in group.Items.Where(m_usabilityPredicate).Where(m_racePredicate)) { TreeNode node = new TreeNode() { Text = childItem.Name, Tag = childItem }; nodeCollection.Add(node); result++; } return(result); }
bool IEveRepository.TryGetMarketGroupById(MarketGroupId id, out MarketGroup value) { throw new NotImplementedException(); }
public FixExchange[] GetFixExchangeInfo() { List <FixExchange> exchanges = new List <FixExchange>(); string query = "select * from exchanges"; DBManager db = new DBManager(DataProvider.SqlServer, SystemConfigurations.GetConnectionString("BasicDataDBConnectionString")); db.Open(); DataSet ds = db.ExecuteDataSet(System.Data.CommandType.Text, query); //string today = DateTime.Today.DayOfWeek.ToString(); foreach (DataRow rowExchange in ds.Tables[0].Rows) { FixExchange exchange = new FixExchange(); exchange.ExchangeID = rowExchange["ExchangeID"].ToString(); exchange.NameAr = rowExchange["NameAr"].ToString(); exchange.NameEn = rowExchange["NameEn"].ToString(); List <ExchangeMarket> markets = new List <ExchangeMarket>(); string queryMarkets = string.Format("select * from Exchanges_Markets where exchangeid = '{0}'", exchange.ExchangeID); DataTable dtMarkets = db.ExecuteDataSet(System.Data.CommandType.Text, queryMarkets).Tables[0]; foreach (DataRow rowMarket in dtMarkets.Rows) { ExchangeMarket market = new ExchangeMarket(); market.ExchangeID = exchange.ExchangeID; market.MarketID = rowMarket["MarketID"].ToString(); market.NameAr = rowMarket["NameAr"].ToString(); market.NameEn = rowMarket["NameEn"].ToString(); string queryGroups = string.Format("select * from Markets_Groups where exchangeid = '{0}' and marketid = '{1}';", exchange.ExchangeID, market.MarketID); DataTable dtGroups = db.ExecuteDataSet(System.Data.CommandType.Text, queryGroups).Tables[0]; List <MarketGroup> groups = new List <MarketGroup>(); foreach (DataRow rowGroup in dtGroups.Rows) { MarketGroup group = new MarketGroup(); group.ExchangeID = exchange.ExchangeID; group.MarketID = market.MarketID; group.GroupID = rowGroup["GroupID"].ToString(); List <GroupSession> sessions = new List <GroupSession>(); string querySessions = string.Format("select * from Markets_Groups_Sessions where exchangeid = '{0}' and marketid = '{1}' and groupid = '{2}';", exchange.ExchangeID, market.MarketID, group.GroupID); DataTable dtSessions = db.ExecuteDataSet(System.Data.CommandType.Text, querySessions).Tables[0]; foreach (DataRow rowSessions in dtSessions.Rows) { GroupSession session = new GroupSession(); session.ExchangeID = exchange.ExchangeID; session.GroupID = group.GroupID; session.MarketID = market.MarketID; session.SessionStartTime = (DateTime)rowSessions["SessionStartTime"]; session.SessionEndTime = (DateTime)rowSessions["SessionEndTime"]; session.WorkingDays = rowSessions["WorkingDays"].ToString(); sessions.Add(session); } group.Sessions = sessions.ToArray(); groups.Add(group); } market.Groups = groups.ToArray(); markets.Add(market); } exchange.Markets = markets.ToArray(); exchanges.Add(exchange); } db.Close(); db = null; return(exchanges.ToArray()); }