private static int AddDynamicColumnInstant(RegistrationFormAdminDetailView parent, int eventRegistrationEntityId, SubEntityRecord record) { var dataSize = CommonUtils.GetFieldValue(record.Fields, _maxSize); var addRequest = new AddDynamicColumnInstanceRequest { EntityId = eventRegistrationEntityId, Name = CommonUtils.GetFieldValue(record.Fields, _fieldName), FormLabel = CommonUtils.GetFieldValue(record.Fields, _fieldLabel), DataType = CommonUtils.GetFieldValue(record.Fields, _dataType), IsRequired = bool.Parse(CommonUtils.GetFieldValue(record.Fields, _isRequired)), IsMultiline = bool.Parse(CommonUtils.GetFieldValue(record.Fields, _isMultiLine)), DataSize = string.IsNullOrEmpty(dataSize) ? new int?() : int.Parse(dataSize), DropDownValues = CommonUtils.GetFieldValue(record.Fields, _dropdownOptions), FormOrder = 1 }; addRequest.SelectSqlText = GetSelectSqlText(addRequest.Name, addRequest.DataType, addRequest.DataSize); var response = parent.ProcessRequest<AddDynamicColumnInstanceResponse>(addRequest); if (response.Id == 0 && response.Message == StatusMessage.DuplicateData) { throw new BusinessException("A Dynamic Column already exists with the specified name"); } return response.Id; }
private void Save() { _dynamicColumnId = int.Parse(CommonUtils.GetFieldValue(_viewModel.Fields, _id), CultureInfo.InvariantCulture); var maxSize = CommonUtils.GetFieldValue(_viewModel.Fields, _maxSize); int dataSize = 0; if (!string.IsNullOrEmpty(maxSize) && !int.TryParse(maxSize, out dataSize)) throw new BusinessException("Max Size must be a valid integer"); try { if (_dynamicColumnId == 0) { var addRequest = new AddDynamicColumnInstanceRequest(); addRequest.EntityId = _moduleUtils.DynamicColumnEntityId.Value; addRequest.Name = CommonUtils.GetFieldValue(_viewModel.Fields, _fieldName); addRequest.FormLabel = CommonUtils.GetFieldValue(_viewModel.Fields, _fieldLabel); addRequest.DataType = CommonUtils.GetFieldValue(_viewModel.Fields, _dataType); addRequest.IsRequired = bool.Parse(CommonUtils.GetFieldValue(_viewModel.Fields, _isRequired)); addRequest.IsMultiline = bool.Parse(CommonUtils.GetFieldValue(_viewModel.Fields, _isMultiLine)); addRequest.DataSize = dataSize == 0 ? new int?() : dataSize; addRequest.DropDownValues = CommonUtils.GetFieldValue(_viewModel.Fields, _dropdownOptions); addRequest.SelectSqlText = GetSelectSqlText(addRequest.Name, addRequest.DataType, addRequest.DataSize); addRequest.FormOrder = 1; ValidateAddUpdateRequest(addRequest); var response = ProcessRequest<AddDynamicColumnInstanceResponse>(addRequest); if (response.Id == 0 && response.Message == StatusMessage.DuplicateData) { throw new BusinessException("A Dynamic Column already exists with the specified name"); } else { _dynamicColumnId = response.Id; } } else { if (_viewModel.Action == RecordActions.Edited) { var updateRequest = new UpdateDynamicColumnInstanceRequest(); updateRequest.EntityId = _moduleUtils.DynamicColumnEntityId.Value; updateRequest.Id = _dynamicColumnId; updateRequest.Name = CommonUtils.GetFieldValue(_viewModel.Fields, _fieldName); updateRequest.FormLabel = CommonUtils.GetFieldValue(_viewModel.Fields, _fieldLabel); updateRequest.DataType = CommonUtils.GetFieldValue(_viewModel.Fields, _dataType); updateRequest.IsRequired = bool.Parse(CommonUtils.GetFieldValue(_viewModel.Fields, _isRequired)); updateRequest.IsMultiline = bool.Parse(CommonUtils.GetFieldValue(_viewModel.Fields, _isMultiLine)); updateRequest.DataSize = dataSize == 0 ? new int?() : dataSize; updateRequest.DropDownValues = CommonUtils.GetFieldValue(_viewModel.Fields, _dropdownOptions); updateRequest.SelectSqlText = GetSelectSqlText(updateRequest.Name, updateRequest.DataType, updateRequest.DataSize); updateRequest.FormOrder = 1; ValidateAddUpdateRequest(updateRequest); ProcessRequest<UpdateDynamicColumnInstanceResponse>(updateRequest); } } } catch (Exception ex) { throw new BusinessException(ex.Message); } }