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())); }
public static ITradingCondition ToDomainContract(this TradingConditionModel src) { return(new TradingCondition { Id = src.Id, Name = src.Name, IsDefault = src.IsDefault, LegalEntity = src.LegalEntity }); }