public Attribute Post(AttributeCopy request) { Attribute ret = null; using (Execute) { Execute.Run(ssn => { var entity = DocEntityAttribute.Get(request?.Id); if (null == entity) { throw new HttpError(HttpStatusCode.NoContent, "The COPY request did not succeed."); } if (!DocPermissionFactory.HasPermission(entity, currentUser, DocConstantPermission.ADD)) { throw new HttpError(HttpStatusCode.Forbidden, "You do not have ADD permission for this route."); } var pAttributeName = entity.AttributeName; var pAttributeType = entity.AttributeType; var pInterval = entity.Interval; var pIsCharacteristic = entity.IsCharacteristic; var pIsOutcome = entity.IsOutcome; var pIsPositive = entity.IsPositive; var pUniqueKey = entity.UniqueKey; if (!DocTools.IsNullOrEmpty(pUniqueKey)) { pUniqueKey += " (Copy)"; } var pValueType = entity.ValueType; var copy = new DocEntityAttribute(ssn) { Hash = Guid.NewGuid() , AttributeName = pAttributeName , AttributeType = pAttributeType , Interval = pInterval , IsCharacteristic = pIsCharacteristic , IsOutcome = pIsOutcome , IsPositive = pIsPositive , UniqueKey = pUniqueKey , ValueType = pValueType }; copy.SaveChanges(DocConstantPermission.ADD); ret = copy.ToDto(); }); } return(ret); }
/// <summary> /// 属性复制 /// </summary> public static void GetAttributeCopy() { MessageBox.Show("请选择设备", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Question); var objectId = PublicMethod.Instance.GetEntity("请选择设备\n"); //复制源数据的属性 var attribute = AttributeCopy.GetAttribute(objectId); if (attribute != null) { MessageBox.Show("请选择需要复制的设备", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Question); var objIds = PublicMethod.Instance.GetObjectIds("请选择需要复制的设备\n"); if (objIds != null) { if (MessageBox.Show(string.Format("确定要将属性复制到这{0}个设备吗?", objIds.Count()), "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK) { //复制属性到选择的设备 var count = AttributeCopy.CopyAttribute(objIds, attribute); MessageBox.Show(string.Format("{0}个设备复制成功!", count), "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } }