コード例 #1
0
 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);
         }
     }
 }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }