示例#1
0
        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");
            }
        }
示例#2
0
        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
            });
        }