/// <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);
     }
 }
Example #2
0
        public ResultMessage AddDealerGroup(DealerGroupV DealerGroup)
        {
            var entity = new DEALER_GROUP {
                Name = DealerGroup.Name
            };

            _domainContext.DEALER_GROUP.Add(entity);
            try
            {
                _domainContext.SaveChanges();
                return(new ResultMessage {
                    Id = entity.Id, LastMessage = "Operation Succeeded!", OperationSucceed = true, ActionLog = "Operation Succeeded!: " + DealerGroup.Name
                });
            }
            catch (Exception ex)
            {
                return(new ResultMessage {
                    Id = 0, LastMessage = "Operation Failed! please check log", OperationSucceed = false, ActionLog = ex.InnerException != null ? ex.Message + "Inner Exception: " + ex.InnerException.Message : ex.Message
                });
            }
        }