public ValidationResult ValidateResource(EditTradeDTO editTradeDTO)
        {
            var result = new ValidationResult();

            if (editTradeDTO != null)
            {
                var validator = new TradeValidator();
                var vr        = validator.Validate(editTradeDTO);
                if (vr.IsValid)
                {
                    result.IsValid = true;
                    return(result);
                }

                if (vr.Errors.Any())
                {
                    foreach (var error in vr.Errors)
                    {
                        result.ErrorMessages.Add(error.PropertyName, error.ErrorMessage);
                    }
                }
            }

            return(result);
        }
        // edit
        public void Update(int Id, EditTradeDTO editTradeDTO)
        {
            var updateTrade = _tradeRepository.FindById(Id);

            if (updateTrade != null && editTradeDTO != null)
            {
                _tradeRepository.Update(Id, _mapper.Map(editTradeDTO, updateTrade));
            }
        }
 public void Update(int tradeId, [FromBody] EditTradeDTO tradeDTO)
 {
     try
     {
         _tradeService.Update(tradeId, tradeDTO);
     }
     catch (Exception)
     {
         // Implement logging MS
         //throw StatusCode(500, "Internal server error");
     }
 }
        // add
        public TradeDTO Add(EditTradeDTO editTradeDTO)
        {
            if (editTradeDTO == null)
            {
                throw new ArgumentException();
            }

            var currentTrade = _mapper.Map <Trade>(editTradeDTO);

            try
            {
                _tradeRepository.Insert(currentTrade);
            }
            catch (Exception)
            {
                throw;
            }
            return(_mapper.Map <TradeDTO>(currentTrade));
        }
        public void Create([FromBody] EditTradeDTO tradeDTO)
        {
            try
            {
                var result = _tradeService.ValidateResource(tradeDTO);
                if (!result.IsValid)
                {
                }

                if (result.IsValid)
                {
                    _tradeService.Add(tradeDTO);
                }
            }
            catch (Exception)
            {
                // Implement logging MS
                //throw StatusCode(500, "Internal server error");
            }
        }