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(); } } }
public static ICustomFieldDataPreDefinitionDataGetter Create(PreDefinitionDataGetterType type) { ICustomFieldDataPreDefinitionDataGetter ret = null; switch (type) { case PreDefinitionDataGetterType.MANUFACTURER: ret = new PreDefinitionManufacturerDataGetter(); break; case PreDefinitionDataGetterType.ORGANIZATION: ret = new PreDefinitionOrganizationDataGetter(); break; case PreDefinitionDataGetterType.DEPARTMENT: ret = new PreDefinitionDepartmentDataGetter(); break; case PreDefinitionDataGetterType.PERSON: ret = new PreDefinitionPersonDataGetter(); break; case PreDefinitionDataGetterType.CUSTOMER: ret = new PreDefinitionCustomerDataGetter(); break; case PreDefinitionDataGetterType.SUPPLIER: ret = new PreDefinitionSupplierDataGetter(); break; case PreDefinitionDataGetterType.INVENTORY: ret = new PreDefinitionInventoryDataGetter(); break; case PreDefinitionDataGetterType.LOT: ret = new PreDefinitionLotDataGetter(); break; case PreDefinitionDataGetterType.INVOICE_SALE: ret = new PreDefinitionSaleInvoiceDataGetter(); break; case PreDefinitionDataGetterType.INVOICE_PURCHASE: ret = new PreDefinitionPurchaseInvoiceDataGetter(); break; case PreDefinitionDataGetterType.ITEM: ret = new PreDefinitionItemDataGetter(); break; /*2014/03/03 Duc.Vo INS*/ case PreDefinitionDataGetterType.INPUT_INVENTORY_COMMAND: ret = new PreDefinitionInputInventoryCommandDataGetter(); break; /*2014/03/03 Duc.Vo INS*/ default: break; } return(ret); }