/// <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)); }
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)); }
/// <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); }
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; } }
/// <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); }
/// <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); }
/// <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)); }
/// <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)); }
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)); }
/// <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)); }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
// 打包 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); }
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); }
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)); }
/// <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) }); }
/// <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)); }
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); }
/// <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)); }
/// <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)); }
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)); }
/// <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); }
/// <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); }