public static AccountGroup DecorateAccountGroup(ACCOUNT_GROUP ag, DEALER_GROUP dealerGroup) { var group = DecorateAccountGroup(ag); if (dealerGroup == null) return group; group.MessageQueue = dealerGroup.MessageQueue; group.SessionName = dealerGroup.SessionName; group.HedgingAccount = dealerGroup.HedgingAccount; group.SenderCompId = dealerGroup.SenderCompId; group.Markup = (AccountGroup.MarkupType)ag.MarkupType; group.DefaultMarkupPoints = (float)ag.DefaultMarkupPoints; group.Dealer = new DealerDescription { Code = dealerGroup.Dealer }; return group; }
public static AccountGroup DecorateAccountGroup(ACCOUNT_GROUP ag, DEALER_GROUP dealerGroup) { var group = DecorateAccountGroup(ag); if (dealerGroup == null) { return(group); } group.MessageQueue = dealerGroup.MessageQueue; group.SessionName = dealerGroup.SessionName; group.HedgingAccount = dealerGroup.HedgingAccount; group.SenderCompId = dealerGroup.SenderCompId; group.Markup = (AccountGroup.MarkupType)ag.MarkupType; group.DefaultMarkupPoints = (float)ag.DefaultMarkupPoints; group.Dealer = new DealerDescription { Code = dealerGroup.Dealer }; return(group); }
/// <summary> /// обновление данных о том, какой дилер управляет группой счетов /// ищем в "DEALER_GROUP" завись с "AccountGroup == groupCode" и меняем её "Dealer" на указанный "dealerCode" /// </summary> /// <param name="groupCode">Новая группа счетов для дилера</param> /// <param name="dealerCode">Код дилера</param> public bool UpdateDealerForAccountGroup(string groupCode, string dealerCode) { Logger.Info(string.Format("попытка обновления группы счетов {0} дилера {1}", groupCode, dealerCode)); try { using (var ctx = DatabaseContext.Instance.Make()) { var dealerGroup = ctx.DEALER_GROUP.FirstOrDefault(x => x.ACCOUNT_GROUP.Code == groupCode); #region if (dealerGroup == null) { ctx.DEALER_GROUP.Add(new DEALER_GROUP { Dealer = dealerCode, AccountGroup = groupCode }); } else { var newDealerGroup = new DEALER_GROUP { Dealer = dealerCode, AccountGroup = groupCode, HedgingAccount = dealerGroup.HedgingAccount, MessageQueue = dealerGroup.MessageQueue, SenderCompId = dealerGroup.SenderCompId, SessionName = dealerGroup.SessionName }; try { ctx.DEALER_GROUP.Remove(dealerGroup); ctx.DEALER_GROUP.Add(newDealerGroup); } catch (Exception ex) { Logger.Error(string.Format("Не удалось обновить дилера {0}", groupCode), ex); return false; } } #endregion ctx.SaveChanges(); Logger.Info(string.Format("В группе {1} удачно обновлён дилер на {0}", dealerCode, groupCode)); return true; } } catch (Exception ex) { Logger.Error(string.Format("Не удалось обновить в группе счетов {0} дилера {1}", groupCode, dealerCode), ex); return false; } }