コード例 #1
0
 public bool UpdatePredefinitionData(Guid objectCustomFieldId,
                                     IEnumerable <Guid> refIds,
                                     PredefinitionCustomFieldTypeEnum predefinitionCustomFieldType)
 {
     return(UpdatePredefinitionData(objectCustomFieldId,
                                    refIds,
                                    predefinitionCustomFieldType,
                                    CustomFieldTypeFlag.CUSTOM_FIELD_TYPE_DEFAULT));
 }
コード例 #2
0
        public bool UpdatePredefinitionData(Guid objectCustomFieldId,
                                            IEnumerable <Guid> refIds,
                                            PredefinitionCustomFieldTypeEnum predefinitionCustomFieldType,
                                            CustomFieldTypeFlag customFieldTypeFlag)
        {
            ObjectCustomFieldDataPreDefinitionBO objectCustomFieldDataPreDefinitionBO =
                new ObjectCustomFieldDataPreDefinitionBO();

            return(objectCustomFieldDataPreDefinitionBO.UpdateCustomFieldData(
                       objectCustomFieldId,
                       refIds,
                       predefinitionCustomFieldType,
                       customFieldTypeFlag));
        }
コード例 #3
0
ファイル: ObjectBO.cs プロジェクト: ewin66/dev
        public bool UpdatePredefinitionData(Guid cmsObjectId,
                                            Guid objectTypeCustomFieldId,
                                            IEnumerable <Guid> refIds,
                                            PredefinitionCustomFieldTypeEnum predefinitionCustomFieldType,
                                            CustomFieldTypeFlag customFieldTypeFlag)
        {
            Session session = null;

            try
            {
                session = XpoHelper.GetNewSession();
                ObjectCustomFieldDataPreDefinitionBO objectCustomFieldDataPreDefinitionBO =
                    new ObjectCustomFieldDataPreDefinitionBO();

                ObjectCustomFieldBO objectCustomFieldBO = new ObjectCustomFieldBO();
                ObjectCustomField   objectCustomField   =
                    objectCustomFieldBO.GetObjectCustomField(session, cmsObjectId, objectTypeCustomFieldId);
                if (objectCustomField == null)
                {
                    throw new Exception("Could not found ObjectCustomField");
                }

                return(objectCustomFieldDataPreDefinitionBO.UpdateCustomFieldData(
                           objectCustomField.ObjectCustomFieldId,
                           refIds,
                           predefinitionCustomFieldType,
                           customFieldTypeFlag));
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (session != null)
                {
                    session.Dispose();
                }
            }
        }
        public virtual bool UpdatePredefinitionDataForObject(Guid objectCustomFieldId, List <NASCustomFieldPredefinitionData> data)
        {
            try
            {
                if (data == null || data.Count == 0)
                {
                    return(true);
                }

                ObjectCustomFieldBO objectCustomFieldBO = new ObjectCustomFieldBO();

                PredefinitionCustomFieldTypeEnum predefinitionType =
                    (PredefinitionCustomFieldTypeEnum)Enum.Parse(
                        typeof(PredefinitionCustomFieldTypeEnum), data.First().PredefinitionType);

                return(objectCustomFieldBO.UpdatePredefinitionData(
                           objectCustomFieldId, data.Select(r => r.RefId), predefinitionType));
            }
            catch (Exception)
            {
                throw;
            }
        }
コード例 #5
0
        protected void customFieldDataGridView_DataUpdated(object sender,
                                                           ERPSystem.CustomField.GUI.Control.CustomFieldControlEventArgs args)
        {
            using (UnitOfWork uow = XpoHelper.GetNewUnitOfWork())
            {
                //Get all journal of transaction
                NAS.DAL.Accounting.Journal.Transaction transaction =
                    uow.GetObjectByKey <NAS.DAL.Accounting.Journal.Transaction>(TransactionId);
                var cmsObjects =
                    transaction.GeneralJournals
                    .Where(r => r.RowStatus >= 0)
                    .Select(r => r.GeneralJournalObjects.FirstOrDefault())
                    .Select(r => r.ObjectId);

                ObjectTypeCustomField objectTypeCustomField =
                    uow.GetObjectByKey <ObjectTypeCustomField>(args.ObjectTypeCustomFieldId);

                if (cmsObjects != null)
                {
                    ObjectCustomFieldBO objectCustomFieldBO = new ObjectCustomFieldBO();
                    foreach (var cmsObject in cmsObjects)
                    {
                        ObjectCustomField objectCustomField =
                            cmsObject.ObjectCustomFields
                            .Where(r => r.ObjectTypeCustomFieldId == objectTypeCustomField)
                            .FirstOrDefault();
                        if (objectCustomField != null)
                        {
                            //Copy new data to all jounal of the transaction
                            switch (args.CustomFieldCategory)
                            {
                            case CustomFieldControlEventArgs.CustomFieldCategoryEnum.BASIC:
                                objectCustomFieldBO.UpdateBasicData(
                                    objectCustomField.ObjectCustomFieldId,
                                    args.NewBasicDataValue,
                                    args.BasicCustomFieldType);
                                break;

                            case CustomFieldControlEventArgs.CustomFieldCategoryEnum.LIST:
                                objectCustomFieldBO.UpdateUserDefinedListData(
                                    objectCustomField.ObjectCustomFieldId,
                                    args.NewCustomFieldDataIds);
                                break;

                            case CustomFieldControlEventArgs.CustomFieldCategoryEnum.BUILT_IN:
                                NASCustomFieldPredefinitionData temp = args.NewBuiltInData.FirstOrDefault();
                                if (temp != null)
                                {
                                    PredefinitionCustomFieldTypeEnum predefinitionType =
                                        (PredefinitionCustomFieldTypeEnum)Enum
                                        .Parse(typeof(PredefinitionCustomFieldTypeEnum), temp.PredefinitionType);
                                    objectCustomFieldBO.UpdatePredefinitionData(
                                        objectCustomField.ObjectCustomFieldId,
                                        args.NewBuiltInData.Select(r => r.RefId).ToList(),
                                        predefinitionType);
                                }
                                break;

                            default:
                                break;
                            }
                        }
                    }
                }
            }
        }
コード例 #6
0
        private ICustomFieldDataPreDefinitionDataGetter GetDataGetter(PredefinitionCustomFieldTypeEnum preDefinitionType)
        {
            PreDefinitionDataGetterType type = PreDefinitionDataGetterType.ORGANIZATION;

            switch (preDefinitionType)
            {
            case PredefinitionCustomFieldTypeEnum.SINGLE_CHOICE_LIST_MANUFACTURER:
                type = PreDefinitionDataGetterType.MANUFACTURER;
                break;

            case PredefinitionCustomFieldTypeEnum.SINGLE_CHOICE_LIST_ORGANIZATION:
                type = PreDefinitionDataGetterType.ORGANIZATION;
                break;

            case PredefinitionCustomFieldTypeEnum.SINGLE_CHOICE_LIST_DEPARTMENT:
                type = PreDefinitionDataGetterType.DEPARTMENT;
                break;

            case PredefinitionCustomFieldTypeEnum.SINGLE_CHOICE_LIST_PERSON:
                type = PreDefinitionDataGetterType.PERSON;
                break;

            case PredefinitionCustomFieldTypeEnum.SINGLE_CHOICE_LIST_CUSTOMER:
                type = PreDefinitionDataGetterType.CUSTOMER;
                break;

            case PredefinitionCustomFieldTypeEnum.SINGLE_CHOICE_LIST_SUPPLIER:
                type = PreDefinitionDataGetterType.SUPPLIER;
                break;

            case PredefinitionCustomFieldTypeEnum.SINGLE_CHOICE_LIST_INVENTORY:
                type = PreDefinitionDataGetterType.INVENTORY;
                break;

            case PredefinitionCustomFieldTypeEnum.SINGLE_CHOICE_LIST_LOT:
                type = PreDefinitionDataGetterType.LOT;
                break;

            case PredefinitionCustomFieldTypeEnum.SINGLE_CHOICE_LIST_INVOICE_SALE:
                type = PreDefinitionDataGetterType.INVOICE_SALE;
                break;

            case PredefinitionCustomFieldTypeEnum.SINGLE_CHOICE_LIST_INVOICE_PURCHASE:
                type = PreDefinitionDataGetterType.INVOICE_PURCHASE;
                break;

            case PredefinitionCustomFieldTypeEnum.SINGLE_CHOICE_LIST_ITEM:
                type = PreDefinitionDataGetterType.ITEM;
                break;

            /*2014/03/03 Duc.Vo INS*/
            case PredefinitionCustomFieldTypeEnum.SINGLE_CHOICE_LIST_INPUT_INVENTORY_COMMAND:
                type = PreDefinitionDataGetterType.INPUT_INVENTORY_COMMAND;
                break;

            /*2014/03/03 Duc.Vo INS*/
            case PredefinitionCustomFieldTypeEnum.MULTI_CHOICE_LIST_MANUFACTURER:
                type = PreDefinitionDataGetterType.MANUFACTURER;
                break;

            case PredefinitionCustomFieldTypeEnum.MULTI_CHOICE_LIST_ORGANIZATION:
                type = PreDefinitionDataGetterType.ORGANIZATION;
                break;

            case PredefinitionCustomFieldTypeEnum.MULTI_CHOICE_LIST_DEPARTMENT:
                type = PreDefinitionDataGetterType.DEPARTMENT;
                break;

            case PredefinitionCustomFieldTypeEnum.MULTI_CHOICE_LIST_PERSON:
                type = PreDefinitionDataGetterType.PERSON;
                break;

            case PredefinitionCustomFieldTypeEnum.MULTI_CHOICE_LIST_CUSTOMER:
                type = PreDefinitionDataGetterType.CUSTOMER;
                break;

            case PredefinitionCustomFieldTypeEnum.MULTI_CHOICE_LIST_SUPPLIER:
                type = PreDefinitionDataGetterType.SUPPLIER;
                break;

            case PredefinitionCustomFieldTypeEnum.MULTI_CHOICE_LIST_INVENTORY:
                type = PreDefinitionDataGetterType.INVENTORY;
                break;

            case PredefinitionCustomFieldTypeEnum.MULTI_CHOICE_LIST_LOT:
                type = PreDefinitionDataGetterType.LOT;
                break;

            case PredefinitionCustomFieldTypeEnum.MULTI_CHOICE_LIST_INVOICE_SALE:
                type = PreDefinitionDataGetterType.INVOICE_SALE;
                break;

            case PredefinitionCustomFieldTypeEnum.MULTI_CHOICE_LIST_INVOICE_PURCHASE:
                type = PreDefinitionDataGetterType.INVOICE_PURCHASE;
                break;

            case PredefinitionCustomFieldTypeEnum.MULTI_CHOICE_LIST_ITEM:
                type = PreDefinitionDataGetterType.ITEM;
                break;

            default:
                throw new Exception("Unsupported type");
            }
            return(PreDefinitionDataGetterSimpleFactory.Create(type));
        }
コード例 #7
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();
                }
            }
        }