public ActionResult Edit(Guid? id)
 {
   var ExchangeRate = new ExchangeRateModel();
   if (id != null)
     ExchangeRate = Mapper.Map<ExchangeRateDTO, ExchangeRateModel>(_exchangeRateReportService.GetById((Guid)id));
   return View("Edit", ExchangeRate);
 }
      public ActionResult Edit(ExchangeRateModel model)
      {
        if (!ModelState.IsValid)
        {
          return ModelState.JsonValidation();
        }

        try
        {
          Save(model);
          return ModelState.JsonValidation(new { Success = true, model.ExchangeRateId });
        }
        catch (Exception ex)
        {
          ModelState.AddModelError("Edit_exchangeRate", ex.Message);
        }
        return ModelState.JsonValidation();
      }
 private void Save(ExchangeRateModel model)
 {
   if (model.ExchangeRateId == Guid.Empty)
   {
     var createCommand = new AddExchangeRateCommand(model.Name,model.Price);
     model.ExchangeRateId = _exchangeRateCommandService.AddExchangeRate(createCommand);
   }
   else
   {
     var updateCommand = new EditExchangeRateCommand(model.ExchangeRateId,model.Name, model.Price);
     _exchangeRateCommandService.EditExchangeRate(updateCommand);
   }
 }