Exemple #1
0
        public async Task <MtBackendResponse <TradingConditionModel> > AddOrReplaceTradingCondition(
            [FromBody] TradingConditionModel model)
        {
            if (string.IsNullOrWhiteSpace(model.Id))
            {
                return(MtBackendResponse <TradingConditionModel> .Error("Id cannot be empty"));
            }

            if (string.IsNullOrWhiteSpace(model.Name))
            {
                return(MtBackendResponse <TradingConditionModel> .Error("Name cannot be empty"));
            }

            if (string.IsNullOrWhiteSpace(model.LegalEntity))
            {
                return(MtBackendResponse <TradingConditionModel> .Error("LegalEntity cannot be empty"));
            }

            if (_tradingConditionsCacheService.IsTradingConditionExists(model.Id))
            {
                var existingCondition = _tradingConditionsCacheService.GetTradingCondition(model.Id);

                if (existingCondition.LegalEntity != model.LegalEntity)
                {
                    return(MtBackendResponse <TradingConditionModel> .Error("LegalEntity cannot be changed"));
                }
            }

            var tradingCondition = model.ToDomainContract();

            tradingCondition = await _tradingConditionsManager.AddOrReplaceTradingConditionAsync(tradingCondition);

            return(MtBackendResponse <TradingConditionModel> .Ok(tradingCondition?.ToBackendContract()));
        }
Exemple #2
0
 public static ITradingCondition ToDomainContract(this TradingConditionModel src)
 {
     return(new TradingCondition
     {
         Id = src.Id,
         Name = src.Name,
         IsDefault = src.IsDefault,
         LegalEntity = src.LegalEntity
     });
 }