Beispiel #1
0
        /////////////////////////////////////////////////////////////
        //
        //	Get property value in string format
        //
        /////////////////////////////////////////////////////////////
        public static string getPropertyValue(CEWSI.PropertyType objProp)
        {
            if (objProp == null)
            {
                return("null");
            }

            string strValue = "";
            Type   objType  = objProp.GetType();

            if (objType == typeof(CEWSI.SingletonString))
            {
                strValue = (string)((CEWSI.SingletonString)objProp).Value;
            }
            else
            if (objType == typeof(CEWSI.SingletonBoolean))
            {
                strValue = (string)((CEWSI.SingletonBoolean)objProp).Value.ToString();
            }
            else
            if (objType == typeof(CEWSI.SingletonDateTime))
            {
                strValue = (string)((CEWSI.SingletonDateTime)objProp).Value.ToString();
            }
            else
            if (objType == typeof(CEWSI.SingletonFloat64))
            {
                strValue = (string)((CEWSI.SingletonFloat64)objProp).Value.ToString();
            }
            else
            if (objType == typeof(CEWSI.SingletonId))
            {
                strValue = (string)((CEWSI.SingletonId)objProp).Value;
            }
            else
            if (objType == typeof(CEWSI.SingletonInteger32))
            {
                strValue = (string)((CEWSI.SingletonInteger32)objProp).Value.ToString();
            }
            else
            if (objType == typeof(CEWSI.SingletonObject))
            {
                CEWSI.SingletonObject objSO = (CEWSI.SingletonObject)objProp;

                if (objSO.Value == null)
                {
                    strValue = "null";
                }
                else
                {
                    try
                    {
                        CEWSI.ObjectReference objRef = (CEWSI.ObjectReference)objSO.Value;
                        strValue = (string)(objRef.objectId);
                    }
                    catch (System.Exception)
                    {
                        strValue = "Unevaluated";
                    }
                }
            }
            else
            if (objType == typeof(CEWSI.EnumOfObject))
            {
                StringBuilder      buffer  = new StringBuilder();
                CEWSI.EnumOfObject objEnum = (CEWSI.EnumOfObject)objProp;
                if ((CEWSI.ObjectValue[])objEnum.Value != null)
                {
                    buffer.Append("\r\n");
                    foreach (CEWSI.ObjectValue obj in (CEWSI.ObjectValue[])objEnum.Value)
                    {
                        buffer.Append("          " + obj.objectId + "\r\n");
                    }
                }
                strValue = buffer.ToString();
            }
            else
            if (objType == typeof(CEWSI.ListOfString))
            {
                if (((CEWSI.ListOfString)objProp).Value != null)
                {
                    StringBuilder buffer = new StringBuilder();
                    foreach (string str in (string[])((CEWSI.ListOfString)objProp).Value)
                    {
                        buffer.Append(str + ",");
                    }
                    strValue = buffer.ToString();
                }
            }
            else
            if (objType == typeof(CEWSI.ListOfObject))
            {
                CEWSI.ListOfObject objList = (CEWSI.ListOfObject)objProp;
                if (objProp.propertyId == "ContentElements")
                {
                    strValue = ("ContentElements");
                }
                else
                {
                    if (objList != null)
                    {
                        StringBuilder buffer = new StringBuilder();
                        foreach (CEWSI.DependentObjectType obj in (CEWSI.DependentObjectType[])((CEWSI.ListOfObject)objList).Value)
                        {
                            buffer.Append(obj.classId + ", ");
                        }
                        strValue = buffer.ToString();
                    }
                }
            }
            else
            {
                strValue = (string)objProp.ToString();
            }

            //buffer.Append((objRet == null) ? "null" : objRet.ToString());

            return(strValue);
        }
        private void FileDoc(string strDocId, string strDocClass, string strDocTitle, string strFolderPath)
        {
            // Create a Create verb, populate it to create a new RCR
            CEWSI.CreateAction createVerb = new CEWSI.CreateAction();
            createVerb.autoUniqueContainmentName          = true;
            createVerb.autoUniqueContainmentNameSpecified = true;
            createVerb.classId = "DynamicReferentialContainmentRelationship";

            CEWSI.ChangeRequestType objChange = new CEWSI.ChangeRequestType();
            objChange.Action                       = new CEWSI.ActionType[1];
            objChange.Action[0]                    = (CEWSI.ActionType)createVerb;
            objChange.TargetSpecification          = new CEWSI.ObjectReference();
            objChange.TargetSpecification.classId  = "ObjectStore";
            objChange.TargetSpecification.objectId = MainForm.Library;
            objChange.id = "1";

            // Create the properties of the new RCR
            CEWSI.ObjectReference objHeadRef = new CEWSI.ObjectReference();
            objHeadRef.classId     = strDocClass;
            objHeadRef.objectId    = strDocId;
            objHeadRef.objectStore = MainForm.Library;
            CEWSI.SingletonObject propHead = new CEWSI.SingletonObject();
            propHead.propertyId = "Head";
            propHead.Value      = (CEWSI.ObjectEntryType)objHeadRef;

            CEWSI.ObjectReference objTailRef = new CEWSI.ObjectReference();
            objTailRef.classId     = "Folder";
            objTailRef.objectId    = strFolderPath;
            objTailRef.objectStore = MainForm.Library;
            CEWSI.SingletonObject propTail = new CEWSI.SingletonObject();
            propTail.propertyId = "Tail";
            propTail.Value      = (CEWSI.ObjectEntryType)objTailRef;

            CEWSI.SingletonString propContainmentName = new CEWSI.SingletonString();
            propContainmentName.propertyId = "ContainmentName";
            propContainmentName.Value      = strDocTitle;

            CEWSI.ModifiablePropertyType[] objProps = new CEWSI.ModifiablePropertyType[3];
            objProps[0] = propTail;
            objProps[1] = propHead;
            objProps[2] = propContainmentName;
            objChange.ActionProperties = objProps;

            // Fill in the security headers...
            CEWSI.FNCEWS40PortTypeClient objBinding = WSIUtil.ConfigureBinding(MainForm.User,
                                                                               MainForm.Domain, MainForm.Password, MainForm.URL);

            // Send off the request
            CEWSI.ChangeResponseType[]  objResponseArray = null;
            CEWSI.ExecuteChangesRequest objRequest       = new CEWSI.ExecuteChangesRequest();
            objRequest.refresh          = false;
            objRequest.refreshSpecified = true;
            objRequest.ChangeRequest    = new CEWSI.ChangeRequestType[1];
            objRequest.ChangeRequest[0] = objChange;
            try
            {
                objResponseArray = objBinding.ExecuteChanges(WSIUtil.GetLocalization(), objRequest);
            }
            catch (System.Net.WebException ex)
            {
                MessageBox.Show("An exception occurred while filing a document: [" + ex.Message + "]");
                return;
            }
            catch (Exception allEx)
            {
                MessageBox.Show("An exception occurred: [" + allEx.Message + "]");
                return;
            }

            MessageBox.Show("Successfully filed a document!");
            return;
        }
Beispiel #3
0
        private static EcmResult FileDoc(EcmInfo info)
        {
            EcmResult ret = new EcmResult();

            // Create a Create verb, populate it to create a new RCR
            CEWSI.CreateAction createVerb = new CEWSI.CreateAction();
            createVerb.autoUniqueContainmentName          = true;
            createVerb.autoUniqueContainmentNameSpecified = true;
            createVerb.classId = "DynamicReferentialContainmentRelationship";

            CEWSI.ChangeRequestType objChange = new CEWSI.ChangeRequestType();
            objChange.Action                       = new CEWSI.ActionType[1];
            objChange.Action[0]                    = (CEWSI.ActionType)createVerb;
            objChange.TargetSpecification          = new CEWSI.ObjectReference();
            objChange.TargetSpecification.classId  = "ObjectStore";
            objChange.TargetSpecification.objectId = info.ObjectStore;
            objChange.id = "1";

            // Create the properties of the new RCR
            CEWSI.ObjectReference objHeadRef = new CEWSI.ObjectReference();
            objHeadRef.classId     = info.DocClass;
            objHeadRef.objectId    = info.DocId;
            objHeadRef.objectStore = info.ObjectStore;
            CEWSI.SingletonObject propHead = new CEWSI.SingletonObject();
            propHead.propertyId = "Head";
            propHead.Value      = (CEWSI.ObjectEntryType)objHeadRef;

            CEWSI.ObjectReference objTailRef = new CEWSI.ObjectReference();
            objTailRef.classId     = "Folder";
            objTailRef.objectId    = info.FolderPath;
            objTailRef.objectStore = info.ObjectStore;
            CEWSI.SingletonObject propTail = new CEWSI.SingletonObject();
            propTail.propertyId = "Tail";
            propTail.Value      = (CEWSI.ObjectEntryType)objTailRef;

            CEWSI.SingletonString propContainmentName = new CEWSI.SingletonString();
            propContainmentName.propertyId = "ContainmentName";
            propContainmentName.Value      = info.DocTitle;

            CEWSI.ModifiablePropertyType[] objProps = new CEWSI.ModifiablePropertyType[3];
            objProps[0] = propTail;
            objProps[1] = propHead;
            objProps[2] = propContainmentName;
            objChange.ActionProperties = objProps;

            // Fill in the security headers...
            CEWSI.FNCEWS40PortTypeClient objBinding = WSIUtil.ConfigureBinding(info.User, info.Domain, info.Password, info.Url);

            // Send off the request
            CEWSI.ChangeResponseType[]  objResponseArray = null;
            CEWSI.ExecuteChangesRequest objRequest       = new CEWSI.ExecuteChangesRequest();
            objRequest.refresh          = false;
            objRequest.refreshSpecified = true;
            objRequest.ChangeRequest    = new CEWSI.ChangeRequestType[1];
            objRequest.ChangeRequest[0] = objChange;
            try
            {
                objResponseArray = objBinding.ExecuteChanges(WSIUtil.GetLocalization(), objRequest);
            }
            catch (System.Net.WebException ex)
            {
                //Console.WriteLine("An exception occurred while filing a document: [" + ex.Message + "]");
                //Console.ReadLine();
                ret.ErrorCode = -1;
                ret.ErrorMsg  = ex.ToString();
                return(ret);
            }
            //catch (Exception allEx)
            //{
            //    //Console.WriteLine("An exception occurred: [" + allEx.Message + "]");
            //    //Console.ReadLine();
            //    return false;
            //}

            //Console.WriteLine("Successfully filed a document!");
            //Console.ReadLine();
            ret.ErrorCode = 1;
            ret.ErrorMsg  = "Successfully filed a document!";
            return(ret);
        }