protected void childListControl_InstanceRowDeleting(object sender, InstanceRowDeletingEventArgs e) { if (e.InstanceType == ChildListType.SubjectFieldInfo.ToString()) { SubjectFieldInfoDto currentField = e.Instance as SubjectFieldInfoDto; IFacadeUpdateResult <SubjectData> result = DeleteSubjectField(CurrentSubject.Id, currentField.SubjectFieldId); e.IsSuccessful = result.IsSuccessful; if (result.IsSuccessful) { // Refresh data in session RetrieveSubjectFieldInfos(); } else { ProcUpdateResult(result.ValidationResult, result.Exception); } } else if (e.InstanceType == ChildListType.SubjectChildList.ToString()) { IFacadeUpdateResult <SubjectData> result = DeleteSubjectChildList(CurrentSubject.Id, e.Instance.Id); e.IsSuccessful = result.IsSuccessful; if (result.IsSuccessful) { // Refresh data in session RetrieveSubject(); } else { ProcUpdateResult(result.ValidationResult, result.Exception); } } }
private IFacadeUpdateResult <SubjectData> SaveSubjectField(object subjectId, SubjectFieldInfoDto subjectFieldInfo) { if (subjectFieldInfo.SubjectFieldId == null) { subjectFieldInfo.FieldKey = subjectFieldInfo.TableColumn; } using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey)) { SubjectFacade subjectFacade = new SubjectFacade(uow); IFacadeUpdateResult <SubjectData> result = subjectFacade.SaveSubjectField(subjectId, subjectFieldInfo); return(result); } }
public IFacadeUpdateResult <SubjectData> SaveSubjectField(object subjectId, SubjectFieldInfoDto info) { UnitOfWork.BeginTransaction(); IFacadeUpdateResult <SubjectData> result = SubjectSystem.SaveSubjectField(subjectId, info); if (result.IsSuccessful) { UnitOfWork.CommitTransaction(); } else { UnitOfWork.RollbackTransaction(); } return(result); }
internal IFacadeUpdateResult <SubjectData> SaveSubjectField(object subjectId, SubjectFieldInfoDto fieldInfoDto) { ArgumentValidator.IsNotNull("fieldInfoDto", fieldInfoDto); ArgumentValidator.IsNotNull("subjectId", subjectId); FacadeUpdateResult <SubjectData> result = new FacadeUpdateResult <SubjectData>(); ISubjectService subjectService = UnitOfWork.GetService <ISubjectService>(); var subjectQuery = subjectService.Retrieve(subjectId); if (!subjectQuery.HasResult) { AddError(result.ValidationResult, "SubjectCannotBeFound"); return(result); } IDataTypeService dataTypeService = UnitOfWork.GetService <IDataTypeService>(); int dataTypeId = System.Convert.ToInt32(fieldInfoDto.FieldDataTypeId); var dataTypeQuery = dataTypeService.Retrieve(dataTypeId); if (!dataTypeQuery.HasResult) { AddError(result.ValidationResult, "DataTypeCannotBeFound"); return(result); } Subject subject = subjectQuery.ToBo <Subject>(); SubjectField subjectField = RetrieveOrNewSubjectField(subject, fieldInfoDto.SubjectFieldId); if (subjectField == null) { AddWarning(result.ValidationResult, "SubjectFieldCannotBeFound"); return(result); } subjectField.FieldKey = fieldInfoDto.FieldKey; subjectField.FieldLabel = fieldInfoDto.FieldLabel; subjectField.HelpText = fieldInfoDto.HelpText; subjectField.FieldDataType.Value = dataTypeQuery.ToBo <DataType>(); subjectField.PickupEntityId = fieldInfoDto.PickupEntityId; subjectField.LookupSubjectId = fieldInfoDto.LookupSubjectId; subjectField.Sort = fieldInfoDto.Sort; subjectField.RowIndex = fieldInfoDto.RowIndex; subjectField.ColIndex = fieldInfoDto.ColIndex; subjectField.IsRequired = fieldInfoDto.IsRequired; subjectField.IsReadonly = fieldInfoDto.IsReadonly; subjectField.IsLinkInGrid = fieldInfoDto.IsLinkInGrid; subjectField.IsShowInGrid = fieldInfoDto.IsShowInGrid; if (fieldInfoDto.MaxLength.HasValue) { subjectField.MaxLength = fieldInfoDto.MaxLength; } else { subjectField.MaxLength = fieldInfoDto.MaxLengthInTable; } subjectField.NavigateUrlFormatString = fieldInfoDto.NavigateUrlFormatString; var saveQuery = subjectService.Save(subject); result.Merge(saveQuery); result.AttachResult(subject.RetrieveData <SubjectData>()); return(result); }