示例#1
0
        /// <summary>
        /// 提交清单
        /// </summary>
        /// <param name="BoqNo"></param>
        /// <param name="OperationBy"></param>
        /// <param name="Tran"></param>
        /// <returns></returns>
        private int Commit(String WbsNo, String OperationBy, SqlTransaction Tran = null)
        {
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@WbsNo", WbsNo));
            cmds.Add(new CmdParameter("@OperationBy", OperationBy));
            cmds.Add(new CmdParameter("@Version", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));

            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_Wbs_Commit", CommandType.StoredProcedure, pResult.Parameters, Tran);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
            return(Convert.ToInt32(pResult["@Version"]));
        }
示例#2
0
        /// <summary>
        /// Returns the overloads for a normal .NET type
        /// </summary>
        private OverloadResult[] GetClrOverloads()
        {
            Type clrType = ClrModule.GetClrType(_type);
            // just a normal .NET type...
            var ctors = clrType.GetConstructors(BindingFlags.Public | BindingFlags.CreateInstance | BindingFlags.Instance);

            var overloads = new OverloadResult[ctors.Length];

            for (int i = 0; i < ctors.Length; i++)
            {
                // TODO: Docs, python type name
                var  parameters = ctors[i].GetParameters();
                bool hasContext = parameters.Length > 0 && parameters[0].ParameterType == typeof(CodeContext);

                var paramResult = new ParameterResult[hasContext ? parameters.Length - 1 : parameters.Length];

                for (int j = 0; j < paramResult.Length; j++)
                {
                    var curParam = parameters[j + (hasContext ? 1 : 0)];
                    // TODO: Docs
                    paramResult[j] = BuiltinFunctionOverloadResult.GetParameterResultFromParameterInfo(curParam);
                }
                overloads[i] = new SimpleOverloadResult(paramResult, PythonType.Get__name__(_type), "");
            }

            return(overloads);
        }
示例#3
0
 public PythonParameter(ISignature signature, ParameterResult param, Span locus, Span ppLocus) {
     _signature = signature;
     _param = param;
     _locus = locus;
     _ppLocus = ppLocus;
     _documentation = _param.Documentation.LimitLines(15, stopAtFirstBlankLine: true);
 }
示例#4
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="tran"></param>
        /// <param name="period"></param>
        /// <param name="operationBy"></param>
        /// <returns></returns>
        private Manager InnerUpdate(SqlTransaction tran, Manager manager, string operationBy)
        {
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@ManagerNo", manager.ManagerNo));
            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@LoginName", manager.LoginName));
            cmds.Add(new CmdParameter("@UserName", manager.UserName));
            cmds.Add(new CmdParameter("@UserType", manager.UserType));
            cmds.Add(new CmdParameter("@OrgNo", manager.OrgNo));
            cmds.Add(new CmdParameter("@OrgName", manager.OrgName));
            cmds.Add(new CmdParameter("@ProjectName", manager.ProjectName));
            cmds.Add(new CmdParameter("@ProjectNo", manager.ProjectNo));
            cmds.Add(new CmdParameter("@OperationBy", operationBy));
            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            hdDbCmdManager.Execute("[ERP_Subpay].[dbo].[Cmn_Manager_Update]", CommandType.StoredProcedure, pResult.Parameters, tran);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
            return(manager);
        }
        public void ChangeStat(String BoqNo, int ExecuteStat)
        {
            Commit(BoqNo, ServiceContext.LoginName);
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@BoqNo", BoqNo));
            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@ApprovalStat", 1));
            cmds.Add(new CmdParameter("@ExecuteStat", ExecuteStat));
            cmds.Add(new CmdParameter("@OperationBy", ServiceContext.LoginName));

            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_Boq_ChangeBusinessStat", CommandType.StoredProcedure, pResult.Parameters);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
        }
 public static HumanTaskDefResult ToDto(HumanTaskDefinitionAggregate humanTaskDef)
 {
     return(new HumanTaskDefResult
     {
         ActualOwnerRequired = humanTaskDef.ActualOwnerRequired,
         Id = humanTaskDef.AggregateId,
         UpdateDateTime = humanTaskDef.UpdateDateTime,
         CreateDateTime = humanTaskDef.CreateDateTime,
         Name = humanTaskDef.Name,
         NbInstances = humanTaskDef.NbInstances,
         Priority = humanTaskDef.Priority,
         Version = humanTaskDef.Version,
         SearchBy = humanTaskDef.SearchBy,
         Outcome = humanTaskDef.Outcome,
         Rendering = string.IsNullOrWhiteSpace(humanTaskDef.Rendering) ? new JObject()
         {
             { "type", "container" },
             { "children", new JArray() }
         } : JObject.Parse(humanTaskDef.Rendering),
         OperationParameters = humanTaskDef.OperationParameters.Select(_ => ParameterResult.ToDto(_)).ToList(),
         PeopleAssignments = humanTaskDef.PeopleAssignments.Select(_ => PeopleAssignmentDefinitionResult.ToDto(_)).ToList(),
         PresentationElements = humanTaskDef.PresentationElements.Select(_ => PresentationElementDefinitionResult.ToDto(_)).ToList(),
         DeadLines = humanTaskDef.DeadLines.Select(_ => HumanTaskDefinitionDeadLineResult.ToDto(_)).ToList(),
         PresentationParameters = humanTaskDef.PresentationParameters.Select(_ => PresentationParameterResult.ToDto(_)).ToList()
     });
 }
        /// <summary>
        /// 插入清单
        /// </summary>
        /// <param name="ProjectNo"></param>
        /// <param name="BoqName"></param>
        /// <param name="TotalAmount"></param>
        /// <param name="OperationBy">操作人</param>
        private String InsertBoq(String ProjectNo, String BidNo, String BoqName, decimal TotalAmount, String OperationBy, SqlTransaction tran = null)
        {
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@ProjectNo", ProjectNo));
            cmds.Add(new CmdParameter("@BidNo", BidNo));
            cmds.Add(new CmdParameter("@BoQName", BoqName));
            cmds.Add(new CmdParameter("@Description", null));
            cmds.Add(new CmdParameter("@TotalAmount", TotalAmount));
            cmds.Add(new CmdParameter("@TotalAmountEx", null));
            cmds.Add(new CmdParameter("@OperationBy", OperationBy));
            cmds.Add(new CmdParameter("@Id", 0, System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@BoqNo", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));

            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_Boq_Add", CommandType.StoredProcedure, pResult.Parameters);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
            return(pResult["@BoqNo"].ToString());
        }
示例#8
0
        private void ChangeDataStat(String ChangeDetailNo, int StatId, String OperationBy, SqlTransaction Tran)
        {
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@ChangeDetailNo", ChangeDetailNo));
            cmds.Add(new CmdParameter("@StatId", StatId));
            cmds.Add(new CmdParameter("@RecordValidity", StatId));
            cmds.Add(new CmdParameter("@OperationBy", OperationBy));
            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));

            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_ChangeDetail_ChangeDataStat", CommandType.StoredProcedure, pResult.Parameters, Tran);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
        }
示例#9
0
        /// <summary>
        /// 更新清单头
        /// </summary>
        /// <param name="BoqNo"></param>
        /// <param name="BoqName"></param>
        /// <param name="TotalAmount"></param>
        /// <param name="Tran"></param>
        private void Update(ContractBoqChange ChangeData, String OperationBy, SqlTransaction Tran)
        {
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@ChangeNo", ChangeData.ChangeNo));
            cmds.Add(new CmdParameter("@Remark", ChangeData.Remark));
            cmds.Add(new CmdParameter("@OperationBy", OperationBy));
            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@ProjectNo", ChangeData.ProjectNo));
            cmds.Add(new CmdParameter("@ChangeCode", ChangeData.ChangeCode));
            cmds.Add(new CmdParameter("@ChangeName", ChangeData.ChangeName));
            cmds.Add(new CmdParameter("@Type", ChangeData.Type));
            cmds.Add(new CmdParameter("@ChangeDate", ChangeData.ChangeDate));
            cmds.Add(new CmdParameter("@ChangeAmount", ChangeData.ChangeAmount));
            cmds.Add(new CmdParameter("@BoiNum", ChangeData.BoiNum));
            cmds.Add(new CmdParameter("@Description", ChangeData.Description));

            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_Change_Update", CommandType.StoredProcedure, pResult.Parameters, Tran);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
        }
示例#10
0
        public int Commit(string ChangeNo)
        {
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@ChangeNo", ChangeNo));
            cmds.Add(new CmdParameter("@OperationBy", ServiceContext.LoginName));
            cmds.Add(new CmdParameter("@Version", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));

            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_Change_Commit", CommandType.StoredProcedure, pResult.Parameters);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
            return(Convert.ToInt32(pResult["@Version"]));
        }
示例#11
0
        ///// <summary>
        ///// 快速插入关联关系-用于关联关系初始化导入
        ///// </summary>
        ///// <param name="ProjectNo"></param>
        ///// <param name="BidNo"></param>
        ///// <param name="WbsName"></param>
        ///// <param name="TotalAmount"></param>
        ///// <param name="AddList"></param>
        ///// <param name="UpdateList"></param>
        ///// <param name="DeleteItemNoList"></param>
        ///// <param name="AddRelation"></param>
        ///// <param name="UpdateRelation"></param>
        ///// <param name="DeleteRelation"></param>
        ///// <returns></returns>
        //public WBSBoq Save(string ProjectNo, string BidNo, String WbsName, decimal TotalAmount
        //                              , List<WBSline> AddList, List<WBSline> UpdateList, List<string> DeleteItemNoList
        //                              , List<WBSline_boi> AddRelation, List<WBSline_boi> UpdateRelation, List<WBSline_boi> DeleteRelation)
        //{
        //    WBSBoq result = new WBSBoq();
        //    String strWbsNo = null;
        //    strWbsNo = GetWbsNo(ProjectNo);

        //    //修改
        //    if (UpdateList != null)
        //    {
        //        UpdateList.ForEach(m =>
        //        {
        //            UpdateWBSline(m, ServiceContext.LoginName);
        //        });
        //    }

        //    //新增关联关系
        //    if (AddRelation != null)
        //    {
        //        AddRelation.ForEach(m =>
        //        {
        //            m.WbsNo = strWbsNo;
        //            if (String.IsNullOrEmpty(m.WBSLineNo))
        //            {
        //                WBSline line = result.WBSlineList.Find(n => n.WbsSysCode == m.WbsSysCode);
        //                m.WBSLineNo = line != null ? line.WbsLineNo : null;
        //            }
        //            //result.AllRelationList.Add(AddWBSlineBoi(strWbsNo, m, ServiceContext.LoginName));
        //        });

        //        //剔除类中DBField = false的属性名
        //        List<string> ingorePropetiesName = new List<string>();
        //        System.Reflection.PropertyInfo[] properties = typeof(WBSline_boi).GetProperties();

        //        foreach (System.Reflection.PropertyInfo item in properties)
        //        {
        //            var classAttribute = (DBFieldAttribute)Attribute.GetCustomAttribute(item, typeof(DBFieldAttribute));

        //            if (classAttribute != null && !classAttribute.IsField)  //剔除Dbfield = False的属性
        //            {
        //                ingorePropetiesName.Add(item.Name);
        //            }

        //            if (item.Name == "id" || item.Name == "Id" || item.Name == "ID")  //如果存在ID属性,同样剔除
        //            {
        //                ingorePropetiesName.Add(item.Name);
        //            }
        //            if (item.Name == "TypeOfDataModified")  //如果存在TypeOfDataModified属性,同样剔除
        //            {
        //                ingorePropetiesName.Add("TypeOfDataModified");
        //            }
        //        }
        //        //批量插入
        //        HdSqlCommand.GetInstance().BulkInsert<WBSline_boi>("ERP_BoQ.dbo.gl_cntrct_wbsline_boi", AddRelation, ingorePropetiesName.ToArray());


        //    }
        //    return result;
        //}

        /// <summary>
        /// 修改清单头的状态字段
        /// </summary>
        /// <param name="boq"></param>
        public void ChangeStat(WBSBoq boq)
        {
            Commit(boq.WbsNo, ServiceContext.LoginName);
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@WbsNo", boq.WbsNo));
            cmds.Add(new CmdParameter("@ApprovalBy", boq.ApprovalBy));
            cmds.Add(new CmdParameter("@ApprovalDate", boq.ApprovalDate));
            cmds.Add(new CmdParameter("@ApprovalStat", boq.ApprovalStat));
            cmds.Add(new CmdParameter("@ExecuteStat", boq.ExecuteStat));
            cmds.Add(new CmdParameter("@WfdefId", boq.WfdefId));
            cmds.Add(new CmdParameter("@RefCategory", boq.RefCategory));
            cmds.Add(new CmdParameter("@inWorkflow", boq.inWorkflow));
            cmds.Add(new CmdParameter("@OperationBy", ServiceContext.LoginName));

            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));

            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_Wbs_ChangeBusinessStat", CommandType.StoredProcedure, pResult.Parameters);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
        }
示例#12
0
 public NodejsParameter(ISignature signature, ParameterResult param, Span locus, Span ppLocus, string documentation = null) {
     _signature = signature;
     _param = param;
     _locus = locus;
     _ppLocus = ppLocus;
     _documentation = (documentation ?? _param.Documentation).LimitLines(15, stopAtFirstBlankLine: true);
 }
示例#13
0
        /// <summary>
        /// 发布
        /// </summary>
        /// <param name="m"></param>
        public void Release(WBSBoq m)
        {
            Commit(m.WbsNo, ServiceContext.LoginName);
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@WbsNo", m.WbsNo));
            cmds.Add(new CmdParameter("@ReleaseBy", m.ReleaseBy));
            cmds.Add(new CmdParameter("@ReleaseDate", m.ReleaseDate));
            cmds.Add(new CmdParameter("@OperationBy", ServiceContext.LoginName));
            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));

            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_Wbs_Release", CommandType.StoredProcedure, pResult.Parameters);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
        }
示例#14
0
        /// <summary>
        /// 更新清单头
        /// </summary>
        /// <param name="BoqNo"></param>
        /// <param name="BoqName"></param>
        /// <param name="TotalAmount"></param>
        /// <param name="Tran"></param>
        private void UpdateBoq(String BidNo, String WbsNo, String WbsName, Decimal TotalAmount, String OperationBy, SqlTransaction Tran)
        {
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@BidNo", BidNo));
            cmds.Add(new CmdParameter("@WbsNo", WbsNo));
            cmds.Add(new CmdParameter("@WbsName", WbsName));
            cmds.Add(new CmdParameter("@TotalAmount", TotalAmount));
            cmds.Add(new CmdParameter("@TotalAmountEx", null));
            cmds.Add(new CmdParameter("@OperationBy", OperationBy));
            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));

            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_Wbs_Update", CommandType.StoredProcedure, pResult.Parameters, Tran);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
        }
 private static string GetSafeParameterName(ParameterResult result, int index)
 {
     if (!string.IsNullOrEmpty(result.DefaultValue))
     {
         return(GetSafeArgumentName(result, index) + "=" + result.DefaultValue);
     }
     return(GetSafeArgumentName(result, index));
 }
示例#16
0
 public GeneroParameter(ISignature signature, ParameterResult param, Span locus, Span ppLocus)
 {
     _signature     = signature;
     _param         = param;
     _locus         = locus;
     _ppLocus       = ppLocus;
     _documentation = _param.Documentation.LimitLines(15, stopAtFirstBlankLine: true);
 }
示例#17
0
 public NodejsParameter(ISignature signature, ParameterResult param, Span locus, Span ppLocus, string documentation = null)
 {
     _signature     = signature;
     _param         = param;
     _locus         = locus;
     _ppLocus       = ppLocus;
     _documentation = (documentation ?? _param.Documentation).LimitLines(15, stopAtFirstBlankLine: true);
 }
示例#18
0
        /// <summary>
        /// 插入关联关系项
        /// </summary>
        /// <param name="BoqNo"></param>
        /// <param name="Boi"></param>
        /// <param name="OperationBy">操作人</param>
        /// <returns>No信息</returns>
        private WBSline_boi AddWBSlineBoi(string WbsNo, WBSline_boi Boi, String OperationBy, SqlTransaction Tran = null)
        {
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@ProjectNo", Boi.ProjectNo));
            cmds.Add(new CmdParameter("@BidNo", Boi.BidNo));
            cmds.Add(new CmdParameter("@WbsNo", WbsNo));
            cmds.Add(new CmdParameter("@BoQNo", Boi.BoQNo));
            cmds.Add(new CmdParameter("@ItemNo", Boi.ItemNo));
            cmds.Add(new CmdParameter("@ItemName", Boi.ItemName));
            cmds.Add(new CmdParameter("@WBSLineNo", Boi.WBSLineNo));
            cmds.Add(new CmdParameter("@WbsSysCode", Boi.WbsSysCode));
            cmds.Add(new CmdParameter("@Currency", Boi.Currency));
            cmds.Add(new CmdParameter("@CurrencyCode", Boi.CurrencyCode));
            cmds.Add(new CmdParameter("@ExchangeRate", Boi.ExchangeRate));

            cmds.Add(new CmdParameter("@Uom", Boi.Uom));
            cmds.Add(new CmdParameter("@Qty", Boi.Qty));
            cmds.Add(new CmdParameter("@Amount", Boi.Amount));

            cmds.Add(new CmdParameter("@CtrctQty", Boi.CtrctQty));
            cmds.Add(new CmdParameter("@CtrctPrjPrice", Boi.CtrctPrjPrice));
            cmds.Add(new CmdParameter("@CtrctAmount", Boi.CtrctAmount));
            cmds.Add(new CmdParameter("@LatestQty", Boi.LatestQty));
            cmds.Add(new CmdParameter("@LatestPrice", Boi.LatestPrice));
            cmds.Add(new CmdParameter("@LatestAmount", Boi.LatestAmount));
            cmds.Add(new CmdParameter("@ChangeQty", Boi.ChangeQty));
            cmds.Add(new CmdParameter("@ChangePrice", Boi.ChangePrice));
            cmds.Add(new CmdParameter("@ChangeAmount", Boi.ChangeAmount));
            cmds.Add(new CmdParameter("@Description", Boi.Description));
            cmds.Add(new CmdParameter("@CategoryNo", Boi.CategoryNo));
            cmds.Add(new CmdParameter("@isCntrcItem", Boi.isCntrcItem));
            cmds.Add(new CmdParameter("@isImportant", Boi.isImportant));
            cmds.Add(new CmdParameter("@IsTax", Boi.IsTax));
            cmds.Add(new CmdParameter("@EndingComputeQty", Boi.EndingComputeQty));
            cmds.Add(new CmdParameter("@EndingComputeAmount", Boi.EndingComputeAmount));

            cmds.Add(new CmdParameter("@OperationBy", OperationBy));
            cmds.Add(new CmdParameter("@Id", 0, System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));
            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_WbsLine_Boi_Add", CommandType.StoredProcedure, pResult.Parameters, Tran);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
            Boi.WbsNo = WbsNo;
            return(Boi);
        }
示例#19
0
        /// <summary>
        /// 插入清单项
        /// </summary>
        /// <param name="BoqNo"></param>
        /// <param name="Detail"></param>
        /// <param name="OperationBy">操作人</param>
        /// <returns>No信息</returns>
        private ContractBoqChangeDetail InsertDetail(ContractBoqChangeDetail Detail, String OperationBy, SqlTransaction Tran = null)
        {
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@ProjectNo", Detail.ProjectNo));
            cmds.Add(new CmdParameter("@ChangeNo", Detail.ChangeNo));
            cmds.Add(new CmdParameter("@Type", Detail.Type));
            cmds.Add(new CmdParameter("@IsUpInfo", Detail.IsUpInfo));
            cmds.Add(new CmdParameter("@IsUpQty", Detail.IsUpQty));
            cmds.Add(new CmdParameter("@IsUpPrice", Detail.IsUpPrice));

            cmds.Add(new CmdParameter("@ItemNo", Detail.ItemNo));
            cmds.Add(new CmdParameter("@ItemCode", Detail.ItemCode));
            cmds.Add(new CmdParameter("@IItemCoe", Detail.IItemCoe));
            cmds.Add(new CmdParameter("@ItemName", Detail.ItemName));

            cmds.Add(new CmdParameter("@ParentCode", Detail.ParentCode));
            cmds.Add(new CmdParameter("@Currency", Detail.Currency));
            cmds.Add(new CmdParameter("@CurrencyCode", Detail.CurrencyCode));
            cmds.Add(new CmdParameter("@ExchangeRate", Detail.ExchangeRate));
            cmds.Add(new CmdParameter("@Uom", Detail.Uom));
            cmds.Add(new CmdParameter("@BefQty", Detail.BefQty));
            cmds.Add(new CmdParameter("@BefPrjPrice", Detail.BefPrjPrice));
            cmds.Add(new CmdParameter("@BefAmount", Detail.BefAmount));
            cmds.Add(new CmdParameter("@AfQty", Detail.AfQty));
            cmds.Add(new CmdParameter("@AfPrice", Detail.AfPrice));
            cmds.Add(new CmdParameter("@AfAmount", Detail.AfAmount));

            cmds.Add(new CmdParameter("@ChangeQty", Detail.ChangeQty));
            cmds.Add(new CmdParameter("@ChangePrice", Detail.ChangePrice));
            cmds.Add(new CmdParameter("@ChangeAmount", Detail.ChangeAmount));
            cmds.Add(new CmdParameter("@Description", Detail.Description));
            cmds.Add(new CmdParameter("@Remark", Detail.Remark));
            cmds.Add(new CmdParameter("@OperationBy", OperationBy));
            cmds.Add(new CmdParameter("@Id", 0, System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@ChangeDetailNo", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));

            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_ChangeDetail_Add", CommandType.StoredProcedure, pResult.Parameters, Tran);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
            Detail.ChangeDetailNo = pResult["@ChangeDetailNo"].ToString();
            return(Detail);
        }
示例#20
0
        private ParameterResult Parse(Parameter parameter)
        {
            ParameterResult response = new ParameterResult();

            response.Description = parameter.Description;
            response.Id          = parameter.Id.ToString();
            response.Key         = parameter.Key;
            response.Value       = parameter.Value;

            return(response);
        }
 public static NotificationDefResult ToDto(NotificationDefinitionAggregate notif)
 {
     return(new NotificationDefResult
     {
         Name = notif.Name,
         OperationParameters = notif.OperationParameters.Select(_ => ParameterResult.ToDto(_)).ToList(),
         PeopleAssignments = notif.PeopleAssignments.Select(_ => PeopleAssignmentDefinitionResult.ToDto(_)).ToList(),
         PresentationElements = notif.PresentationElements.Select(_ => PresentationElementDefinitionResult.ToDto(_)).ToList(),
         PresentationParameters = notif.PresentationParameters.Select(_ => PresentationParameterResult.ToDto(_)).ToList(),
         Priority = notif.Priority,
         Rendering = notif.Rendering
     });
 }
示例#22
0
        private static string GetSafeArgumentName(ParameterResult result, int index) {
            var match = ValidParameterName.Match(result.Name);

            if (match.Success) {
                return match.Value;
            } else if (result.Name.StartsWith("**")) {
                return "**kwargs";
            } else if (result.Name.StartsWith("*")) {
                return "*args";
            } else {
                return "arg" + index.ToString();
            }
        }
            public int CompareTo(Object obj)
            {
                ParameterResult pr = obj as ParameterResult;

                if (pr == null)
                {
                    throw new ArgumentException("Can only compare to same type..");
                }
                if (Math.Abs(C - pr.C) > 0.0000001)
                {
                    return(C.CompareTo(pr.C));
                }
                return(Gamma.CompareTo(pr.Gamma));
            }
示例#24
0
        public void Fixed(string ChangeNo, bool Fixed)
        {
            Commit(ChangeNo);
            if (Fixed)
            {
                List <CmdParameter> cmds = new List <CmdParameter>();
                cmds.Add(new CmdParameter("@ChangeNo", ChangeNo));
                cmds.Add(new CmdParameter("@ReleaseBy", ServiceContext.UserName));
                cmds.Add(new CmdParameter("@ReleaseDate", DateTime.Now));
                cmds.Add(new CmdParameter("@OperationBy", ServiceContext.LoginName));
                cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
                cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));

                ParameterResult pResult = new ParameterResult()
                {
                    Parameters = cmds.ToArray()
                };
                HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_Change_Release", CommandType.StoredProcedure, pResult.Parameters);
                if (!Convert.ToBoolean(pResult["@Ok"]))
                {
                    throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                    {
                        ErrorMessage = pResult["@Infor"].ToString()
                    });
                }
            }
            else
            {
                List <CmdParameter> cmds = new List <CmdParameter>();
                cmds.Add(new CmdParameter("@ChangeNo", ChangeNo));
                cmds.Add(new CmdParameter("@OperationBy", ServiceContext.LoginName));
                cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
                cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));

                ParameterResult pResult = new ParameterResult()
                {
                    Parameters = cmds.ToArray()
                };
                HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_Change_UnFix", CommandType.StoredProcedure, pResult.Parameters);
                if (!Convert.ToBoolean(pResult["@Ok"]))
                {
                    throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                    {
                        ErrorMessage = pResult["@Infor"].ToString()
                    });
                }
            }
        }
示例#25
0
        private static string FormatParameter(ParameterResult p)
        {
            var res = new StringBuilder(p.Name);

            if (!string.IsNullOrEmpty(p.Type))
            {
                res.Append(": ");
                res.Append(p.Type);
            }
            if (!string.IsNullOrEmpty(p.DefaultValue))
            {
                res.Append('=');
                res.Append(p.DefaultValue);
            }
            return(res.ToString());
        }
示例#26
0
        /// <summary>
        /// 插入清单项
        /// </summary>
        /// <param name="BoqNo"></param>
        /// <param name="Boi"></param>
        /// <param name="OperationBy">操作人</param>
        /// <returns>No信息</returns>
        private ContractBoiNoInfo InsertBoi(String BoqNo, ContractBoi Boi, String OperationBy, SqlTransaction Tran = null)
        {
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@ProjectNo", Boi.ProjectNo));
            cmds.Add(new CmdParameter("@BidNo", Boi.BidNo));
            cmds.Add(new CmdParameter("@BoQNo", BoqNo));
            cmds.Add(new CmdParameter("@IItemCoe", Boi.IItemCoe));
            cmds.Add(new CmdParameter("@ItemName", Boi.ItemName));
            cmds.Add(new CmdParameter("@ParentCode", Boi.ParentCode));
            cmds.Add(new CmdParameter("@Currency", Boi.Currency));
            cmds.Add(new CmdParameter("@CurrencyCode", Boi.CurrencyCode));
            cmds.Add(new CmdParameter("@ExchangeRate", Boi.ExchangeRate));
            cmds.Add(new CmdParameter("@Uom", Boi.Uom));
            cmds.Add(new CmdParameter("@CtrctQty", Boi.CtrctQty));
            cmds.Add(new CmdParameter("@CtrctPrjPrice", Boi.CtrctPrjPrice));
            cmds.Add(new CmdParameter("@CtrctAmount", Boi.CtrctAmount));
            cmds.Add(new CmdParameter("@Description", Boi.Description));
            cmds.Add(new CmdParameter("@CategoryNo", Boi.CategoryNo));
            cmds.Add(new CmdParameter("@isCntrctItem", Boi.isCntrctItem));
            cmds.Add(new CmdParameter("@isImportant", Boi.isImportant));
            cmds.Add(new CmdParameter("@isTax", Boi.isTax));
            cmds.Add(new CmdParameter("@OperationBy", OperationBy));
            cmds.Add(new CmdParameter("@Id", 0, System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@ItemNo", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@ItemCode", Boi.ItemCode, System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));
            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_Boi_Add", CommandType.StoredProcedure, pResult.Parameters, Tran);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
            ContractBoiNoInfo BoiInfo = new ContractBoiNoInfo();

            BoiInfo.ItemCode = Boi.ItemCode;
            BoiInfo.ItemNo   = pResult["@ItemNo"].ToString();
            return(BoiInfo);
        }
        public static SVMParameter FindBestHyperparameters(SVMProblem problem, SVMParameter parameter)
        {
            int nFold   = int.Parse(Configuration.Get("nFold"));
            int logTo   = int.Parse(Configuration.Get("logTo"));
            int logFrom = int.Parse(Configuration.Get("logFrom"));

            BlockingCollection <ParameterResult> results = new BlockingCollection <ParameterResult>();
            List <Task> tasks = new List <Task>();

            for (double cLog = logFrom; cLog <= logTo; cLog++)
            {
                double c = Math.Pow(2, cLog);
                tasks.Add(Task.Factory.StartNew(() =>
                {
                    for (double gammaLog = logFrom; gammaLog <= logTo; gammaLog++)
                    {
                        SVMParameter parameterUnderTest = parameter.Clone();
                        parameterUnderTest.C            = c;
                        parameterUnderTest.Gamma        = Math.Pow(2, gammaLog);
                        problem.CrossValidation(parameterUnderTest, nFold, out var crossValidationResults);
                        double crossValidationAccuracy = problem.EvaluateClassificationProblem(crossValidationResults);

                        results.Add(new ParameterResult()
                        {
                            Accuracy = crossValidationAccuracy, C = parameterUnderTest.C,
                            Gamma    = parameterUnderTest.Gamma
                        });
                    }
                }));
            }
            Task.WaitAll(tasks.ToArray());

            var resultList = results.ToList();

            resultList.Sort();

            ParameterResult bestParameter =
                HighestScore(resultList);

            SaveToCsv(results, "svmData.txt");
            SVMParameter returnValue = parameter.Clone();

            returnValue.C     = bestParameter.C;
            returnValue.Gamma = bestParameter.Gamma;
            return(returnValue);
        }
            private void HandleSigResult()
            {
                Debug.Assert(Monitor.IsEntered(_streamLock));

                int overloadCount = _stream.ReadInt32();

                OverloadDoc[] docs = new OverloadDoc[overloadCount];
                for (int i = 0; i < overloadCount; i++)
                {
                    string doc        = _stream.ReadString();
                    int    paramCount = _stream.ReadInt32();

                    ParameterResult[] parameters = new ParameterResult[paramCount];
                    for (int curParam = 0; curParam < paramCount; curParam++)
                    {
                        string name   = _stream.ReadString();
                        int    equals = name.IndexOf('=');
                        if (equals < 0)
                        {
                            parameters[curParam] = new ParameterResult(name);
                        }
                        else
                        {
                            parameters[curParam] = new ParameterResult(
                                name.Remove(equals),
                                null,
                                null,
                                // Even though it has a default, don't mark the
                                // parameter as optional (for consistency with
                                // signature help from the database)
                                false,
                                null,
                                name.Substring(equals + 1)
                                );
                        }
                    }

                    docs[i] = new OverloadDoc(doc, parameters);
                }
                _overloads = docs;
                _completionResultEvent.Set();
            }
示例#29
0
        /// <summary>
        /// 插入清单项
        /// </summary>
        /// <param name="BoqNo"></param>
        /// <param name="Boi"></param>
        /// <param name="OperationBy">操作人</param>
        /// <returns>No信息</returns>
        private WBSline InsertWBSline(String WbsNo, WBSline Boi, String OperationBy, SqlTransaction Tran = null)
        {
            List <CmdParameter> cmds = new List <CmdParameter>();

            cmds.Add(new CmdParameter("@ProjectNo", Boi.ProjectNo));
            cmds.Add(new CmdParameter("@BidNo", Boi.BidNo));
            cmds.Add(new CmdParameter("@WbsNo", WbsNo));
            cmds.Add(new CmdParameter("@WbsLineCode", Boi.WbsLineCode));
            cmds.Add(new CmdParameter("@WbsLineName", Boi.WbsLineName));
            cmds.Add(new CmdParameter("@WbsSysCode", Boi.WbsSysCode));
            cmds.Add(new CmdParameter("@ParentCode", Boi.ParentCode));
            cmds.Add(new CmdParameter("@Amount", Boi.Amount));
            cmds.Add(new CmdParameter("@AmountEx", Boi.AmountEx));
            cmds.Add(new CmdParameter("@Currency", Boi.Currency));
            cmds.Add(new CmdParameter("@CurrencyCode", Boi.CurrencyCode));
            cmds.Add(new CmdParameter("@ExchangeRate", Boi.ExchangeRate));
            cmds.Add(new CmdParameter("@DrawNo", Boi.DrawNo));
            cmds.Add(new CmdParameter("@StartStakesNo", Boi.StartStakesNo));
            cmds.Add(new CmdParameter("@EndStakesNo", Boi.EndStakesNo));
            cmds.Add(new CmdParameter("@OperationBy", OperationBy));
            cmds.Add(new CmdParameter("@Id", 0, System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@WbsLineNo", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Infor", "", System.Data.ParameterDirection.Output));
            cmds.Add(new CmdParameter("@Ok", 0, System.Data.ParameterDirection.Output));
            ParameterResult pResult = new ParameterResult()
            {
                Parameters = cmds.ToArray()
            };

            HdDbCmdManager.GetInstance().Execute("ERP_BoQ.dbo.Gl_Cntrct_Wbsline_Add", CommandType.StoredProcedure, pResult.Parameters, Tran);
            if (!Convert.ToBoolean(pResult["@Ok"]))
            {
                throw new FaultException <ApplicationServiceError>(new ApplicationServiceError()
                {
                    ErrorMessage = pResult["@Infor"].ToString()
                });
            }
            Boi.WbsNo     = WbsNo;
            Boi.WbsLineNo = pResult["@WbsLineNo"].ToString();
            return(Boi);
        }
示例#30
0
        public ParameterResult GetParameters()
        {
            lock (GParams.Instance.ComLockObj)
            {
                var _result = new ParameterResult
                {
                    ProzSoldGewein = 15,
                    SellerInfoText =
                        @"Die Abholung der nicht verkauften Ware, oder des Erlöses der verkauften Waren, muss am Samstag den 29.10.2011 bis 15:00 Uhr gegen Vorlage des Anmeldezettels erfolgen. Für abhanden gekommene Gegenstände wird von Seiten des Skiclubs Untergrombach e.V. keine Haftung übernommen. Der Verkauf der Ware erfolgt in fremden Namen und auf fremde Rechnung."
                };


                Program.CfgFile.Read();

                _result.ProzSoldGewein = Program.CfgFile.getValue_AsdDouble("SellParams", "ProzGewin", _result.ProzSoldGewein);
                _result.SellerInfoText = Program.CfgFile.getValue_AsString("SellParams", "InfoMsgPosPrint", _result.SellerInfoText);
                _result.PrintPev       = Program.CfgFile.getValue_AsBool("General", "PrintPev", true);

                return(_result);
            }
        }
        private static string GetSafeArgumentName(ParameterResult result, int index)
        {
            var match = ValidParameterName.Match(result.Name);

            if (match.Success)
            {
                return(match.Value);
            }
            else if (result.Name.StartsWithOrdinal("**"))
            {
                return("**kwargs");
            }
            else if (result.Name.StartsWithOrdinal("*"))
            {
                return("*args");
            }
            else
            {
                return("arg" + index.ToString());
            }
        }
示例#32
0
        private void HandleSigResult()
        {
            int overloadCount = Socket.ReadInt();

            OverloadDoc[] docs = new OverloadDoc[overloadCount];
            for (int i = 0; i < overloadCount; i++)
            {
                string doc        = Socket.ReadString();
                int    paramCount = Socket.ReadInt();

                ParameterResult[] parameters = new ParameterResult[paramCount];
                for (int curParam = 0; curParam < paramCount; curParam++)
                {
                    string name = Socket.ReadString();
                    parameters[curParam] = new ParameterResult(name);
                }
                docs[i] = new OverloadDoc(doc, parameters);
            }
            _overloads = docs;
            _completionResultEvent.Set();
        }
        private static ISignature[] GetLiveSignatures(string text, ICollection <OverloadDoc> liveSigs, int paramIndex, ITrackingSpan span)
        {
            ISignature[] res = new ISignature[liveSigs.Count];
            int          i   = 0;

            foreach (var sig in liveSigs)
            {
                var parameters = new ParameterResult[sig.Parameters.Count];
                int j          = 0;
                foreach (var param in sig.Parameters)
                {
                    parameters[j++] = new ParameterResult(param.Name);
                }

                res[i++] = new PythonSignature(
                    span,
                    new LiveOverloadResult(text, sig.Documentation, parameters),
                    paramIndex
                    );
            }
            return(res);
        }
示例#34
0
 public OverloadDoc(string doc, ParameterResult[] parameters) {
     _doc = doc;
     _params = parameters;
 }
示例#35
0
        /// <summary>
        /// Returns the overloads for a normal .NET type
        /// </summary>
        private OverloadResult[] GetClrOverloads()
        {
            Type clrType = ClrModule.GetClrType(_type);
            // just a normal .NET type...
            var ctors = clrType.GetConstructors(BindingFlags.Public | BindingFlags.CreateInstance | BindingFlags.Instance);

            var overloads = new OverloadResult[ctors.Length];
            for (int i = 0; i < ctors.Length; i++) {
                // TODO: Docs, python type name
                var parameters = ctors[i].GetParameters();
                bool hasContext = parameters.Length > 0 && parameters[0].ParameterType == typeof(CodeContext);

                var paramResult = new ParameterResult[hasContext ? parameters.Length - 1 : parameters.Length];

                for (int j = 0; j < paramResult.Length; j++) {
                    var curParam = parameters[j + (hasContext ? 1 : 0)];
                    // TODO: Docs
                    paramResult[j] = BuiltinFunctionOverloadResult.GetParameterResultFromParameterInfo(curParam);
                }
                overloads[i] = new SimpleOverloadResult(paramResult, PythonType.Get__name__(_type), "");
            }

            return overloads;
        }
示例#36
0
        internal static ParameterResult MakeParameterResult(JAnalyzer state, Parameter curParam, JAst tree, IEnumerable<IAnalysisVariable> variables = null)
        {
            string name = curParam.Name;
            if (curParam.IsDictionary) {
                name = "**" + name;
            } else if (curParam.IsList) {
                name = "*" + curParam.Name;
            }

            if (curParam.DefaultValue != null) {
                // TODO: Support all possible expressions for default values, we should
                // probably have a JAst walker for expressions or we should add ToCodeString()
                // onto J ASTs so they can round trip
                ConstantExpression defaultValue = curParam.DefaultValue as ConstantExpression;
                if (defaultValue != null) {
                    name = name + " = " + GetConstantRepr(state, defaultValue);
                } else {

                    NameExpression nameExpr = curParam.DefaultValue as NameExpression;
                    if (nameExpr != null) {
                        name = name + " = " + nameExpr.Name;
                    } else {

                        DictionaryExpression dict = curParam.DefaultValue as DictionaryExpression;
                        if (dict != null) {
                            if (dict.Items.Count == 0) {
                                name = name + " = {}";
                            } else {
                                name = name + " = {...}";
                            }
                        } else {

                            ListExpression list = curParam.DefaultValue as ListExpression;
                            if (list != null) {
                                if (list.Items.Count == 0) {
                                    name = name + " = []";
                                } else {
                                    name = name + " = [...]";
                                }
                            } else {

                                TupleExpression tuple = curParam.DefaultValue as TupleExpression;
                                if (tuple != null) {
                                    if (tuple.Items.Count == 0) {
                                        name = name + " = ()";
                                    } else {
                                        name = name + " = (...)";
                                    }
                                } else {
                                    name = name + " = " + curParam.DefaultValue.ToCodeString(tree);
                                }
                            }
                        }
                    }
                }
            }

            var newParam = new ParameterResult(name, String.Empty, "object", false, variables);
            return newParam;
        }
 public override FunctionValue Specialize(ProjectEntry projectEntry, string name, string doc, AnalysisValue returnValue, ParameterResult[] parameters) {
     return new ReturningFunctionValue(
         projectEntry,
         name,
         GetReturnValue(projectEntry.Analyzer),
         doc,
         parameters
     );
 }
 public override FunctionValue Specialize(ProjectEntry projectEntry, string name, string doc, AnalysisValue returnValue, ParameterResult[] parameters) {
     return new CallbackReturningFunctionValue(
         projectEntry,
         name,
         returnValue != null ? returnValue.SelfSet : AnalysisSet.Empty,
         _index,
         _args,
         doc,
         parameters
     );
 }
示例#39
0
            private void HandleSigResult() {
                Debug.Assert(Monitor.IsEntered(_streamLock));

                int overloadCount = _stream.ReadInt32();
                OverloadDoc[] docs = new OverloadDoc[overloadCount];
                for (int i = 0; i < overloadCount; i++) {
                    string doc = _stream.ReadString();
                    int paramCount = _stream.ReadInt32();

                    ParameterResult[] parameters = new ParameterResult[paramCount];
                    for (int curParam = 0; curParam < paramCount; curParam++) {
                        string name = _stream.ReadString();
                        int equals = name.IndexOf('=');
                        if (equals < 0) {
                            parameters[curParam] = new ParameterResult(name);
                        } else {
                            parameters[curParam] = new ParameterResult(
                                name.Remove(equals),
                                null,
                                null,
                                // Even though it has a default, don't mark the
                                // parameter as optional (for consistency with
                                // signature help from the database)
                                false,
                                null,
                                name.Substring(equals + 1)
                            );
                        }
                    }

                    docs[i] = new OverloadDoc(doc, parameters);
                }
                _overloads = docs;
                _completionResultEvent.Set();
            }
示例#40
0
        internal static ParameterResult MakeParameterResult(ProjectState state, Parameter curParam)
        {
            string name = curParam.Name;
            if (curParam.IsDictionary) {
                name = "**" + name;
            } else if (curParam.IsList) {
                name = "*" + curParam.Name;
            }

            if (curParam.DefaultValue != null) {
                // TODO: Support all possible expressions for default values, we should
                // probably have a PythonAst walker for expressions or we should add ToCodeString()
                // onto Python ASTs so they can round trip
                ConstantExpression defaultValue = curParam.DefaultValue as ConstantExpression;
                if (defaultValue != null) {
                    name = name + " = " + PythonOps.Repr(state.CodeContext, defaultValue.Value);
                }

                NameExpression nameExpr = curParam.DefaultValue as NameExpression;
                if (nameExpr != null) {
                    name = name + " = " + nameExpr.Name;
                }

                DictionaryExpression dict = curParam.DefaultValue as DictionaryExpression;
                if (dict != null) {
                    if (dict.Items.Count == 0) {
                        name = name + " = {}";
                    } else {
                        name = name + " = {...}";
                    }
                }

                ListExpression list = curParam.DefaultValue as ListExpression;
                if (list != null) {
                    if (list.Items.Count == 0) {
                        name = name + " = []";
                    } else {
                        name = name + " = [...]";
                    }
                }

                TupleExpression tuple = curParam.DefaultValue as TupleExpression;
                if (tuple != null) {
                    if (tuple.Items.Count == 0) {
                        name = name + " = ()";
                    } else {
                        name = name + " = (...)";
                    }
                }
            }

            var newParam = new ParameterResult(name);
            return newParam;
        }
 public abstract FunctionValue Specialize(ProjectEntry projectEntry, string name, string doc, AnalysisValue returnValue, ParameterResult[] parameters);
 public override FunctionValue Specialize(ProjectEntry projectEntry, string name, string doc, AnalysisValue returnValue, ParameterResult[] parameters) {
     return new SpecializedFunctionValue(
         projectEntry,
         name,
         _delegate,
         doc,
         null,
         parameters
     );
 }
示例#43
0
 public LiveOverloadResult(string name, string documentation, ParameterResult[] parameters) {
     _name = name;
     _doc = documentation;
     _parameters = parameters;
 }
示例#44
0
 private static string GetSafeParameterName(ParameterResult result, int index) {
     if (!string.IsNullOrEmpty(result.DefaultValue)) {
         return GetSafeArgumentName(result, index) + " = " + result.DefaultValue;
     }
     return GetSafeArgumentName(result, index);
 }
示例#45
0
        internal static string GetSafeParameterName(ParameterResult result) {
            var match = ValidParameterName.Match(result.Name);

            return match.Success ? match.Value : result.Name;
        }