Exemple #1
0
        private bool AttachObjectCustomFieldWithDefaultValue(Session session
                                                             , DAL.CMS.ObjectDocument.Object CMSObject
                                                             , NAS.DAL.CMS.ObjectDocument.ObjectTypeCustomField objectTypeCustomField
                                                             , CustomFieldTypeFlag option)
        {
            try
            {
                //Create ObjectCustomField
                ObjectCustomField objectCustomField = new ObjectCustomField(session)
                {
                    ObjectCustomFieldId     = Guid.NewGuid(),
                    ObjectId                = CMSObject,
                    ObjectTypeCustomFieldId = objectTypeCustomField,
                    CustomFieldType         = option.Value
                };
                objectCustomField.Save();

                //Insert default value for custom field
                CustomFieldData customFieldData = null;

                string customFieldTypeCode = objectTypeCustomField.CustomFieldId.CustomFieldTypeId.Code;

                BasicCustomFieldTypeEnum basicCustomFieldType = BasicCustomFieldTypeEnum.NONE;

                bool isBasicType =
                    Enum.TryParse <BasicCustomFieldTypeEnum>(customFieldTypeCode, out basicCustomFieldType);

                if (isBasicType)
                {
                    customFieldData = InitDefaultDataForBasicCustomFieldType(session,
                                                                             (BasicCustomFieldTypeEnum)Enum.Parse(typeof(BasicCustomFieldTypeEnum), customFieldTypeCode),
                                                                             objectTypeCustomField.CustomFieldId.CustomFieldId);

                    if (customFieldData != null)
                    {
                        //Insert into ObjectCustomFieldData
                        ObjectCustomFieldData defaultObjectCustomFieldData =
                            new ObjectCustomFieldData(session)
                        {
                            ObjectCustomFieldDataId = Guid.NewGuid(),
                            CustomFieldDataId       = customFieldData,
                            ObjectCustomFieldId     = objectCustomField
                        };
                        defaultObjectCustomFieldData.Save();
                    }
                }
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public bool AddItemToSelectedCustomFieldDataItems(UnitOfWork uow, Guid objectCustomFieldId, Guid customFieldDataStringId)
        {
            try
            {
                //Get ObjectCustomField by Id
                ObjectCustomField objectCustomField =
                    uow.GetObjectByKey <ObjectCustomField>(objectCustomFieldId);

                if (objectCustomField == null)
                {
                    throw new Exception("The key is not exist in ObjectCustomField");
                }

                CustomFieldDataString customFieldDataString =
                    uow.GetObjectByKey <CustomFieldDataString>(customFieldDataStringId);

                if (customFieldDataString == null)
                {
                    throw new Exception("The key is not exist in CustomFieldDataString");
                }

                CriteriaOperator criteria = CriteriaOperator.And(
                    new BinaryOperator("ObjectCustomFieldId", objectCustomField),
                    new BinaryOperator("CustomFieldDataId", customFieldDataString)
                    );

                ObjectCustomFieldData ocfd = uow.FindObject <ObjectCustomFieldData>(criteria);

                if (ocfd == null)
                {
                    ocfd = new ObjectCustomFieldData(uow);
                    ocfd.ObjectCustomFieldId = objectCustomField;
                    ocfd.CustomFieldDataId   = customFieldDataString;
                }

                uow.CommitChanges();
                //else
                //    throw new Exception("The item has been added before");
                return(true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #3
0
        public override NASCustomFieldPredefinitionData GetPredefinitionDataOfObject(Guid objectCustomFieldId)
        {
            NASCustomFieldPredefinitionData ret = null;
            Session session = null;

            try
            {
                session = XpoHelper.GetNewSession();
                ObjectCustomFieldData objectCustomFieldData =
                    session.GetObjectByKey <ObjectCustomField>(objectCustomFieldId).ObjectCustomFieldDatas.FirstOrDefault();
                if (objectCustomFieldData != null)
                {
                    PredefinitionData predefinitionData =
                        (PredefinitionData)objectCustomFieldData.CustomFieldDataId;

                    Organization customer =
                        session.GetObjectByKey <Organization>(predefinitionData.RefId);

                    if (customer != null)
                    {
                        ret = new NASCustomFieldPredefinitionData()
                        {
                            Code              = customer.Code,
                            Description       = customer.Description,
                            Name              = customer.Name,
                            PredefinitionType = Enum.GetName(typeof(SingleSelectionBuiltInTypeEnum),
                                                             SingleSelectionBuiltInTypeEnum.SINGLE_CHOICE_LIST_CUSTOMER),
                            RefId = customer.OrganizationId
                        };
                    }
                }
                return(ret);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (session != null)
                {
                    session.Dispose();
                }
            }
        }
        public override NASCustomFieldPredefinitionData GetPredefinitionDataOfObject(Guid objectCustomFieldId)
        {
            NASCustomFieldPredefinitionData ret = null;
            Session session = null;

            try
            {
                session = XpoHelper.GetNewSession();
                ObjectCustomFieldData objectCustomFieldData =
                    session.GetObjectByKey <ObjectCustomField>(objectCustomFieldId).ObjectCustomFieldDatas.FirstOrDefault();
                if (objectCustomFieldData != null)
                {
                    PredefinitionData predefinitionData =
                        (PredefinitionData)objectCustomFieldData.CustomFieldDataId;

                    SalesInvoice salesInvoice =
                        session.GetObjectByKey <SalesInvoice>(predefinitionData.RefId);

                    if (salesInvoice != null)
                    {
                        ret = new NASCustomFieldPredefinitionData()
                        {
                            Code              = salesInvoice.Code,
                            Description       = String.Empty,
                            Name              = String.Empty,
                            PredefinitionType = Enum.GetName(typeof(SingleSelectionBuiltInTypeEnum),
                                                             SingleSelectionBuiltInTypeEnum.SINGLE_CHOICE_LIST_INVOICE_SALE),
                            RefId = salesInvoice.BillId
                        };
                    }
                }
                return(ret);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (session != null)
                {
                    session.Dispose();
                }
            }
        }
        public override NASCustomFieldPredefinitionData GetPredefinitionDataOfObject(Guid objectCustomFieldId)
        {
            NASCustomFieldPredefinitionData ret = null;
            Session session = null;

            try
            {
                session = XpoHelper.GetNewSession();
                ObjectCustomFieldData objectCustomFieldData =
                    session.GetObjectByKey <ObjectCustomField>(objectCustomFieldId).ObjectCustomFieldDatas.FirstOrDefault();
                if (objectCustomFieldData != null)
                {
                    PredefinitionData predefinitionData =
                        (PredefinitionData)objectCustomFieldData.CustomFieldDataId;

                    InventoryCommand command =
                        session.GetObjectByKey <InventoryCommand>(predefinitionData.RefId);

                    if (command != null)
                    {
                        ret = new NASCustomFieldPredefinitionData()
                        {
                            Code              = command.Code,
                            Description       = command.Description,
                            Name              = command.Name,
                            PredefinitionType = Enum.GetName(typeof(SingleSelectionBuiltInTypeEnum),
                                                             SingleSelectionBuiltInTypeEnum.SINGLE_CHOICE_LIST_INPUT_INVENTORY_COMMAND),
                            RefId = command.InventoryCommandId
                        };
                    }
                }
                return(ret);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (session != null)
                {
                    session.Dispose();
                }
            }
        }
Exemple #6
0
        /// <summary>
        /// Get supplier that allocated for the ReceiptVouchesTransaction
        /// </summary>
        /// <param name="session">DevExpress.Xpo.Session</param>
        /// <param name="transactionId">Id of type ReceiptVouchesTransaction</param>
        /// <returns></returns>
        public Organization GetAllocatedSupplier(Session session, Guid transactionId)
        {
            Organization ret = null;

            try
            {
                ReceiptVouchesTransaction transaction =
                    session.GetObjectByKey <ReceiptVouchesTransaction>(transactionId);
                TransactionObject transactionObject = transaction.TransactionObjects.First();
                if (transactionObject == null)
                {
                    return(null);
                }
                ObjectTypeCustomField objectTypeCustomField =
                    ObjectTypeCustomField.GetDefault(session, DefaultObjectTypeCustomFieldEnum.RECEIPT_VOUCHER_SUPPLIER);

                ObjectCustomField objectCustomField = transactionObject.ObjectId.ObjectCustomFields.Where(
                    r => r.ObjectTypeCustomFieldId.ObjectTypeCustomFieldId ==
                    objectTypeCustomField.ObjectTypeCustomFieldId).FirstOrDefault();
                if (objectCustomField == null)
                {
                    return(null);
                }

                ObjectCustomFieldData objectCustomFieldData =
                    objectCustomField.ObjectCustomFieldDatas.FirstOrDefault();
                if (objectCustomFieldData == null)
                {
                    return(null);
                }

                PredefinitionData predefinitionData =
                    (PredefinitionData)objectCustomFieldData.CustomFieldDataId;

                ret = session.GetObjectByKey <Organization>(predefinitionData.RefId);

                return(ret);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public InventoryCommand GetAllocatedInputInventoryCommandByManualTransaction(Session session, Guid manualBookingTransactionId)
        {
            InventoryCommand ret = null;

            try
            {
                Transaction transaction =
                    session.GetObjectByKey <Transaction>(manualBookingTransactionId);
                TransactionObject transactionObject = transaction.TransactionObjects.First();
                if (transactionObject == null)
                {
                    return(null);
                }
                ObjectTypeCustomField objectTypeCustomField =
                    ObjectTypeCustomField.GetDefault(session, DefaultObjectTypeCustomFieldEnum.MANUAL_BOOKING_INPUT_INVENTORY_COMMAND);

                ObjectCustomField objectCustomField = transactionObject.ObjectId.ObjectCustomFields.Where(
                    r => r.ObjectTypeCustomFieldId.ObjectTypeCustomFieldId ==
                    objectTypeCustomField.ObjectTypeCustomFieldId).FirstOrDefault();
                if (objectCustomField == null)
                {
                    return(null);
                }

                ObjectCustomFieldData objectCustomFieldData =
                    objectCustomField.ObjectCustomFieldDatas.FirstOrDefault();
                if (objectCustomFieldData == null)
                {
                    return(null);
                }

                PredefinitionData predefinitionData =
                    (PredefinitionData)objectCustomFieldData.CustomFieldDataId;

                ret = session.GetObjectByKey <InventoryCommand>(predefinitionData.RefId);

                return(ret);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public NAS.DAL.Invoice.PurchaseInvoice GetAllocatedPurchaseInvoiceByManualTransaction(Session session, Guid manualBookingTransactionId)
        {
            NAS.DAL.Invoice.PurchaseInvoice ret = null;
            try
            {
                Transaction transaction =
                    session.GetObjectByKey <Transaction>(manualBookingTransactionId);
                TransactionObject transactionObject = transaction.TransactionObjects.First();
                if (transactionObject == null)
                {
                    return(null);
                }
                ObjectTypeCustomField objectTypeCustomField =
                    ObjectTypeCustomField.GetDefault(session, DefaultObjectTypeCustomFieldEnum.MANUAL_BOOKING_PURCHASE_INVOICE);

                ObjectCustomField objectCustomField = transactionObject.ObjectId.ObjectCustomFields.Where(
                    r => r.ObjectTypeCustomFieldId.ObjectTypeCustomFieldId ==
                    objectTypeCustomField.ObjectTypeCustomFieldId).FirstOrDefault();
                if (objectCustomField == null)
                {
                    return(null);
                }

                ObjectCustomFieldData objectCustomFieldData =
                    objectCustomField.ObjectCustomFieldDatas.FirstOrDefault();
                if (objectCustomFieldData == null)
                {
                    return(null);
                }

                PredefinitionData predefinitionData =
                    (PredefinitionData)objectCustomFieldData.CustomFieldDataId;

                ret = session.GetObjectByKey <NAS.DAL.Invoice.PurchaseInvoice>(predefinitionData.RefId);

                return(ret);
            }
            catch (Exception)
            {
                throw;
            }
        }
        public NAS.DAL.Invoice.PurchaseInvoice GetAllocatedPurchaseInvoiceByInventoryCommand(Session session, Guid inventoryCommandId)
        {
            NAS.DAL.Invoice.PurchaseInvoice ret = null;
            try
            {
                InventoryCommand command =
                    session.GetObjectByKey <InventoryCommand>(inventoryCommandId);
                InventoryCommandObject commandObject = command.InventoryCommandObjects.First();
                if (commandObject == null)
                {
                    return(null);
                }
                ObjectTypeCustomField objectTypeCustomField =
                    ObjectTypeCustomField.GetDefault(session, DefaultObjectTypeCustomFieldEnum.INVENTORY_IN_PURCHASE_INVOICE);

                ObjectCustomField objectCustomField = commandObject.ObjectId.ObjectCustomFields.Where(
                    r => r.ObjectTypeCustomFieldId.ObjectTypeCustomFieldId ==
                    objectTypeCustomField.ObjectTypeCustomFieldId).FirstOrDefault();
                if (objectCustomField == null)
                {
                    return(null);
                }

                ObjectCustomFieldData objectCustomFieldData =
                    objectCustomField.ObjectCustomFieldDatas.FirstOrDefault();
                if (objectCustomFieldData == null)
                {
                    return(null);
                }

                PredefinitionData predefinitionData =
                    (PredefinitionData)objectCustomFieldData.CustomFieldDataId;

                ret = session.GetObjectByKey <NAS.DAL.Invoice.PurchaseInvoice>(predefinitionData.RefId);

                return(ret);
            }
            catch (Exception)
            {
                throw;
            }
        }
Exemple #10
0
        public NAS.DAL.Nomenclature.Organization.Organization GetAllocatedCustomerByManualTransaction(Session session, Guid manualBookingTransactionId)
        {
            NAS.DAL.Nomenclature.Organization.Organization ret = null;
            try
            {
                Transaction transaction =
                    session.GetObjectByKey <Transaction>(manualBookingTransactionId);
                TransactionObject transactionObject = transaction.TransactionObjects.First();
                if (transactionObject == null)
                {
                    return(null);
                }
                ObjectTypeCustomField objectTypeCustomField =
                    ObjectTypeCustomField.GetDefault(session, DefaultObjectTypeCustomFieldEnum.MANUAL_BOOKING_CUSTOMER);

                ObjectCustomField objectCustomField = transactionObject.ObjectId.ObjectCustomFields.Where(
                    r => r.ObjectTypeCustomFieldId.ObjectTypeCustomFieldId ==
                    objectTypeCustomField.ObjectTypeCustomFieldId).FirstOrDefault();
                if (objectCustomField == null)
                {
                    return(null);
                }

                ObjectCustomFieldData objectCustomFieldData =
                    objectCustomField.ObjectCustomFieldDatas.FirstOrDefault();
                if (objectCustomFieldData == null)
                {
                    return(null);
                }

                PredefinitionData predefinitionData =
                    (PredefinitionData)objectCustomFieldData.CustomFieldDataId;

                ret = session.GetObjectByKey <NAS.DAL.Nomenclature.Organization.Organization>(predefinitionData.RefId);

                return(ret);
            }
            catch (Exception)
            {
                return(null);
            }
        }
        public bool UpdateCustomFieldData(Guid objectCustomFieldId, Guid customFieldDataStringId)
        {
            Session session = null;

            try
            {
                session = XpoHelper.GetNewSession();
                //Get ObjectCustomField by Id
                session.BeginTransaction();

                ObjectCustomField objectCustomField =
                    session.GetObjectByKey <ObjectCustomField>(objectCustomFieldId);

                if (objectCustomField == null)
                {
                    throw new Exception("The key is not exist in ObjectCustomField");
                }

                CustomFieldDataString customFieldDataString =
                    session.GetObjectByKey <CustomFieldDataString>(customFieldDataStringId);

                if (customFieldDataString == null)
                {
                    session.Delete(objectCustomField.ObjectCustomFieldDatas);
                    DynamicObjectListSerializeDataItem dataitem = new DynamicObjectListSerializeDataItem()
                    {
                        ObjectCustomFieldId = objectCustomFieldId,
                        CustomFieldName     = null,
                        CustomFieldData     = null
                    };
                    ObjectBO objectBO = new ObjectBO();
                    objectBO.SetDynamicObjectListItem(session, objectCustomField.ObjectId.ObjectId, dataitem);
                    //throw new Exception("The key is not exist in CustomFieldDataString");
                }
                else
                {
                    if (objectCustomField.ObjectCustomFieldDatas != null && objectCustomField.ObjectCustomFieldDatas.Count > 0)
                    {
                        for (int i = 0; i < objectCustomField.ObjectCustomFieldDatas.Count; i++)
                        {
                            objectCustomField.ObjectCustomFieldDatas[i].Delete();
                        }
                    }
                    ObjectCustomFieldData ocfd = new ObjectCustomFieldData(session);
                    ocfd.ObjectCustomFieldId = objectCustomField;
                    ocfd.CustomFieldDataId   = customFieldDataString;
                    ocfd.Save();

                    ObjectBO objectBO = new ObjectBO();
                    DynamicObjectListSerializeDataItem dataitem = new DynamicObjectListSerializeDataItem()
                    {
                        ObjectCustomFieldId = objectCustomFieldId,
                        CustomFieldName     = customFieldDataString.CustomFieldId.Name,
                        CustomFieldData     = customFieldDataString.StringValue
                    };
                    objectBO.SetDynamicObjectListItem(session, objectCustomField.ObjectId.ObjectId, dataitem);
                }
                session.CommitTransaction();
                return(true);
            }
            catch (Exception)
            {
                session.RollbackTransaction();
                throw;
            }
            finally
            {
                if (session != null)
                {
                    session.Dispose();
                }
            }
        }
Exemple #12
0
        public bool UpdateCustomFieldData(Guid objectCustomFieldId,
                                          IEnumerable <Guid> refIds,
                                          PredefinitionCustomFieldTypeEnum preDefinitionType,
                                          CustomFieldTypeFlag flag)
        {
            bool       ret = false;
            UnitOfWork uow = null;

            try
            {
                uow = XpoHelper.GetNewUnitOfWork();

                ObjectCustomField objectCustomField = uow.GetObjectByKey <ObjectCustomField>(objectCustomFieldId);

                objectCustomField.CustomFieldType = flag.Value;

                uow.FlushChanges();

                NAS.DAL.CMS.ObjectDocument.CustomField customField =
                    objectCustomField.ObjectTypeCustomFieldId.CustomFieldId;

                //Delete all old data
                uow.Delete(objectCustomField.ObjectCustomFieldDatas);
                uow.FlushChanges();
                //Insert new data for object
                if (refIds != null)
                {
                    foreach (var refId in refIds)
                    {
                        PredefinitionData predefinitionData = new PredefinitionData(uow)
                        {
                            CustomFieldId     = customField,
                            PredefinitionType =
                                Enum.GetName(typeof(PredefinitionCustomFieldTypeEnum), preDefinitionType),
                            RefId = refId
                        };
                        //predefinitionData.Save();

                        ObjectCustomFieldData objectCustomFieldData = new ObjectCustomFieldData(uow)
                        {
                            CustomFieldDataId   = predefinitionData,
                            ObjectCustomFieldId = objectCustomField
                        };
                        //objectCustomFieldData.Save();

                        uow.FlushChanges();
                    }
                }

                ICustomFieldDataPreDefinitionDataGetter getter = GetDataGetter(preDefinitionType);
                ObjectBO objectBO = new ObjectBO();
                DynamicObjectListSerializeDataItem dataitem = new DynamicObjectListSerializeDataItem()
                {
                    ObjectCustomFieldId = objectCustomFieldId,
                    CustomFieldName     = customField.Name,
                    CustomFieldData     = getter.GetData(objectCustomFieldId).ToString()
                };
                objectBO.SetDynamicObjectListItem(uow, objectCustomField.ObjectId.ObjectId, dataitem);

                uow.CommitChanges();
                ret = true;
                return(ret);
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (uow != null)
                {
                    uow.Dispose();
                }
            }
        }
Exemple #13
0
        public CustomFieldDataEntityBase GetObjectCustomFieldData(ObjectCustomField objectCustomField)
        {
            try
            {
                CustomFieldDataEntityBase ret = null;

                if (objectCustomField == null)
                {
                    return(null);
                }

                //Determine CustomFieldCategoryEnum
                string customFieldTypeString =
                    objectCustomField.ObjectTypeCustomFieldId.CustomFieldId.CustomFieldTypeId.Code;

                CustomFieldTypeEnum customFieldTypeEnum;

                bool isParseSuccess =
                    Enum.TryParse <CustomFieldTypeEnum>(customFieldTypeString, out customFieldTypeEnum);

                if (!isParseSuccess)
                {
                    throw new Exception(String.Format("Not supported the CustomFieldType '{0}'", customFieldTypeString));
                }

                var customFieldData =
                    objectCustomField.ObjectCustomFieldDatas.Select(r => r.CustomFieldDataId);

                if (customFieldData == null || customFieldData.Count() == 0)
                {
                    return(null);
                }

                ObjectCustomFieldData objectCustomFieldData = customFieldData.First().ObjectCustomFieldDatas.First();

                CustomFieldTypeFlag customFieldTypeFlag =
                    CustomFieldTypeFlag.Parse(objectCustomField.CustomFieldType);

                #region User defined list data type
                if (customFieldTypeEnum == CustomFieldTypeEnum.MULTI_CHOICE_LIST ||
                    customFieldTypeEnum == CustomFieldTypeEnum.SINGLE_CHOICE_LIST)
                {
                    ret = new UserDefinedListCustomFieldDataEntity(
                        objectCustomFieldData.ObjectCustomFieldId.ObjectCustomFieldId,
                        objectCustomFieldData.ObjectCustomFieldId.ObjectTypeCustomFieldId.ObjectTypeCustomFieldId,
                        objectCustomFieldData.ObjectCustomFieldId.ObjectId.ObjectId,
                        objectCustomFieldData.ObjectCustomFieldId.ObjectTypeCustomFieldId.CustomFieldId.CustomFieldId,
                        customFieldTypeFlag,
                        CustomFieldCategoryEnum.LIST,
                        customFieldData.Select(r => r.CustomFieldDataId)
                        );
                }
                #endregion

                #region Basic data type
                else if (customFieldTypeEnum == CustomFieldTypeEnum.DATETIME ||
                         customFieldTypeEnum == CustomFieldTypeEnum.FLOAT ||
                         customFieldTypeEnum == CustomFieldTypeEnum.INTEGER ||
                         customFieldTypeEnum == CustomFieldTypeEnum.STRING)
                {
                    BasicCustomFieldTypeEnum basicType =
                        (BasicCustomFieldTypeEnum)Enum.Parse(typeof(BasicCustomFieldTypeEnum),
                                                             Enum.GetName(typeof(CustomFieldTypeEnum), customFieldTypeEnum));
                    object dataValue = null;

                    switch (customFieldTypeEnum)
                    {
                    case CustomFieldTypeEnum.STRING:
                        basicType = BasicCustomFieldTypeEnum.STRING;
                        dataValue = ((CustomFieldDataString)customFieldData.First()).StringValue;
                        break;

                    case CustomFieldTypeEnum.DATETIME:
                        basicType = BasicCustomFieldTypeEnum.DATETIME;
                        dataValue = ((CustomFieldDataDateTime)customFieldData.First()).DateTimeValue;
                        break;

                    case CustomFieldTypeEnum.FLOAT:
                        basicType = BasicCustomFieldTypeEnum.FLOAT;
                        dataValue = ((CustomFieldDataFloat)customFieldData.First()).FloatValue;
                        break;

                    case CustomFieldTypeEnum.INTEGER:
                        basicType = BasicCustomFieldTypeEnum.INTEGER;
                        dataValue = ((CustomFieldDataInt)customFieldData.First()).IntValue;
                        break;
                    }

                    ret = new BasicCustomFieldDataEntity(
                        objectCustomFieldData.ObjectCustomFieldId.ObjectCustomFieldId,
                        objectCustomFieldData.ObjectCustomFieldId.ObjectTypeCustomFieldId.ObjectTypeCustomFieldId,
                        objectCustomFieldData.ObjectCustomFieldId.ObjectId.ObjectId,
                        objectCustomFieldData.ObjectCustomFieldId.ObjectTypeCustomFieldId.CustomFieldId.CustomFieldId,
                        customFieldTypeFlag,
                        CustomFieldCategoryEnum.BASIC,
                        dataValue,
                        basicType);
                }
                #endregion Basic data type

                #region Predefinition data type
                //Predefinition data type
                else
                {
                    string predefinitionTypeString = ((PredefinitionData)customFieldData.First()).PredefinitionType;
                    ret = new PredefinitionCustomFieldEntity(
                        objectCustomFieldData.ObjectCustomFieldId.ObjectCustomFieldId,
                        objectCustomFieldData.ObjectCustomFieldId.ObjectTypeCustomFieldId.ObjectTypeCustomFieldId,
                        objectCustomFieldData.ObjectCustomFieldId.ObjectId.ObjectId,
                        objectCustomFieldData.ObjectCustomFieldId.ObjectTypeCustomFieldId.CustomFieldId.CustomFieldId,
                        customFieldTypeFlag,
                        CustomFieldCategoryEnum.BUILT_IN,
                        customFieldData.Select(r => ((PredefinitionData)r).RefId),
                        predefinitionTypeString
                        );
                }
                #endregion Predefinition data type

                return(ret);
            }
            catch (Exception)
            {
                throw;
            }
        }