Пример #1
0
        /// <summary>
        /// 导出服务信息
        /// </summary>
        /// <param name="statusID">状态</param>
        /// <param name="filterField">搜索字段</param>
        /// <param name="filterText">搜索内容</param>
        /// <param name="sortField">排序字段</param>
        /// <param name="sortDirection">排序方式</param>
        /// <returns>服务列表excel</returns>
        public ActionResult ExportServices(int statusID, string filterField, string filterText, string sortField, bool sortDirection, int fujiClass2ID = 0)
        {
            if (CheckSession() == false)
            {
                return(Json(ResultModelBase.CreateTimeoutModel(), JsonRequestBehavior.AllowGet));
            }
            if (CheckSessionID() == false)
            {
                return(Json(ResultModelBase.CreateLogoutModel(), JsonRequestBehavior.AllowGet));
            }
            ResultModelBase result = new ResultModelBase();

            try
            {
                BaseDao.ProcessFieldFilterValue(filterField, ref filterText);
                List <InvServiceInfo> invServices = this.invServiceDao.QueryServices(statusID, filterField, filterText, sortField, sortDirection, 0, 0, fujiClass2ID);
                DataTable             dt          = new DataTable("Sheet1");
                dt.Columns.Add("系统编号");
                dt.Columns.Add("服务名称");
                dt.Columns.Add("关联富士II类");
                dt.Columns.Add("供应商");
                dt.Columns.Add("服务次数");
                dt.Columns.Add("服务开始日期");
                dt.Columns.Add("服务结束日期");
                dt.Columns.Add("金额");
                dt.Columns.Add("剩余服务次数");
                dt.Columns.Add("采购单号");
                dt.Columns.Add("状态");

                foreach (InvServiceInfo invService in invServices)
                {
                    dt.Rows.Add(invService.OID, invService.Name, invService.FujiClass2.Name, invService.Supplier.Name, invService.TotalTimes,
                                invService.AddDate.ToString("yyyy-MM-dd"), invService.EndDate.ToString("yyyy-MM-dd"), invService.Price, invService.AvaibleTimes, invService.Purchase.ID == 0 ? "" : invService.Purchase.Name, invService.Status);
                }

                MemoryStream ms = ExportUtil.ToExcel(dt);
                Response.AddHeader("Set-Cookie", "fileDownload=true; path=/");
                return(File(ms, "application/excel", "服务库列表.xlsx"));
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                result.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #2
0
        public ActionResult ExportContracts(int status, string filterField, string filterText, string sortField, bool sortDirection)
        {
            if (CheckSession() == false)
            {
                return(Json(ResultModelBase.CreateTimeoutModel(), JsonRequestBehavior.AllowGet));
            }
            if (CheckSessionID() == false)
            {
                return(Json(ResultModelBase.CreateLogoutModel(), JsonRequestBehavior.AllowGet));
            }

            ResultModelBase result = new ResultModelBase();

            try
            {
                List <ContractInfo> contracts = null;
                BaseDao.ProcessFieldFilterValue(filterField, ref filterText);
                contracts = this.contractManager.QueryContracts(status, filterField, filterText, sortField, sortDirection);
                DataTable dt = new DataTable("Sheet1");
                dt.Columns.Add("系统编号");
                dt.Columns.Add("合同编号");
                dt.Columns.Add("设备编号");
                dt.Columns.Add("设备序列号");
                dt.Columns.Add("合同名称");
                dt.Columns.Add("合同类型");
                dt.Columns.Add("供应商");
                dt.Columns.Add("开始时间");
                dt.Columns.Add("结束时间");
                dt.Columns.Add("状态");

                foreach (ContractInfo contract in contracts)
                {
                    dt.Rows.Add(contract.OID, contract.ContractNum, contract.EquipmentOID, contract.EquipmentSerialCode, contract.Name, contract.Type.Name, contract.Supplier.Name, contract.StartDate.ToString("yyyy-MM-dd"), contract.EndDate.ToString("yyyy-MM-dd"), contract.Status);
                }

                MemoryStream ms = ExportUtil.ToExcel(dt);
                Response.AddHeader("Set-Cookie", "fileDownload=true; path=/");
                return(File(ms, "application/excel", "合同列表.xlsx"));
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                result.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #3
0
        /// <summary>
        /// Creates export template placeholders
        /// </summary>
        /// <param name="templateType">Template type</param>
        /// <returns>Export Template placeholders</returns>
        private IEnumerable <ExportTemplatePlaceholder> CreateExportTemplatePlaceholders(TemplateType templateType)
        {
            List <ExportTemplatePlaceholder> placeholders = new List <ExportTemplatePlaceholder>();

            if (templateType == TemplateType.TaleDialogFunction)
            {
                placeholders.Add(ExportUtil.CreatePlaceHolder(Placeholder_FunctionName, _localizer));
                placeholders.Add(ExportUtil.CreatePlaceHolder(Placeholder_Function_ParentPreview, _localizer));
                placeholders.Add(ExportUtil.CreatePlaceHolder(Placeholder_FunctionContent, _localizer));
            }
            else if (templateType == TemplateType.TaleDialogStep)
            {
                placeholders.Add(ExportUtil.CreatePlaceHolder(Placeholder_StepContent, _localizer));
            }

            return(placeholders);
        }
Пример #4
0
        private void bmConsulta_ItemClick(object sender, ItemClickEventArgs e)
        {
            var subMenu = e.Item as BarSubItem;

            if (subMenu != null)
            {
                return;
            }

            switch (e.Item.Name)
            {
            case "btnNuevo":
                TipoMnt = TipoMantenimiento.Nuevo;
                ShowFormMnt();
                break;

            case "btnModificar":
                TipoMnt = TipoMantenimiento.Modificar;
                ShowFormMnt();
                break;

            case "btnEliminar":
                EliminaRegistro();
                break;

            case "btnActualizar":
                CargarDatosConsulta();
                break;

            case "btnCerrar":
                Close();
                break;

            case "btnExportCsv":
            case "btnExportHtml":
            case "btnExportMht":
            case "btnExportImg":
            case "btnExportPdf":
            case "btnExportRtf":
            case "btnExportTxt":
            case "btnExportXls":
            case "btnExportXlsx":
                ExportUtil.ExportToFile(gcConsulta, e.Item.Name);
                break;
            }
        }
Пример #5
0
        /// <summary>
        /// Resolved the placeholders for a single daily routine event
        /// </summary>
        /// <param name="code">Code to resolve the placeholders in</param>
        /// <param name="npc">Npc to which the event belongs</param>
        /// <param name="dailyRoutineEvent">Daily routine to use for resolving the placeholders</param>
        /// <param name="errorCollection">Error collection</param>
        /// <returns>Code with resolved placeholders</returns>
        public string ResolveDailyRoutineEventContentPlaceholders(string code, KortistoNpc npc, KortistoNpcDailyRoutineEvent dailyRoutineEvent, ExportPlaceholderErrorCollection errorCollection)
        {
            code = ExportUtil.RenderPlaceholderIfFuncTrue(code, Placeholder_HasAdditionalScriptFunctions_Start, Placeholder_HasAdditionalScriptFunctions_End, m => {
                if (dailyRoutineEvent.ScriptType == ScriptType_NodeGraph)
                {
                    return(!string.IsNullOrEmpty(this.RenderNodeGraph(dailyRoutineEvent, npc, errorCollection).AdditionalFunctionsCode));
                }

                return(false);
            });

            code = ExportUtil.RenderPlaceholderIfFuncTrue(code, Placeholder_HasNoAdditionalScriptFunctions_Start, Placeholder_HasNoAdditionalScriptFunctions_End, m => {
                if (dailyRoutineEvent.ScriptType == ScriptType_NodeGraph)
                {
                    return(string.IsNullOrEmpty(this.RenderNodeGraph(dailyRoutineEvent, npc, errorCollection).AdditionalFunctionsCode));
                }

                return(true);
            });

            code = ExportUtil.BuildPlaceholderRegex(Placeholder_ScriptContent, ExportConstants.ListIndentPrefix).Replace(code, m => {
                if (dailyRoutineEvent.ScriptType == ScriptType_NodeGraph)
                {
                    return(ExportUtil.IndentListTemplate(this.RenderNodeGraph(dailyRoutineEvent, npc, errorCollection).StartStepCode, m.Groups[1].Value));
                }
                else if (dailyRoutineEvent.ScriptType == ScriptType_Code)
                {
                    return(ExportUtil.IndentListTemplate(dailyRoutineEvent.ScriptCode != null ? dailyRoutineEvent.ScriptCode : string.Empty, m.Groups[1].Value));
                }

                return(string.Empty);
            });

            code = ExportUtil.BuildPlaceholderRegex(Placeholder_AdditionalScriptFunctions, ExportConstants.ListIndentPrefix).Replace(code, m => {
                if (dailyRoutineEvent.ScriptType == ScriptType_NodeGraph)
                {
                    return(ExportUtil.IndentListTemplate(this.RenderNodeGraph(dailyRoutineEvent, npc, errorCollection).AdditionalFunctionsCode, m.Groups[1].Value));
                }

                return(string.Empty);
            });

            code = ExportUtil.BuildPlaceholderRegex(Placeholder_Function_ParentPreview).Replace(code, "None");

            return(code);
        }
        /// <summary>
        /// Renders an attribute list
        /// </summary>
        /// <param name="project">Current project</param>
        /// <param name="fields">Fields to render</param>
        /// <param name="data">Export data</param>
        /// <param name="indent">Indentation</param>
        /// <returns>Rendered attribute list</returns>
        private async Task <string> RenderAttributeList(GoNorthProject project, List <FlexField> fields, ExportObjectData data, string indent)
        {
            ExportTemplate attributeListTemplate = await _defaultTemplateProvider.GetDefaultTemplateByType(project.Id, TemplateType.ObjectAttributeList);

            ExportObjectData objectData = data.Clone();

            if (objectData.ExportData.ContainsKey(ExportConstants.ExportDataObject) && objectData.ExportData[ExportConstants.ExportDataObject] is IFlexFieldExportable)
            {
                ((IFlexFieldExportable)objectData.ExportData[ExportConstants.ExportDataObject]).Fields = fields;
            }

            ExportPlaceholderFillResult fillResult = await _placeholderResolver.FillPlaceholders(TemplateType.ObjectAttributeList, attributeListTemplate.Code, objectData, attributeListTemplate.RenderingEngine);

            _errorCollection.Merge(fillResult.Errors);

            return(ExportUtil.IndentListTemplate(fillResult.Code, indent));
        }
        /// <summary>
        /// Returns the Export Template Placeholders for a Template Type
        /// </summary>
        /// <param name="templateType">Template Type</param>
        /// <returns>Export Template Placeholder</returns>
        public override List <ExportTemplatePlaceholder> GetExportTemplatePlaceholdersForType(TemplateType templateType)
        {
            List <ExportTemplatePlaceholder> exportPlaceholders = new List <ExportTemplatePlaceholder> {
                ExportUtil.CreatePlaceHolder(Placeholder_QuestState_NotStarted_Start, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_QuestState_NotStarted_End, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_QuestState_InProgress_Start, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_QuestState_InProgress_End, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_QuestState_Success_Start, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_QuestState_Success_End, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_QuestState_Failed_Start, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_QuestState_Failed_End, _localizer),
            };

            exportPlaceholders.AddRange(_flexFieldPlaceholderResolver.GetExportTemplatePlaceholdersForType(TemplateType.ObjectNpc));

            return(exportPlaceholders);
        }
Пример #8
0
        /// <summary>
        /// Returns the placeholders for a template
        /// </summary>
        /// <param name="templateType">Template Type</param>
        /// <returns>List of template placeholders</returns>
        public List <ExportTemplatePlaceholder> GetPlaceholdersForTemplate(TemplateType templateType)
        {
            if (!HasPlaceholdersForTemplateType(templateType))
            {
                return(new List <ExportTemplatePlaceholder>());
            }

            List <ExportTemplatePlaceholder> placeholders = GetBasePlaceholdersForTemplate();

            placeholders.AddRange(new List <ExportTemplatePlaceholder> {
                ExportUtil.CreatePlaceHolder(Placeholder_TextLine, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_TextLine_LangKey, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_TextLine_Preview, _localizer)
            });

            return(placeholders);
        }
Пример #9
0
        /// <summary>
        /// 导出广播列表excel
        /// </summary>
        /// <param name="filterField">搜索字段</param>
        /// <param name="filterText">搜索框填写内容</param>
        /// <returns>广播列表excel</returns>
        public ActionResult ExportNoticesList(string filterField, string filterText)
        {
            if (CheckSession() == false)
            {
                return(Json(ResultModelBase.CreateTimeoutModel(), JsonRequestBehavior.AllowGet));
            }
            if (CheckSessionID() == false)
            {
                return(Json(ResultModelBase.CreateLogoutModel(), JsonRequestBehavior.AllowGet));
            }

            ResultModel <List <NoticeInfo> > result = new ResultModel <List <NoticeInfo> >();

            try
            {
                List <NoticeInfo> infos = null;
                BaseDao.ProcessFieldFilterValue(filterField, ref filterText);
                infos = this.noticeDao.QueryNotices(filterField, filterText, 0, 0);

                DataTable dt = new DataTable("Sheet1");
                dt.Columns.Add("广播编号");
                dt.Columns.Add("广播名称");
                dt.Columns.Add("添加时间");
                dt.Columns.Add("广播内容");
                dt.Columns.Add("备注");
                dt.Columns.Add("是否轮播");


                foreach (NoticeInfo noticeInfo in infos)
                {
                    dt.Rows.Add(noticeInfo.OID, noticeInfo.Name, noticeInfo.CreatedDate, noticeInfo.Content, noticeInfo.Comments, noticeInfo.IsLoop ? '是' : '否');
                }

                MemoryStream ms = ExportUtil.ToExcel(dt);
                Response.AddHeader("Set-Cookie", "fileDownload=true; path=/");
                return(File(ms, "application/excel", "广播列表.xlsx"));
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                result.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #10
0
        /// <summary>
        /// 导出耗材信息
        /// </summary>
        /// <param name="fujiClass2ID">富士II类ID</param>
        /// <param name="filterField">搜索字段</param>
        /// <param name="filterText">搜索内容</param>
        /// <param name="sortField">排序字段</param>
        /// <param name="sortDirection">排序方式</param>
        /// <returns>耗材列表excel</returns>
        public ActionResult ExportConsumables(int fujiClass2ID, string filterField, string filterText, string sortField, bool sortDirection)
        {
            if (CheckSession() == false)
            {
                return(Json(ResultModelBase.CreateTimeoutModel(), JsonRequestBehavior.AllowGet));
            }
            if (CheckSessionID() == false)
            {
                return(Json(ResultModelBase.CreateLogoutModel(), JsonRequestBehavior.AllowGet));
            }
            ResultModelBase result = new ResultModelBase();

            try
            {
                List <InvConsumableInfo> invConsumables = this.invConsumableDao.QueryConsumables(fujiClass2ID, filterField, filterText, sortField, sortDirection, 0, 0);
                DataTable dt = new DataTable("Sheet1");
                dt.Columns.Add("系统编号");
                dt.Columns.Add("批次号");
                dt.Columns.Add("简称");
                dt.Columns.Add("描述");
                dt.Columns.Add("供应商");
                dt.Columns.Add("富士II类");
                dt.Columns.Add("单价(元)");
                dt.Columns.Add("购入日期");
                dt.Columns.Add("采购单号");
                dt.Columns.Add("数量");

                foreach (InvConsumableInfo invConsumable in invConsumables)
                {
                    dt.Rows.Add(invConsumable.OID, invConsumable.LotNum, invConsumable.Consumable.Name, invConsumable.Consumable.Description, invConsumable.Supplier.Name,
                                invConsumable.Consumable.FujiClass2.Name, invConsumable.Price, invConsumable.PurchaseDate.ToString("yyyy-MM-dd"), invConsumable.Purchase.ID == 0 ? "" : invConsumable.Purchase.Name, invConsumable.AvaibleQty);
                }

                MemoryStream ms = ExportUtil.ToExcel(dt);
                Response.AddHeader("Set-Cookie", "fileDownload=true; path=/");
                return(File(ms, "application/excel", "耗材库列表.xlsx"));
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                result.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #11
0
        public ActionResult RunCustRpt(CustomReportInfo info, string field, DateTime startTime, DateTime endTime)
        {
            if (CheckSession() == false)
            {
                return(Json(ResultModelBase.CreateTimeoutModel(), JsonRequestBehavior.AllowGet));
            }
            if (CheckSessionID() == false)
            {
                return(Json(ResultModelBase.CreateLogoutModel(), JsonRequestBehavior.AllowGet));
            }

            ResultModelBase result = new ResultModelBase();

            try
            {
                endTime = endTime.AddDays(1);
                DataTable infoList = new DataTable();
                if (info.Type.ID == CustomReportInfo.CustRptType.Equipment)
                {
                    infoList = this.customRptManager.QueryCustRpt4Equipment(info, field, startTime, endTime);
                }
                if (info.Type.ID == CustomReportInfo.CustRptType.Contract)
                {
                    infoList = this.customRptManager.QueryCustRpt4Contract(info, field, startTime, endTime);
                }
                if (info.Type.ID == CustomReportInfo.CustRptType.Request)
                {
                    infoList = this.customRptManager.QueryCustRpt4Request(info, field, startTime, endTime);
                }
                if (info.Type.ID == CustomReportInfo.CustRptType.Dispatch)
                {
                    infoList = this.customRptManager.QueryCustRpt4Dispatch(info, field, startTime, endTime);
                }

                MemoryStream ms = ExportUtil.ToExcel(infoList);
                Response.AddHeader("Set-Cookie", "fileDownload=true; path=/");
                return(File(ms, "application/excel", info.Name + ".xlsx"));
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                result.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #12
0
        /// <summary>
        /// Fills the placeholders
        /// </summary>
        /// <param name="template">Template to use</param>
        /// <param name="errorCollection">Error Collection</param>
        /// <param name="parsedData">Parsed config data</param>
        /// <param name="directContinueFunction">Direct continue function</param>
        /// <param name="flexFieldObject">Flex field object to which the dialog belongs</param>
        /// <param name="curStep">Current step that is rendered</param>
        /// <param name="nextStep">Next step that is being rendered</param>
        /// <param name="stepRenderer">Action Step renderer</param>
        /// <returns>Filled placeholders</returns>
        protected override async Task <string> FillPlaceholders(ExportTemplate template, ExportPlaceholderErrorCollection errorCollection, WaitActionData parsedData, string directContinueFunction, FlexFieldObject flexFieldObject,
                                                                ExportDialogData curStep, ExportDialogData nextStep, IActionStepRenderer stepRenderer)
        {
            string actionCode = ExportUtil.BuildPlaceholderRegex(Placeholder_Wait_Amount).Replace(template.Code, parsedData.WaitAmount.ToString());

            actionCode = ExportUtil.RenderPlaceholderIfTrue(actionCode, Placeholder_WaitTypeIsRealTime_Start, Placeholder_WaitTypeIsRealTime_End, parsedData.WaitType == WaitActionData.WaitTypeRealTime);
            actionCode = ExportUtil.RenderPlaceholderIfTrue(actionCode, Placeholder_WaitTypeIsGameTime_Start, Placeholder_WaitTypeIsGameTime_End, parsedData.WaitType == WaitActionData.WaitTypeGameTime);
            actionCode = ExportUtil.RenderPlaceholderIfTrue(actionCode, Placeholder_WaitUnitIsMilliseconds_Start, Placeholder_WaitUnitIsMilliseconds_End, parsedData.WaitUnit == WaitActionData.WaitUnitMilliseconds);
            actionCode = ExportUtil.RenderPlaceholderIfTrue(actionCode, Placeholder_WaitUnitIsSeconds_Start, Placeholder_WaitUnitIsSeconds_End, parsedData.WaitUnit == WaitActionData.WaitUnitSeconds);
            actionCode = ExportUtil.RenderPlaceholderIfTrue(actionCode, Placeholder_WaitUnitIsMinutes_Start, Placeholder_WaitUnitIsMinutes_End, parsedData.WaitUnit == WaitActionData.WaitUnitMinutes);
            actionCode = ExportUtil.RenderPlaceholderIfTrue(actionCode, Placeholder_WaitUnitIsHours_Start, Placeholder_WaitUnitIsHours_End, parsedData.WaitUnit == WaitActionData.WaitUnitHours);
            actionCode = ExportUtil.RenderPlaceholderIfTrue(actionCode, Placeholder_WaitUnitIsDays_Start, Placeholder_WaitUnitIsDays_End, parsedData.WaitUnit == WaitActionData.WaitUnitDays);
            actionCode = ExportUtil.RenderPlaceholderIfTrue(actionCode, Placeholder_HasDirectContinueFunction_Start, Placeholder_HasDirectContinueFunction_End, !string.IsNullOrEmpty(directContinueFunction));
            actionCode = ExportUtil.RenderPlaceholderIfTrue(actionCode, Placeholder_HasNoDirectContinueFunction_Start, Placeholder_HasNoDirectContinueFunction_End, string.IsNullOrEmpty(directContinueFunction));
            actionCode = ExportUtil.BuildPlaceholderRegex(Placeholder_DirectContinueFunction).Replace(actionCode, directContinueFunction);

            return(await stepRenderer.ReplaceBasePlaceholders(errorCollection, actionCode, curStep, nextStep, flexFieldObject));
        }
Пример #13
0
        /// <summary>
        /// Fills the inventory placeholders
        /// </summary>
        /// <param name="code">Code</param>
        /// <param name="npc">Npc</param>
        /// <returns>Filled code</returns>
        private async Task <string> FillInventoryPlaceholders(string code, KortistoNpc npc)
        {
            GoNorthProject project = await _cachedDbAccess.GetDefaultProject();

            ExportTemplate inventoryTemplate = await _defaultTemplateProvider.GetDefaultTemplateByType(project.Id, TemplateType.ObjectInventory);

            code = ExportUtil.BuildPlaceholderRegex(Placeholder_Inventory, ExportConstants.ListIndentPrefix).Replace(code, m => {
                return(ExportUtil.IndentListTemplate(inventoryTemplate.Code, m.Groups[1].Value));
            });

            code = ExportUtil.RenderPlaceholderIfTrue(code, Placeholder_HasItems_Start, Placeholder_HasItems_End, npc.Inventory != null && npc.Inventory.Count > 0);

            code = ExportUtil.BuildRangePlaceholderRegex(Placeholder_Inventory_Start, Placeholder_Inventory_End).Replace(code, m => {
                return(ExportUtil.TrimEmptyLines(BuildInventory(m.Groups[1].Value, npc)));
            });

            return(code);
        }
Пример #14
0
        /// <summary>
        /// Returns the placeholders that are available for a daily routine event
        /// </summary>
        /// <returns>Placeholders</returns>
        public List <ExportTemplatePlaceholder> GetPlaceholders(TemplateType templateType)
        {
            List <ExportTemplatePlaceholder> exportPlaceholders = new List <ExportTemplatePlaceholder> {
                ExportUtil.CreatePlaceHolder(Placeholder_ScriptContent, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_Function_ParentPreview, _localizer)
            };

            if (templateType != TemplateType.ObjectDailyRoutineFunction)
            {
                exportPlaceholders.Add(ExportUtil.CreatePlaceHolder(Placeholder_HasAdditionalScriptFunctions_Start, _localizer));
                exportPlaceholders.Add(ExportUtil.CreatePlaceHolder(Placeholder_HasAdditionalScriptFunctions_End, _localizer));
                exportPlaceholders.Add(ExportUtil.CreatePlaceHolder(Placeholder_HasNoAdditionalScriptFunctions_Start, _localizer));
                exportPlaceholders.Add(ExportUtil.CreatePlaceHolder(Placeholder_HasNoAdditionalScriptFunctions_End, _localizer));
                exportPlaceholders.Add(ExportUtil.CreatePlaceHolder(Placeholder_AdditionalScriptFunctions, _localizer));
            }

            return(exportPlaceholders);
        }
Пример #15
0
        /// <summary>
        /// Builds a parent text preview for the a dialog step
        /// </summary>
        /// <param name="child">Child node</param>
        /// <param name="parent">Parent</param>
        /// <param name="flexFieldObject">Flex field to which the dialog belongs</param>
        /// <param name="errorCollection">Error Collection</param>
        /// <returns>Parent text preview for the dialog step</returns>
        public Task <string> BuildParentTextPreview(ExportDialogData child, ExportDialogData parent, FlexFieldObject flexFieldObject, ExportPlaceholderErrorCollection errorCollection)
        {
            KortistoNpc npc = flexFieldObject as KortistoNpc;

            if (npc == null)
            {
                return(Task.FromResult <string>(null));
            }

            TextNode textNode = GetValidTextNode(parent);

            if (textNode == null)
            {
                return(Task.FromResult <string>(null));
            }

            return(Task.FromResult(ExportUtil.BuildTextPreview(textNode.Text)));
        }
        /// <summary>
        /// Exports the code snippet content
        /// </summary>
        /// <param name="objectExportSnippet">Object export snippet to export</param>
        /// <param name="flexFieldObject">Flex field object</param>
        /// <param name="listIndent">Indent of the code</param>
        /// <returns>Result of the snippet render</returns>
        private string ExportCodeSnippetContent(ObjectExportSnippet objectExportSnippet, FlexFieldObject flexFieldObject, string listIndent)
        {
            if (objectExportSnippet == null)
            {
                return(string.Empty);
            }

            if (objectExportSnippet.ScriptType == ExportConstants.ScriptType_NodeGraph)
            {
                return(ExportUtil.IndentListTemplate(this.RenderNodeGraph(objectExportSnippet, flexFieldObject).StartStepCode, listIndent));
            }
            else if (objectExportSnippet.ScriptType == ExportConstants.ScriptType_Code)
            {
                return(ExportUtil.IndentListTemplate(objectExportSnippet.ScriptCode != null ? objectExportSnippet.ScriptCode : string.Empty, listIndent));
            }

            return(string.Empty);
        }
Пример #17
0
        /// <summary>
        /// Converts a single field to an export field with a given anme
        /// </summary>
        /// <param name="parentObject">Parent object</param>
        /// <param name="field">Field to convert</param>
        /// <param name="fieldName">Field name to use</param>
        /// <param name="exportSettings">Export settings</param>
        /// <returns>Converted field</returns>
        private static ScribanFlexFieldField ConvertFieldWithName(ScribanFlexFieldObject parentObject, FlexField field, string fieldName, ExportSettings exportSettings)
        {
            ScribanFlexFieldField convertedField = new ScribanFlexFieldField(parentObject);

            convertedField.Id             = field.Id;
            convertedField.Name           = fieldName;
            convertedField.Type           = ConvertFieldTypeToScribanFieldType(field.FieldType);
            convertedField.UnescapedValue = ConvertFieldValue(field.FieldType, field.Value);
            convertedField.Value          = convertedField.UnescapedValue;
            if (convertedField.Value is string)
            {
                convertedField.Value = ExportUtil.EscapeCharacters(convertedField.Value.ToString(), exportSettings.EscapeCharacter, exportSettings.CharactersNeedingEscaping, exportSettings.NewlineCharacter);
            }
            convertedField.DontExportToScript = field.ScriptSettings != null && field.ScriptSettings.DontExportToScript ? true : false;
            convertedField.Exists             = true;

            return(convertedField);
        }
Пример #18
0
    // 打包 Editor 的 Asset Labels 中指定的 AssetBundle
    public static void BuildAssetLabelsAssetBundles()
    {
        // Choose the output path according to the build target.
        string outputPath = Path.Combine(ExportUtil.ASSET_BUNDLES_OUTPUT_PATH, ExportUtil.GetPlatformFolderForAssetBundles(EditorUserBuildSettings.activeBuildTarget));

        if (!Directory.Exists(outputPath))
        {
            Directory.CreateDirectory(outputPath);
        }

        AssetBundleParam param = new AssetBundleParam();

        param.m_pathName           = outputPath;
        param.m_assetBundleOptions = 0;
        param.m_targetPlatform     = EditorUserBuildSettings.activeBuildTarget;

        ExportUtil.BuildAssetBundle(param);
    }
Пример #19
0
        private ExportItemConfig GetConfigByQueryName(string queryName)
        {
            if (!this.configDict.ContainsKey(queryName))
            {
                string filePath = _baseDirectory + "query/" + queryName + ".config";

                if (!File.Exists(filePath))
                {
                    throw new Exception("不包含查询:" + queryName);
                }
                ExportItemConfig cfg = ExportUtil.GetExportItemFormXml(
                    File.ReadAllText(filePath)
                    , null);

                this.configDict.Add(queryName, cfg);
            }
            return(this.configDict[queryName]);
        }
        /// <summary>
        /// Returns the placeholders that are available for a daily routine event
        /// </summary>
        /// <returns>Placeholders</returns>
        public List <ExportTemplatePlaceholder> GetPlaceholders()
        {
            List <ExportTemplatePlaceholder> exportPlaceholders = new List <ExportTemplatePlaceholder> {
                ExportUtil.CreatePlaceHolder(Placeholder_EventId, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_EarliestTime_Hours, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_EarliestTime_Minutes, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_EarliestTime_TotalMinutes, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_LatestTime_Hours, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_LatestTime_Minutes, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_LatestTime_TotalMinutes, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasMovementTargetStart, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasMovementTargetEnd, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasNoMovementTargetStart, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasNoMovementTargetEnd, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasMovementTargetExportNameStart, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasMovementTargetExportNameEnd, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasNoMovementTargetExportNameStart, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasNoMovementTargetExportNameEnd, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_MovementTargetName, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_MovementTargetExportName, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_MovementTargetExportNameOrName, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasNoScriptStart, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasNoScriptEnd, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasScriptStart, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasScriptEnd, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasNodeGraphScriptStart, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasNodeGraphScriptEnd, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasCodeScriptStart, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasCodeScriptEnd, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_ScriptFunctionName, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_ScriptName, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasTargetStateStart, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasTargetStateEnd, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasNoTargetStateStart, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_HasNoTargetStateEnd, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_TargetState, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_IsEnabledByDefaultStart, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_IsEnabledByDefaultEnd, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_IsDisabledByDefaultStart, _localizer),
                ExportUtil.CreatePlaceHolder(Placeholder_IsDisabledByDefaultEnd, _localizer)
            };

            return(exportPlaceholders);
        }
Пример #21
0
        public ActionResult ExportFujiClass2s(int class1, int class2, string filterField, string filterText, string sortField, bool sortDirection)
        {
            if (CheckSession() == false)
            {
                return(Json(ResultModelBase.CreateTimeoutModel(), JsonRequestBehavior.AllowGet));
            }
            if (CheckSessionID() == false)
            {
                return(Json(ResultModelBase.CreateLogoutModel(), JsonRequestBehavior.AllowGet));
            }

            ResultModelBase result = new ResultModelBase();

            try
            {
                List <FujiClass2Info> fujiClass2s = this.fujiClassManager.QueryFujiClass2s(class1, class2, filterField, filterText, sortField, sortDirection);
                DataTable             dt          = new DataTable("Sheet1");
                dt.Columns.Add("富士I类");
                dt.Columns.Add("富士II类简称");
                dt.Columns.Add("富士II类描述");
                dt.Columns.Add("人工费");
                dt.Columns.Add("维保服务费");
                dt.Columns.Add("备用机成本");
                dt.Columns.Add("维保额外维修费");
                dt.Columns.Add("零件");
                dt.Columns.Add("耗材");

                foreach (FujiClass2Info fujiClass2 in fujiClass2s)
                {
                    dt.Rows.Add(fujiClass2.FujiClass1.Name, fujiClass2.Name, fujiClass2.Description, fujiClass2.IncludeLabour?"有":"无", fujiClass2.IncludeContract ? "有" : "无", fujiClass2.IncludeSpare ? "有" : "无", fujiClass2.IncludeRepair ? "有" : "无", (fujiClass2.Components != null && fujiClass2.Components.Count > 0)?"有" : "无", (fujiClass2.Consumables != null && fujiClass2.Consumables.Count > 0)?"有" : "无");
                }

                MemoryStream ms = ExportUtil.ToExcel(dt);
                Response.AddHeader("Set-Cookie", "fileDownload=true; path=/");
                return(File(ms, "application/excel", "富士II类列表.xlsx"));
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                result.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #22
0
 /// <summary>
 /// Returns the base placeholders
 /// </summary>
 /// <returns>List of template placeholders</returns>
 public List <ExportTemplatePlaceholder> GetBasePlaceholdersForTemplate()
 {
     return(new List <ExportTemplatePlaceholder> {
         ExportUtil.CreatePlaceHolder(Placeholder_ChildNodeFunction, _baseLocalizer),
         ExportUtil.CreatePlaceHolder(Placeholder_ChildNode_HasFunction_Start, _baseLocalizer),
         ExportUtil.CreatePlaceHolder(Placeholder_ChildNode_HasFunction_End, _baseLocalizer),
         ExportUtil.CreatePlaceHolder(Placeholder_ChildNode_HasNoFunction_Start, _baseLocalizer),
         ExportUtil.CreatePlaceHolder(Placeholder_ChildNode_HasNoFunction_End, _baseLocalizer),
         ExportUtil.CreatePlaceHolder(Placeholder_NodeId, _baseLocalizer),
         ExportUtil.CreatePlaceHolder(Placeholder_HasChild_Start, _baseLocalizer),
         ExportUtil.CreatePlaceHolder(Placeholder_HasChild_End, _baseLocalizer),
         ExportUtil.CreatePlaceHolder(Placeholder_HasNoChild_Start, _baseLocalizer),
         ExportUtil.CreatePlaceHolder(Placeholder_HasNoChild_End, _baseLocalizer),
         ExportUtil.CreatePlaceHolder(Placeholder_IsChildNodeOfType_Start_FriendlyName, _baseLocalizer),
         ExportUtil.CreatePlaceHolder(Placeholder_IsChildNodeOfType_End, _baseLocalizer),
         ExportUtil.CreatePlaceHolder(Placeholder_IsChildNodeNotOfType_Start_FriendlyName, _baseLocalizer),
         ExportUtil.CreatePlaceHolder(Placeholder_IsChildNodeNotOfType_End, _baseLocalizer)
     });
 }
Пример #23
0
        /// <summary>
        /// 导出耗材列表
        /// </summary>
        /// <param name="statusID">耗材状态</param>
        /// <param name="filterField">搜索字段</param>
        /// <param name="filterText">搜索内容</param>
        /// <returns>耗材定义excel</returns>
        public ActionResult ExportConsumables(int statusID, string filterField, string filterText)
        {
            if (CheckSession() == false)
            {
                return(Json(ResultModelBase.CreateTimeoutModel(), JsonRequestBehavior.AllowGet));
            }
            if (CheckSessionID() == false)
            {
                return(Json(ResultModelBase.CreateLogoutModel(), JsonRequestBehavior.AllowGet));
            }
            ResultModelBase result = new ResultModelBase();

            try
            {
                List <ConsumableInfo> consumables = this.consumableDao.QueryConsumables(statusID, filterField, filterText, 0, 0);
                DataTable             dt          = new DataTable("Sheet1");
                dt.Columns.Add("富士II类");
                dt.Columns.Add("简称");
                dt.Columns.Add("描述");
                dt.Columns.Add("类型");
                dt.Columns.Add("标准单价(元)");
                dt.Columns.Add("是否参与估值");
                dt.Columns.Add("更换频率(次/年)");
                dt.Columns.Add("单次保养耗材成本(元)");
                dt.Columns.Add("状态");

                foreach (ConsumableInfo consumable in consumables)
                {
                    dt.Rows.Add(consumable.FujiClass2.Name, consumable.Name, consumable.Description, consumable.Type.Name, consumable.StdPrice, consumable.IsIncluded ? "是" : "否", consumable.ReplaceTimes, consumable.CostPer, consumable.IsActive ? "启用" : "停用");
                }

                MemoryStream ms = ExportUtil.ToExcel(dt);
                Response.AddHeader("Set-Cookie", "fileDownload=true; path=/");
                return(File(ms, "application/excel", "耗材定义列表.xlsx"));
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                result.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }

            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #24
0
        public void addImageComponent(GameObject go_)
        {
            GameObject parGo = go_;
            GameObject curGo = null;

            for (int idx = 0; idx < m_pathArr.Length; ++idx)
            {
                curGo = new GameObject(m_pathArr[idx]);
                curGo.transform.SetParent(parGo.transform);

                parGo = curGo;
            }

            Image  image           = curGo.AddComponent <Image>();
            string assetsImagePath = ExportUtil.convFullPath2AssetsPath(m_fullPath);

            Sprite[] allSpritesArr = AtlasPrefabUtil.loadAllSprite(assetsImagePath);
            image.sprite = allSpritesArr[0];
        }
        /// <summary>
        /// Fills the language key Placeholders
        /// </summary>
        /// <param name="code">Code to fill</param>
        /// <param name="flexFieldObject">Flex Field Object</param>
        /// <param name="referencedLanguageKeys">Referenced language keys</param>
        /// <returns>Filled Code</returns>
        private async Task <string> FillLanguageKeyPlaceholders(string code, IFlexFieldExportable flexFieldObject, List <LanguageKey> referencedLanguageKeys)
        {
            GoNorthProject project = await _cachedDbAccess.GetDefaultProject();

            List <LanguageKey> languageKeys = await _languageKeyDbAccess.GetLanguageKeysByGroupId(project.Id, flexFieldObject.Id);

            ExportSettings exportSettings = await _cachedDbAccess.GetExportSettings(project.Id);

            code = ExportUtil.RenderPlaceholderIfTrue(code, Placeholder_Has_Referenced_LanguageKeys_Start, Placeholder_Has_Referenced_LanguageKeys_End, referencedLanguageKeys != null && referencedLanguageKeys.Any());
            code = ExportUtil.BuildPlaceholderRegex(Placeholder_ObjectName).Replace(code, flexFieldObject.Name);
            code = ExportUtil.BuildRangePlaceholderRegex(Placeholder_LanguageKeys_Start, Placeholder_LanguageKeys_End).Replace(code, m => {
                return(BuildLanguageKeyList(m.Groups[1].Value, languageKeys, exportSettings));
            });
            code = ExportUtil.BuildRangePlaceholderRegex(Placeholder_Referenced_LanguageKeys_Start, Placeholder_Referenced_LanguageKeys_End).Replace(code, m => {
                return(BuildLanguageKeyList(m.Groups[1].Value, referencedLanguageKeys, exportSettings));
            });

            return(code);
        }
Пример #26
0
        /// <summary>
        /// Fills the placeholders
        /// </summary>
        /// <param name="template">Template to use</param>
        /// <param name="errorCollection">Error Collection</param>
        /// <param name="parsedData">Parsed config data</param>
        /// <param name="valueObject">Value object</param>
        /// <param name="marker">Marker at which to spawn the object</param>
        /// <param name="flexFieldObject">Flex field object to which the dialog belongs</param>
        /// <param name="curStep">Current step that is rendered</param>
        /// <param name="nextStep">Next step that is being rendered</param>
        /// <param name="exportSettings">Export Settings</param>
        /// <param name="stepRenderer">Action Step renderer</param>
        /// <returns>Filled placeholders</returns>
        protected override async Task <string> FillPlaceholders(ExportTemplate template, ExportPlaceholderErrorCollection errorCollection, SpawnObjectActionData parsedData, IFlexFieldExportable valueObject, KartaMapNamedMarkerQueryResult marker,
                                                                FlexFieldObject flexFieldObject, ExportDialogData curStep, ExportDialogData nextStep, ExportSettings exportSettings, IActionStepRenderer stepRenderer)
        {
            string actionCode = ExportUtil.BuildPlaceholderRegex(Placeholder_TargetMarker_Name).Replace(template.Code, marker.MarkerName);

            actionCode = ExportUtil.BuildPlaceholderRegex(Placeholder_Rotation_Pitch).Replace(actionCode, parsedData.Pitch.ToString());
            actionCode = ExportUtil.BuildPlaceholderRegex(Placeholder_Rotation_Yaw).Replace(actionCode, parsedData.Yaw.ToString());
            actionCode = ExportUtil.BuildPlaceholderRegex(Placeholder_Rotation_Roll).Replace(actionCode, parsedData.Roll.ToString());

            ExportObjectData flexFieldExportData = new ExportObjectData();

            flexFieldExportData.ExportData.Add(ExportConstants.ExportDataObject, valueObject);
            flexFieldExportData.ExportData.Add(ExportConstants.ExportDataObjectType, GetFlexFieldExportObjectType());

            _flexFieldPlaceholderResolver.SetErrorMessageCollection(errorCollection);
            actionCode = _flexFieldPlaceholderResolver.FillPlaceholders(actionCode, flexFieldExportData).Result;

            return(await stepRenderer.ReplaceBasePlaceholders(errorCollection, actionCode, curStep, nextStep, flexFieldObject));
        }
Пример #27
0
        /// <summary>
        /// Fills the placeholders
        /// </summary>
        /// <param name="template">Template to use</param>
        /// <param name="errorCollection">Error Collection</param>
        /// <param name="parsedData">Parsed config data</param>
        /// <param name="valueObject">Value object</param>
        /// <param name="flexFieldObject">Flex field object to which the dialog belongs</param>
        /// <param name="curStep">Current step that is rendered</param>
        /// <param name="nextStep">Next step that is being rendered</param>
        /// <param name="exportSettings">Export Settings</param>
        /// <param name="stepRenderer">Action Step renderer</param>
        /// <returns>Filled placeholders</returns>
        protected override async Task <string> FillPlaceholders(ExportTemplate template, ExportPlaceholderErrorCollection errorCollection, SetQuestStateActionData parsedData, IFlexFieldExportable valueObject, FlexFieldObject flexFieldObject,
                                                                ExportDialogData curStep, ExportDialogData nextStep, ExportSettings exportSettings, IActionStepRenderer stepRenderer)
        {
            string actionCode = ExportUtil.RenderPlaceholderIfTrue(template.Code, Placeholder_QuestState_NotStarted_Start, Placeholder_QuestState_NotStarted_End, parsedData.QuestState == SetQuestStateActionData.QuestState_NotStarted);

            actionCode = ExportUtil.RenderPlaceholderIfTrue(actionCode, Placeholder_QuestState_InProgress_Start, Placeholder_QuestState_InProgress_End, parsedData.QuestState == SetQuestStateActionData.QuestState_InProgress);
            actionCode = ExportUtil.RenderPlaceholderIfTrue(actionCode, Placeholder_QuestState_Success_Start, Placeholder_QuestState_Success_End, parsedData.QuestState == SetQuestStateActionData.QuestState_Success);
            actionCode = ExportUtil.RenderPlaceholderIfTrue(actionCode, Placeholder_QuestState_Failed_Start, Placeholder_QuestState_Failed_End, parsedData.QuestState == SetQuestStateActionData.QuestState_Failed);

            ExportObjectData flexFieldExportData = new ExportObjectData();

            flexFieldExportData.ExportData.Add(ExportConstants.ExportDataObject, valueObject);
            flexFieldExportData.ExportData.Add(ExportConstants.ExportDataObjectType, ExportConstants.ExportObjectTypeQuest);

            _flexFieldPlaceholderResolver.SetErrorMessageCollection(errorCollection);
            actionCode = _flexFieldPlaceholderResolver.FillPlaceholders(actionCode, flexFieldExportData).Result;

            return(await stepRenderer.ReplaceBasePlaceholders(errorCollection, actionCode, curStep, nextStep, flexFieldObject));
        }
Пример #28
0
        public ActionResult ExportCustRpt(int typeID, string filterField, string filterText)
        {
            if (CheckSession() == false)
            {
                return(Json(ResultModelBase.CreateTimeoutModel(), JsonRequestBehavior.AllowGet));
            }
            if (CheckSessionID() == false)
            {
                return(Json(ResultModelBase.CreateLogoutModel(), JsonRequestBehavior.AllowGet));
            }

            ResultModelBase result = new ResultModelBase();

            try
            {
                BaseDao.ProcessFieldFilterValue(filterField, ref filterText);
                List <CustomReportInfo> CustRpts = this.customRptDao.QueryCustRptsList(typeID, filterField, filterText, 0, 0);
                DataTable dt = new DataTable("Sheet1");
                dt.Columns.Add("编号");
                dt.Columns.Add("类别");
                dt.Columns.Add("名称");
                dt.Columns.Add("创建人");
                dt.Columns.Add("创建日期");
                dt.Columns.Add("更改日期");
                dt.Columns.Add("上次运行日期");
                foreach (CustomReportInfo custRpt in CustRpts)
                {
                    dt.Rows.Add(custRpt.OID, custRpt.Type.Name, custRpt.Name, custRpt.CreateUser.Name, custRpt.CreatedDate.ToString("yyyy-MM-dd"),
                                custRpt.UpdateDate == DateTime.MinValue ? "" : custRpt.UpdateDate.ToString("yyyy-MM-dd"), custRpt.LastRunDate == DateTime.MinValue ? "" : custRpt.LastRunDate.ToString("yyyy-MM-dd"));
                }

                MemoryStream ms = ExportUtil.ToExcel(dt);
                Response.AddHeader("Set-Cookie", "fileDownload=true; path=/");
                return(File(ms, "application/excel", "自定义报表列表.xlsx"));
            }
            catch (Exception ex)
            {
                NLog.LogManager.GetCurrentClassLogger().Error(ex, ex.Message);
                result.SetFailed(ResultCodes.SystemError, ControlManager.GetSettingInfo().ErrorMessage);
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
Пример #29
0
        /// <summary>
        /// Renders a dialog step
        /// </summary>
        /// <param name="data">Dialog Step Data</param>
        /// <param name="npc">Npc to which the dialog belongs</param>
        /// <returns>Dialog Step Render Result</returns>
        public async Task <ExportDialogStepRenderResult> RenderDialogStep(ExportDialogData data, KortistoNpc npc)
        {
            ActionNode actionNode = data.Action;

            if (actionNode == null)
            {
                return(null);
            }

            string actionContent = await BuildActionContent(actionNode, data, npc);

            ExportTemplate template = await _defaultTemplateProvider.GetDefaultTemplateByType(_project.Id, TemplateType.TaleAction);

            ExportDialogStepRenderResult renderResult = new ExportDialogStepRenderResult();

            renderResult.StepCode = ExportUtil.BuildPlaceholderRegex(Placeholder_ActionContent).Replace(template.Code, actionContent);
            renderResult.StepCode = ReplaceBaseStepPlaceholders(renderResult.StepCode, data, data.Children.FirstOrDefault() != null ? data.Children.FirstOrDefault().Child : null);

            return(renderResult);
        }
Пример #30
0
        /// <summary>
        /// Renders the dialog
        /// </summary>
        /// <param name="project">Current Project</param>
        /// <param name="code">Template code</param>
        /// <param name="exportDialog">Export dialog data</param>
        /// <param name="dialog">Dialog</param>
        /// <param name="npc">Npc to which the dialog belongs</param>
        /// <returns>Filled code</returns>
        private async Task <string> RenderDialog(GoNorthProject project, string code, ExportDialogData exportDialog, TaleDialog dialog, KortistoNpc npc)
        {
            if (exportDialog == null)
            {
                code = ExportUtil.BuildPlaceholderRegex(Placeholder_Start).Replace(code, string.Empty);
                code = ExportUtil.BuildPlaceholderRegex(Placeholder_Additional_Functions).Replace(code, string.Empty);
                return(code);
            }

            ExportDialogRenderResult dialogRenderResult = await _dialogRenderer.RenderDialog(exportDialog, npc);

            code = ExportUtil.BuildPlaceholderRegex(Placeholder_Start, ExportConstants.ListIndentPrefix).Replace(code, m => {
                return(ExportUtil.TrimEmptyLines(ExportUtil.IndentListTemplate(dialogRenderResult.StartStepCode, m.Groups[1].Value)));
            });
            code = ExportUtil.BuildPlaceholderRegex(Placeholder_Additional_Functions, ExportConstants.ListIndentPrefix).Replace(code, m => {
                return(ExportUtil.TrimEmptyLines(ExportUtil.IndentListTemplate(dialogRenderResult.AdditionalFunctionsCode, m.Groups[1].Value)));
            });

            return(code);
        }