void ValidateViewModel(ActivityCNDViewModel model) { if ((model.OutputId > 0 && model.Id == 0) || (model.OutputId == 0 && model.Id > 0)) { throw new ArgumentException("Data inconsistency when creating / updating an activity"); } if (model.Amount <= 0) { throw new ArgumentException("The amount must be positive"); } if (model.NumberOfUnits <= 0) { throw new ArgumentException("The number of units must be a positive integer"); } if (model.RelatedOperation == null) { throw new ArgumentException("There must be a related operation"); } if (model.Theme == null) { throw new ArgumentException("There must be a theme"); } if (model.SupportType == null) { throw new ArgumentException("No support type selected"); } if (model.ActivityGroup == null) { throw new ArgumentException("No activity greoup selected"); } }
public virtual ActionResult SaveActivity(ActivityCNDViewModel model) { var response = new ResponseBase(); try { ValidateViewModel(model); response = _activityCndService.SaveCNDActivity(model, IDBContext.Current.Operation); } catch (ArgumentException e) { Logger.GetLogger().WriteError( "ActivityCNDController", "Error validating the model", e); response.IsValid = false; response.ErrorMessage = e.Message; } return(new JsonResult { Data = response }); }