예제 #1
0
        protected override bool CreateParameters()
        {
            //  参数1:跟踪项目ID号
            InParameters.Add(new Parameter("EntryItem", "Object", "Tracking.TrackingUnit"));

            return(true);
        }
예제 #2
0
        public OperationDescription(ContractDescription contract, MethodInfo operationMethod, OperationContractAttribute contractAttribute)
        {
            Contract   = contract;
            Name       = contractAttribute.Name ?? operationMethod.Name;
            SoapAction = contractAttribute.Action ?? $"{contract.Namespace.TrimEnd('/')}/{contract.Name}/{Name}";
            IsOneWay   = contractAttribute.IsOneWay;
            IsMessageContractResponse =
                operationMethod
                .ReturnType
                .CustomAttributes
                .FirstOrDefault(ca => ca.AttributeType == typeof(MessageContractAttribute)) != null;
            ReplyAction    = contractAttribute.ReplyAction;
            DispatchMethod = operationMethod;

            AllParameters = operationMethod.GetParameters()
                            .Select((info, index) => CreateParameterInfo(info, index, contract))
                            .ToArray();
            InParameters = AllParameters
                           .Where(soapParam => soapParam.Direction != SoapMethodParameterDirection.OutOnlyRef)
                           .ToArray();
            OutParameters = AllParameters
                            .Where(soapParam => soapParam.Direction != SoapMethodParameterDirection.InOnly)
                            .ToArray();

            IsMessageContractRequest =
                InParameters.Length == 1 &&
                InParameters.First().Parameter.ParameterType
                .CustomAttributes
                .FirstOrDefault(ca =>
                                ca.AttributeType == typeof(MessageContractAttribute)) != null;

            ReturnName = operationMethod.ReturnParameter.GetCustomAttribute <MessageParameterAttribute>()?.Name ?? Name + "Result";
        }
예제 #3
0
        public OperationDescription(ContractDescription contract, MethodInfo operationMethod, OperationContractAttribute contractAttribute)
        {
            Contract       = contract;
            Name           = contractAttribute.Name ?? GetNameByAction(contractAttribute.Action) ?? GetNameByMethod(operationMethod);
            SoapAction     = contractAttribute.Action ?? $"{contract.Namespace.TrimEnd('/')}/{contract.Name}/{Name}";
            IsOneWay       = contractAttribute.IsOneWay;
            DispatchMethod = operationMethod;

            ReturnType = operationMethod.ReturnType;
            if (ReturnType.IsGenericType && ReturnType.GetGenericTypeDefinition() == typeof(Task <>))
            {
                ReturnType = ReturnType.GenericTypeArguments[0];
            }

            IsMessageContractResponse = ReturnType.CustomAttributes
                                        .FirstOrDefault(ca => ca.AttributeType == typeof(MessageContractAttribute)) != null;

            AllParameters = operationMethod.GetParameters()
                            .Select((info, index) => CreateParameterInfo(info, index, contract))
                            .ToArray();
            InParameters = AllParameters
                           .Where(soapParam => soapParam.Direction != SoapMethodParameterDirection.OutOnlyRef)
                           .ToArray();
            OutParameters = AllParameters
                            .Where(soapParam => soapParam.Direction != SoapMethodParameterDirection.InOnly)
                            .ToArray();

            IsMessageContractRequest =
                InParameters.Length == 1 &&
                InParameters.First().Parameter.ParameterType
                .CustomAttributes
                .FirstOrDefault(ca =>
                                ca.AttributeType == typeof(MessageContractAttribute)) != null;

            var elementAttributes = operationMethod.ReturnParameter.GetCustomAttributes <XmlElementAttribute>().ToList();

            if (elementAttributes.Count > 1)
            {
                ReturnChoices = elementAttributes.Select(e => new ReturnChoice(e.Type, e.ElementName, e.Namespace));
            }
            else if (elementAttributes.Count == 1)
            {
                var elementAttribute = elementAttributes.First();
                ReturnElementName = elementAttribute.ElementName;
                ReturnNamespace   = elementAttribute.Form == XmlSchemaForm.Unqualified ? string.Empty : elementAttribute.Namespace;
            }

            ReturnName = operationMethod.ReturnParameter.GetCustomAttribute <MessageParameterAttribute>()?.Name ?? Name + "Result";

            ReplyAction = contractAttribute.ReplyAction ?? $"{Contract.Namespace.TrimEnd('/')}/{contract.Name}/{Name + "Response"}";

            var faultContractAttributes = operationMethod.GetCustomAttributes <FaultContractAttribute>();

            Faults = faultContractAttributes
                     .Where(a => a.DetailType?.Name != null)
                     .Select(a => a.DetailType)
                     .ToArray();

            ServiceKnownTypes = operationMethod.GetCustomAttributes <ServiceKnownTypeAttribute>(inherit: false);
        }
        protected override bool CreateParameters()
        {
            InParameters.Add(new Parameter("ProcessName", "string"));
            // InParameters.Add(new Parameter("ParameterName", "string"));
            InParameters.Add(new Parameter("ParameterValue", "string"));

            return(true);
        }
 protected override bool CreateParameters()
 {
     for (int i = 0; i < 10; i++)
     {
         Parameter Par = new Parameter("ItemID" + (i + 1).ToString(), "String");
         parameters.Add("ItemID" + (i + 1).ToString());
         InParameters.Add(Par);
     }
     return(true);
 }
        protected override bool CreateParameters()
        {
            Parameter Par1 = new Parameter("QueueName", "String");

            InParameters.Add(Par1);
            Parameter Par2 = new Parameter("QueueLength", "int32");

            OutParameters.Add(Par2);

            return(true);
        }
        protected override bool CreateParameters()
        {
            Parameter Par1 = new Parameter("ItemID", "Int32");

            InParameters.Add(Par1);

            Parameter Par2 = new Parameter("Result", "bool");

            OutParameters.Add(Par2);
            return(true);
        }
        protected override bool CreateParameters()
        {
            //  参数1:查询索引
            Parameter Par1 = new Parameter("Index", "Int32");

            InParameters.Add(Par1);

            //  参数2:查询结果
            Parameter Par2 = new Parameter("ItemID", "String");

            OutParameters.Add(Par2);
            return(true);
        }
        protected override bool CreateParameters()   //void改成bool   20180203Robin
        {
            //  参数1:队列名称
            //Parameter Par1 = new Parameter("QueueName", "String");
            //InParameters.Add(Par1);


            //  参数2:跟踪项目ID号
            Parameter Par2 = new Parameter("ItemID", "string");

            InParameters.Add(Par2);

            return(true);
        }
예제 #10
0
        /// <summary>
        /// Saves to storage.
        /// </summary>
        /// <param name="parameters">The parameters.</param>
        /// <returns>System.String.</returns>
        private string SaveToStorage(InParameters parameters)
        {
            byte[] bytes = null;

            if (parameters.MaxWidth < int.MaxValue && parameters.MaxHeight < int.MaxValue)
            {
                bytes = parameters.Bytes.ResizeToMax(new Size(parameters.MaxWidth, parameters.MaxHeight), parameters.Format);
            }

            string type = parameters.MediaMessage.Extension.TrimStart('.');
            string name = string.Format("{0}_{1}.{2}", Path.GetFileNameWithoutExtension(parameters.MediaMessage.Filename), DateTime.Now.Ticks, parameters.MediaMessage.Extension);

            AddToStorage("img", "image", name, type, bytes ?? parameters.Bytes);
            return(name);
        }
예제 #11
0
 private new bool CreateParameters()    //必须使用New以区分BaseAction里的
 {
     //  参数1:跟踪项目ID号
     try
     {
         InParameters.Add(new Parameter("SubGroupID", "Int16"));
         InParameters.Add(new Parameter("EntryItem", "Object", OwnerStorage.ItemType));
         return(true);
     }
     catch (Exception ex)
     {
         LOG.Error(string.Format("创建EntrySubStorageAction 出错{0}", ex));
         return(false);
     }
 }
예제 #12
0
        public OperationDescription(ContractDescription contract, MethodInfo operationMethod, OperationContractAttribute contractAttribute)
        {
            Contract       = contract;
            Name           = contractAttribute.Name ?? GetNameByAction(contractAttribute.Action) ?? operationMethod.Name;
            SoapAction     = contractAttribute.Action ?? $"{contract.Namespace.TrimEnd('/')}/{contract.Name}/{Name}";
            IsOneWay       = contractAttribute.IsOneWay;
            ReplyAction    = contractAttribute.ReplyAction;
            DispatchMethod = operationMethod;

            var returnType = operationMethod.ReturnType;

            if (returnType.IsGenericType && returnType.GetGenericTypeDefinition() == typeof(Task <>))
            {
                returnType = returnType.GenericTypeArguments[0];
            }

            IsMessageContractResponse = returnType.CustomAttributes
                                        .FirstOrDefault(ca => ca.AttributeType == typeof(MessageContractAttribute)) != null;

            AllParameters = operationMethod.GetParameters()
                            .Select((info, index) => CreateParameterInfo(info, index, contract))
                            .ToArray();
            InParameters = AllParameters
                           .Where(soapParam => soapParam.Direction != SoapMethodParameterDirection.OutOnlyRef)
                           .ToArray();
            OutParameters = AllParameters
                            .Where(soapParam => soapParam.Direction != SoapMethodParameterDirection.InOnly)
                            .ToArray();

            IsMessageContractRequest =
                InParameters.Length == 1 &&
                InParameters.First().Parameter.ParameterType
                .CustomAttributes
                .FirstOrDefault(ca =>
                                ca.AttributeType == typeof(MessageContractAttribute)) != null;

            ReturnName = operationMethod.ReturnParameter.GetCustomAttribute <MessageParameterAttribute>()?.Name ?? Name + "Result";

            var faultContractAttributes = operationMethod.GetCustomAttributes <FaultContractAttribute>();

            Faults = faultContractAttributes
                     .Where(a => a.DetailType?.Name != null)
                     .Select(a => a.DetailType)
                     .ToArray();
        }
예제 #13
0
        /// <summary>
        /// Saves the specified momento id.
        /// </summary>
        /// <param name="name">The name.</param>
        /// <param name="parameters">The parameters.</param>
        /// <param name="session">The session.</param>
        private static void Save(string name, InParameters parameters, ISession session)
        {
            using (var trans = session.BeginTransaction())
            {
                session.Save(
                    new MomentoMedia
                {
                    Filename  = parameters.MediaMessage.Filename,
                    Size      = parameters.MediaMessage.Size,
                    Momento   = parameters.Momento,
                    Extension = parameters.MediaMessage.Extension,
                    Url       = "img/" + name,
                    Username  = parameters.MediaMessage.Username,
                    MediaType = parameters.MomentoMediaType
                });

                trans.Commit();
            }
        }
예제 #14
0
        /// <summary>
        /// Saves the image.
        /// </summary>
        /// <param name="parameters">The parameters.</param>
        /// <param name="session">The session.</param>
        private void SaveImage(InParameters parameters, ISession session)
        {
            var name = SaveToStorage(parameters);

            Save(name, parameters, session);
        }
예제 #15
0
 internal void NotifyConfigurationLoaded()
 {
     SearchResultProcessing.NotifyConfigurationLoaded();
     InParameters.NotifyConfigurationLoaded();
 }
예제 #16
0
        public ActionResult SignForm(long id, string xmlAuditForm)
        {
            bool success = true;
            var  counter = 0;

            using (ncelsEntities db = new ncelsEntities())
            {
                try
                {
                    OBK_LetterAttachments attach = db.OBK_LetterAttachments.Where(x => x.ID == id).FirstOrDefault();
                    attach.SignXmlBigData = xmlAuditForm;
                    db.SaveChanges();
                    var countSigned = db.OBK_LetterAttachments.Count((x => (x.SignXmlBigData == null || x.SignXmlBigData == "") && x.LetterId == attach.LetterId));
                    counter = countSigned;
                    if (counter == 0)
                    {
                        OBK_LetterPortalEdo    partal    = db.OBK_LetterPortalEdo.Where(x => x.ID == attach.LetterId).FirstOrDefault();
                        OBK_LetterRegistration regPartal = db.OBK_LetterRegistration.Where(x => x.ID == partal.OBKLetterRegID).FirstOrDefault();
                        partal.LetterStatusId = 2;
                        db.SaveChanges();
                        //CallWebServiceWithEDO
                        var          employee   = db.Employees.FirstOrDefault(x => x.Login == User.Identity.Name);
                        ActionClient client     = new ActionClient();
                        InParameters parameters = new InParameters();
                        parameters.date_letter      = partal.CreatedDate.ToString("dd.MM.yyyy");
                        parameters.id_contact       = partal.ID.ToString();
                        parameters.id_edo           = "";
                        parameters.id_letter_obk    = regPartal.ID.ToString();
                        parameters.id_letter_user   = regPartal.LetterRegName;
                        parameters.date_letter_user = regPartal.LetterRegDate.Value.ToString("dd.MM.yyyy");

                        parameters.letter_text = partal.LetterContent;
                        parameters.user_obk    = employee.LastName;



                        List <OBK_LetterAttachments> listAttach = db.OBK_LetterAttachments.Where(x => x.LetterId == partal.ID).ToList();
                        List <Attachment>            lists      = new List <Attachment>();
                        foreach (OBK_LetterAttachments attachFile in listAttach)
                        {
                            Attachment attachs = new Attachment();
                            sbyte[]    signed  = Array.ConvertAll(attachFile.ContentFile, b => unchecked ((sbyte)b));
                            attachs.content = Convert.ToBase64String(attachFile.ContentFile);
                            attachs.name    = attachFile.AttachmentName;
                            attachs.sign    = attachFile.SignXmlBigData;
                            lists.Add(attachs);
                        }
                        parameters.attachments = lists.ToArray();
                        var datasend = client.sendINDocument(parameters);
                        if (datasend)
                        {
                        }
                    }
                }
                catch (Exception e)
                {
                    success = false;
                }
            }
            return(Json(new { success, counter }, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// Saves the specified momento id.
        /// </summary>
        /// <param name="name">The name.</param>
        /// <param name="parameters">The parameters.</param>
        /// <param name="session">The session.</param>
        private static void Save(string name, InParameters parameters, ISession session)
        {
            using (var trans = session.BeginTransaction())
            {
                session.Save(
                    new MomentoMedia
                        {
                            Filename = parameters.MediaMessage.Filename,
                            Size = parameters.MediaMessage.Size.ToString(CultureInfo.InvariantCulture),
                            Momento = parameters.Momento,
                            Extension = parameters.MediaMessage.Extension,
                            Url = "img/" + name,
                            Username = parameters.MediaMessage.Username,
                            MediaType = parameters.MomentoMediaType
                        });

                trans.Commit();
            }
        }
        /// <summary>
        /// Saves to storage.
        /// </summary>
        /// <param name="parameters">The parameters.</param>
        /// <returns>System.String.</returns>
        private string SaveToStorage(InParameters parameters)
        {
            byte[] bytes = null;

            if (parameters.MaxWidth < int.MaxValue && parameters.MaxHeight < int.MaxValue)
            {
                bytes = parameters.Bytes.ResizeToMax(new Size(parameters.MaxWidth, parameters.MaxHeight), parameters.Format);
            }

            string type = parameters.MediaMessage.Extension.TrimStart('.');
            string name = string.Format("{0}_{1}.{2}", Path.GetFileNameWithoutExtension(parameters.MediaMessage.Filename), DateTime.Now.Ticks, parameters.MediaMessage.Extension);

            AddToStorage("img", "image", name, type, bytes ?? parameters.Bytes);
            return name;
        }
 /// <summary>
 /// Saves the image.
 /// </summary>
 /// <param name="parameters">The parameters.</param>
 /// <param name="session">The session.</param>
 private void SaveImage(InParameters parameters, ISession session)
 {
     var name = SaveToStorage(parameters);
     Save(name, parameters, session);
 }