Exemplo n.º 1
0
        private void SaveToDB(MobicomMerchantReport.MerchantReport report)
        {
            foreach (var reportMerchant in report.Merchant)
            {
                Merchant merchant = _entities.Merchants.SingleOrDefault(m => m.Code == reportMerchant.id && m.BankId == _bank.Id);
                if (merchant == null)
                {
                    merchant      = _entities.Merchants.CreateObject();
                    merchant.Id   = Guid.NewGuid();
                    merchant.Bank = _bank;
                    _entities.AddToMerchants(merchant);
                }

                merchant.CreateTime = reportMerchant.CreateTime;
                merchant.EditTime   = reportMerchant.EditTime;
                merchant.CloseTime  = reportMerchant.CloseTime;
                merchant.OwnerId    = reportMerchant.Owner.id;
                merchant.Name       = reportMerchant.name;
                merchant.Code       = reportMerchant.id;


                foreach (var reportProvider in reportMerchant.ProviderLinks)
                {
                    var operatorId          = GetOperatorIdByCode(reportProvider.id);
                    Merchants2Operators m2o = _entities.Merchants2Operators.SingleOrDefault(i => i.Merchant.Id == merchant.Id && i.OperatorParameter.Code == reportProvider.id);
                    OperatorParameter   operatorParameter;
                    if (m2o == null)
                    {
                        operatorParameter    = _entities.OperatorParameters.CreateObject();
                        operatorParameter.Id = Guid.NewGuid();

                        _entities.AddToOperatorParameters(operatorParameter);

                        m2o                   = _entities.Merchants2Operators.CreateObject();
                        m2o.Id                = Guid.NewGuid();
                        m2o.Merchant          = merchant;
                        m2o.OperatorParameter = operatorParameter;
                        m2o.BrandId           = operatorId;

                        _entities.AddToMerchants2Operators(m2o);
                    }
                    else
                    {
                        operatorParameter = m2o.OperatorParameter;
                    }

                    operatorParameter.Code            = reportProvider.id;
                    operatorParameter.ProviderCode    = reportProvider.Category.providerCode;
                    operatorParameter.MinAmount       = reportProvider.Category.MinAmount;
                    operatorParameter.MaxAmount       = reportProvider.Category.MaxAmount;
                    operatorParameter.AbonentInterest = reportProvider.Category.AbonentInterest;
                    operatorParameter.Active          = reportProvider.Category.active;
                }
            }
            _entities.SaveChanges();
        }
Exemplo n.º 2
0
 private void TrySaveChanges()
 {
     try
     {
         _storage.SaveChanges();
     }
     catch (Exception e)
     {
         EventLog.WriteEntry("UniplatServiceWCF", "Ошибка сохранения данных в БД : " + e, EventLogEntryType.Error);
         _storage = new UPSEntities();
     }
 }