public static async Task Main(string[] args) { var builder = WebAssemblyHostBuilder.CreateDefault(args); builder.RootComponents.Add <App>("app"); var engineService = await EngineService.Instantiate(); var credentialsService = new CredentialsService(); var actors = await engineService.Instance.Storage.GetActors(); credentialsService.SetCurrentActor(actors.First()); builder.Services.AddTransient(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); builder.Services.AddSingleton(sp => engineService.Instance); builder.Services.AddSingleton(sp => engineService); builder.Services.AddSingleton(sp => credentialsService); builder.Services.AddSingleton(sp => new BackupService()); builder.Services.AddSingleton(sp => new RoutingService()); builder.Services.AddSingleton(typeof(IStorageAPI), engineService.Instance.Storage); builder.Services.AddScoped(typeof(DialogService)); builder.Services.AddScoped(typeof(TransactionsService)); builder.Services.AddScoped(typeof(PropertyProviderService)); builder.Services.AddScoped(typeof(PropertyContainerService)); builder.Services.AddScoped(typeof(EntityService)); builder.Services.AddScoped(typeof(ConditionsService)); builder.Services.AddBlazoredModal(); await builder.Build().RunAsync(); }
public void Iniciado() { EngineService Funcion = new EngineService(); Funcion.CrearCarpetaArchivo(); Funcion.EstablecerConexionSocket(pathArchivo, true); }
public async Task SendWithHeaders_MustWithHeadersSend(string method) { var ada = new HttpClientAdapter(new HttpClient()); using (var ser = new EngineService()) { var url = "http://localhost:" + (port++) + "/"; ser.Listener.Prefixes.Add(url); ser.Listen(); var req = new RequestSettings { Address = url, Accept = "application/json", Headers = new Dictionary <string, string> { ["A"] = "a", ["B"] = "b" }, Host = "www.localhost.com", Method = method, Referrer = "http://www.referrer.com", Timeout = 1000 }; var rep = await ada.GetMessageAsync(req); if (!string.Equals(rep.RequestMessage.Method.Method, req.Method, StringComparison.InvariantCulture)) { Assert.Fail(); } Assert.AreEqual(req.Host, rep.RequestMessage.Headers.GetValues("host").First()); Assert.AreEqual(req.Headers["A"], rep.RequestMessage.Headers.GetValues("A").First()); Assert.AreEqual(req.Headers["B"], rep.RequestMessage.Headers.GetValues("B").First()); Assert.AreEqual(req.Accept, rep.RequestMessage.Headers.GetValues("Accept").First()); } }
protected override void OnStop() { this.hilo = null; EngineService Funcion = new EngineService(); Funcion.EstablecerConexionSocket(pathArchivo, false); }
public new void Setup() { base.Setup(); collisionService = new CollisionService(EngineConfigFake, WorldStateService, VectorCalculatorService); collisionHandlers = new List <ICollisionHandler> { new FoodCollisionHandler(WorldStateService, EngineConfigFake), new PlayerCollisionHandler(WorldStateService, collisionService, EngineConfigFake, VectorCalculatorService) }; collisionHandlerResolver = new CollisionHandlerResolver(collisionHandlers); actionHandlers = new List <IActionHandler> { new ForwardActionHandler(), new StartAfterburnerActionHandler(WorldStateService, EngineConfigFake), new StopAfterburnerActionHandler(WorldStateService), new StopActionHandler() }; actionHandlerResolver = new ActionHandlerResolver(actionHandlers); actionService = new ActionService(WorldStateService, actionHandlerResolver); tickProcessingService = new TickProcessingService( collisionHandlerResolver, VectorCalculatorService, WorldStateService, collisionService); engineService = new EngineService(WorldStateService, actionService, EngineConfigFake, tickProcessingService); }
/// <summary> /// Renderiza o conteúdo. /// </summary> /// <param name="viewContext"></param> /// <param name="writer"></param> public void Render(System.Web.Mvc.ViewContext viewContext, System.IO.TextWriter writer) { if (IsRazorFile) { try { var cache = _virtualFile as ITemplateCacheSupport; RazorEngine.Templating.ITemplateKey templateKey = null; if (cache != null) { if (cache.TemplateKey == null) { templateKey = EngineService.GetKey(_virtualFile.VirtualPath.ToLower(), RazorEngine.Templating.ResolveType.Include); cache.Register(templateKey); } else { templateKey = cache.TemplateKey; } } else { templateKey = EngineService.GetKey(_virtualFile.VirtualPath.ToLower(), RazorEngine.Templating.ResolveType.Include); } RazorEngine.Templating.DynamicViewBag viewBag = new CustomDynamicViewBag(viewContext.ViewData) { ViewContext = viewContext }; var modelType = _model != null?_model.GetType() : null; if (!EngineService.IsTemplateCached(templateKey, modelType)) { try { EngineService.Compile(templateKey, modelType); } catch (Exception ex) { viewContext.HttpContext.Response.StatusCode = 501; writer.Write(ex.ToString()); return; } } EngineService.Run(templateKey, writer, modelType, null, viewBag); return; } catch (Exception ex) { viewContext.HttpContext.Response.StatusCode = 501; writer.Write(ex.ToString()); return; } } using (var stream = _virtualFile.Open()) { var reader = new System.IO.StreamReader(stream); writer.Write(reader.ReadToEnd()); writer.Flush(); } }
public async Task <IActionResult> UploadFile(IFormFile file) { //todo move to uploadService var filePath = Path.Combine("E:\\university\\DSPAI\\DSPAI\\", "FileStorage"); if (file.Length > 0) { if (System.IO.File.Exists(filePath)) { System.IO.File.Delete(filePath); } using (var fileStream = new FileStream(Path.Combine(filePath, file.FileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } } // process uploaded files // Don't rely on or trust the FileName property without validation. var engineService = new EngineService(); var image = engineService.GetImageByFile(file); var bitMap = engineService.GetBitMap(image); var grayScaleBitMap = engineService.MakeGrayscale(bitMap); var histogram = engineService.CreateHistogrtam(grayScaleBitMap); return(Ok(new HistogramDTO() { Histogram = histogram, Path = Path.Combine(filePath, file.FileName) })); }
public BuildsController(IBuildRepository buildRepo, IEngineRepository engineRepo, EngineService engineService, IOptions <EngineOptions> options) { _buildRepo = buildRepo; _engineService = engineService; _options = options; }
public async Task ShouldCreateEngineWithExistingDb() { var dbOptions = DbHelper.GetNewDbOptions <MockContext>(); await CreateTestDatabase(dbOptions); using (var context = new MockContext(dbOptions)) { var service = new EngineService(context); var engineVm = new EngineViewModel { Capacity = 1600, Configuration = "Inline 4", FuelType = "Petrol" }; var isCreateSuccess = await service.CreateNewEngine(engineVm); var engines = context.Engines; var engine1 = engines.First(); var engine5 = engines.Last(); Assert.True(isCreateSuccess); Assert.Equal(5, engines.Count()); Assert.Equal(2400, engine1.Capacity); Assert.Equal("Inline 4 Vtec", engine1.Configuration); Assert.Equal("Petrol", engine1.FuelType); Assert.Equal(engineVm.Capacity, engine5.Capacity); Assert.Equal(engineVm.Configuration, engine5.Configuration); Assert.Equal(engineVm.FuelType, engine5.FuelType); } }
public void SetUp() { _readService = new Mock <IReadService>(); _writeServiceMock = new Mock <IWriteService>(); _refereeService = new Mock <IRefereeService>(); _testedService = new EngineService(_readService.Object, _writeServiceMock.Object, _refereeService.Object); }
public async Task ShouldCreateEngineWithEmptyDb() { using (var context = new MockContext(DbHelper.GetNewDbOptions <MockContext>())) { var service = new EngineService(context); var engineVm = new EngineViewModel { Capacity = 1600, Configuration = "Inline 4", FuelType = "Petrol" }; var isCreateSuccess = await service.CreateNewEngine(engineVm); var engine = context.Engines.First(); Assert.True(isCreateSuccess); Assert.Single(context.Engines); Assert.Equal(engineVm.Capacity, engine.Capacity); Assert.Equal(engineVm.Configuration, engine.Configuration); Assert.Equal(engineVm.FuelType, engine.FuelType); } }
public async Task ShouldGetEngines() { var dbOptions = DbHelper.GetNewDbOptions <MockContext>(); await CreateTestDatabase(dbOptions); using (var context = new MockContext(dbOptions)) { var service = new EngineService(context); var results = service.GetEngines(); var engine1 = results.First(); var engine4 = results.Last(); Assert.Equal(4, results.Count()); Assert.Equal(2400, engine1.Capacity); Assert.Equal("Inline 4 Vtec", engine1.Configuration); Assert.Equal("Petrol", engine1.FuelType); Assert.Equal(2000, engine4.Capacity); Assert.Equal("Inline 4 Turbo", engine4.Configuration); Assert.Equal("Diesel", engine4.FuelType); } }
public static IEngineService Create(Guid tenantId) { if (Container == null) { throw new ArgumentNullException("Container", "Unity Container Not Initialized."); } if (string.IsNullOrEmpty(ConnectionString)) { throw new ArgumentNullException("ConnectionString", "ConnectionString is empty."); } var iCommonMapper = Container.Resolve <ICommonMapper>(); var iCommonRepository = new CommonRepository(new Common_Entities(ConnectionString)); var tenant = iCommonRepository.RetrieveTenantById(tenantId); iCommonRepository.Dispose(); if (tenant == null) { throw new Exception("Could not find schema for this tenantId:" + tenantId); } var engineEntities = new ANDP_Engine_Entities(ConnectionString, tenant.Schema); var engineRepository = new EngineRepository(engineEntities); IEngineService service = new EngineService(engineRepository, iCommonMapper); return(service); }
private dynamic ReadResource( IRequest request, HttpRequestMethod requestMethod, PermissionHandler <TRelation, TUser> permissionHandler) { var result = APIUtils.GetResource(dbContext, request); if (result == null) { return(new NotFoundResult()); } var serializerSettings = JsonConvert.DefaultSettings(); serializerSettings.ContractResolver = new APIJsonResolver <TRelation, TUser> { PermissionHandler = permissionHandler, ModelAction = ModelAction.Read, RequestMethod = requestMethod, IRequest = request, DbContext = dbContext, EngineService = EngineService, IncludeBindNever = true, IncludeKey = true }; EngineService.OnResourceRead(dbContext, request, result); Response.Headers.Add("Server", "NG-API"); return(new OkObjectResult(JsonConvert.SerializeObject(result, serializerSettings))); }
private void RegisterPremiumSystemsAndTemplates() { TemplateRegistry.Register <PremiumBoostMarketItemTemplate>(); TemplateRegistry.Register <PremiumBoostUserItemTemplate>(); TemplateRegistry.Register <PremiumQuestMarketItemTemplate>(); TemplateRegistry.Register <PremiumQuestUserItemTemplate>(); EngineService.RegisterSystem(new PremiumItemSystem()); }
public void ShouldBeConstructed() { using (var context = new MockContext(emptyDbOptions)) { var service = new EngineService(context); Assert.NotNull(service); } }
public void RemoveProject_LanguagePairDoesNotExist_ReturnsFalse() { using (var tempDir = new TempDirectory("EngineServiceTests")) { var service = new EngineService(CreateOptions(tempDir.Path), CreateSmtModelFactory(), CreateRuleEngineFactory()); service.RemoveProject("es", "en", "project2").Should().BeFalse(); } }
public void GetAllLanguagePairs_NoLanguagePairs_ReturnsEmpty() { using (var tempDir = new TempDirectory("EngineServiceTests")) { var service = new EngineService(CreateOptions(tempDir.Path), CreateSmtModelFactory(), CreateRuleEngineFactory()); service.GetAllLanguagePairs().Should().BeEmpty(); } }
public void ShouldGetNoEnginesWithEmptyDb() { using (var context = new MockContext(emptyDbOptions)) { var service = new EngineService(context); Assert.Empty(service.GetEngines()); } }
public IHttpActionResult SetDisplay([FromUri] string address, [FromBody] SetDisplayRequest request) { EngineService service = (EngineService)AppCoreBootstrapper.Container.GetInstance(typeof(EngineService));; Cube entityCube = service._cubeRepository.GetCube(address); DisplayCube displayCube = new DisplayCube(entityCube, _cubeRepository, service); displayCube.SetDisplayText(request.Row, request.Content); return(Ok()); }
public IHttpActionResult TurnOffBacklight(string address) { EngineService service = (EngineService)AppCoreBootstrapper.Container.GetInstance(typeof(EngineService));; Cube entityCube = service._cubeRepository.GetCube(address); RelayCube displayCube = new RelayCube(entityCube, _cubeRepository, service); displayCube.TurnOff(); return(Ok()); }
public void TryGetLanguagePair_LanguagePairDoesNotExist_ReturnsFalse() { using (var tempDir = new TempDirectory("EngineServiceTests")) { var service = new EngineService(CreateOptions(tempDir.Path), CreateSmtModelFactory(), CreateRuleEngineFactory()); LanguagePairDto languagePair; service.TryGetLanguagePair("es", "en", out languagePair).Should().BeFalse(); } }
public void GetAllProjects_LanguagePairDoesNotExist_ReturnsFalse() { using (var tempDir = new TempDirectory("EngineServiceTests")) { var service = new EngineService(CreateOptions(tempDir.Path), CreateSmtModelFactory(), CreateRuleEngineFactory()); IReadOnlyList <ProjectDto> projects; service.GetAllProjects("es", "en", out projects).Should().BeFalse(); } }
public void TryInteractiveTranslate_LanguagePairDoesNotExist_ReturnsFalse() { using (var tempDir = new TempDirectory("EngineServiceTests")) { var service = new EngineService(CreateOptions(tempDir.Path), CreateSmtModelFactory(), CreateRuleEngineFactory()); InteractiveTranslationResultDto result; service.TryInteractiveTranslate("es", "en", null, "Esto es una prueba .".Split(), out result).Should().BeFalse(); } }
public PaymentsController() :base() { this.paymentProvider = ProviderService.GetProvider(); this.antiForgeryService = new AntiForgeryService(); this.engineService = new EngineService(); System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; }
public void GetAllLanguagePairs_HasLanguagePairs_ReturnsLanguagePairDtos() { using (var tempDir = new TempDirectory("EngineServiceTests")) { CreateLanguagePair(tempDir.Path, "es", "en"); CreateLanguagePair(tempDir.Path, "fr", "en"); var service = new EngineService(CreateOptions(tempDir.Path), CreateSmtModelFactory(), CreateRuleEngineFactory()); service.GetAllLanguagePairs().Select(e => $"{e.SourceLanguageTag}_{e.TargetLanguageTag}").Should().BeEquivalentTo(new[] { "es_en", "fr_en" }); } }
public void TryGetProject_ProjectDoesNotExist_ReturnsFalse() { using (var tempDir = new TempDirectory("EngineServiceTests")) { CreateLanguagePair(tempDir.Path, "es", "en"); var service = new EngineService(CreateOptions(tempDir.Path), CreateSmtModelFactory(), CreateRuleEngineFactory()); ProjectDto project; service.TryGetProject("es", "en", "project3", out project).Should().BeFalse(); } }
private dynamic DeleteResource( IRequest request, TRelation relationType, IRequest relatedRequest, PermissionHandler <TRelation, TUser> permissionHandler) { var resource = APIUtils.GetResource(dbContext, request) as object; if (resource == null) { return(new NotFoundResult()); } if (!(resource is RootModel)) { return(new BadRequestObjectResult( new APIError { Code = StatusCodes.Status424FailedDependency, Message = "Only api architecture based models can be deleted" } )); } var globalIntraction = dbContext.MagicDbSet(EngineService.MapRelationToType("Global")) as IEnumerable <dynamic>; var globalRelation = Enum.Parse(enumType: typeof(TRelation), value: "Global"); var isCreator = globalIntraction .Where(predicate: intraction => intraction.IntractionType.Equals(globalRelation) && intraction.Valid && ((intraction.ValidUntil == null || intraction.ValidUntil.HasValue == false) || (intraction.ValidUntil.HasValue && System.DateTime.Now.CompareTo(intraction.ValidUntil.Value) < 0)) && (intraction.CreatorId.Equals(permissionHandler.getRequesterID()) && intraction.FirstModelId.Equals(permissionHandler.getRequesterID()) && intraction.SecondModelId.Equals(resource.GetKeyPropertyValue()))) .Any(); if (!isCreator) { return(new BadRequestObjectResult( new APIError { Code = StatusCodes.Status403Forbidden, Message = "Only object creator (The owner) can delete it" })); } resource.GetType().GetProperty(nameof(RootModel.Deactivated)).SetValue(resource, true); dbContext.Entry(resource).Property(nameof(RootModel.Deactivated)).IsModified = true; dbContext.SaveChanges(); EngineService.OnResourceDeleted(dbContext, request, resource); return(new OkResult()); }
public void GetAllProjects_LanguagePairExists_ReturnsTrue() { using (var tempDir = new TempDirectory("EngineServiceTests")) { CreateLanguagePair(tempDir.Path, "es", "en"); var service = new EngineService(CreateOptions(tempDir.Path), CreateSmtModelFactory(), CreateRuleEngineFactory()); IReadOnlyList <ProjectDto> projects; service.GetAllProjects("es", "en", out projects).Should().BeTrue(); projects.Select(p => p.Id).Should().BeEquivalentTo(new[] { "project1", "project2" }); } }
public void TryTranslate_ProjectEngine_ReturnsTrue() { using (var tempDir = new TempDirectory("EngineServiceTests")) { CreateLanguagePair(tempDir.Path, "es", "en"); var service = new EngineService(CreateOptions(tempDir.Path), CreateSmtModelFactory(), CreateRuleEngineFactory()); IReadOnlyList <string> result; service.TryTranslate("es", "en", "project2", "Esto es una prueba .".Split(), out result).Should().BeTrue(); result.Should().Equal("This is a test .".Split()); } }
/// <summary> /// 我的单据详细信息 /// </summary> /// <param name="FormidSystemcode">表单ID和systemcode,格式:SystemCode_FormID</param> /// <returns></returns> public static string Get_Record_DetailByForm(string FormidSystemcode) { try { #region 获取单据代码块 DateTime start = DateTime.Now; EngineService engineService = new EngineService(); SMT.SaaS.Services.EngineWS.T_FLOW_ENGINEMSGLIST detail = engineService.PendingDetailTasksByOrderNodeCodeForMobile(FormidSystemcode); if (detail == null) { throw new Exception("调用我的单据Get_Record_DetailByForm方法中globalClient.PendingDetailTasksByOrderNodeCodeForMobile" + "没有找到【" + FormidSystemcode + "】的数据"); } DateTime end = DateTime.Now; //Common.CallWcfLog("PendingDetailTasksByOrderNodeCodeForMobile", "调用与返回", "我的单据详细信息", start, end); string OrderType = "";//是否是咨询单 if (detail.ORDERNODECODE.IndexOf("Consultati") > -1) { OrderType = "Consultation"; } #region 过滤需要编辑的单据 if (detail.FLOWXML == "" || detail.FLOWXML == null) { return GetXmlIsValid("1", "该单据需要在电脑上编辑提交审核。"); } #endregion #region 没有Version节点表示为测试数据。 if ((from c in XElement.Parse(detail.APPXML).Elements("Version") select c).FirstOrDefault() == null) { //return GetXmlIsValid("2", "该单据数据版本低,请在电脑上审核。"); return GetXmlIsValid("2", "该单据数据版本低,请在电脑上查看。"); } #endregion var xmlroots = (from c in XElement.Parse(detail.APPXML).Elements("Object") select c).FirstOrDefault(); string modelCodeValue = xmlroots.Attribute("Name").Value; string modelNameValue = xmlroots.Attribute("Description").Value; string formid = xmlroots.Attribute("id").Value; bool isAttach = false;//是否有附件(true有附件,false没有附件) StringBuilder stringBuilder = new StringBuilder(); stringBuilder.Append("<?xml version=\"1.0\" encoding=\"utf-8\" ?>"); stringBuilder.Append("<System>"); stringBuilder.Append("<Result Code=\"0\"><![CDATA[成功]]></Result>"); stringBuilder.Append("<Form FormID=\"" + formid + "\" ModelCode=\"" + modelCodeValue + "\" MESSAGESTATUS=\"" + detail.MESSAGESTATUS.ToLower() + "\" OrderType=\"" + OrderType.ToLower() + "\" Text=\"" + modelNameValue + "\" ></Form>"); stringBuilder.Append("<Object Name=\"" + modelCodeValue + "\" Text=\"" + modelNameValue + "\">"); #region 主表数据 var xmlitems = from c in XElement.Parse(detail.APPXML).Elements("Object").Elements("Attribute") select c;//主表 for (int i = 0; i < xmlitems.Count(); i++) { string name = xmlitems.ElementAt(i).Attribute("Name").Value; string text = xmlitems.ElementAt(i).Attribute("Description").Value; string datatype = xmlitems.ElementAt(i).Attribute("DataType").Value; string datatext = EscapeXML(xmlitems.ElementAt(i).Attribute("DataText").Value); string datavalue = EscapeXML(xmlitems.ElementAt(i).Attribute("DataValue").Value); string isencryption = "0";//是否是需要解密(0:表示不存在IsEncryption属性;true表示存在IsEncryption属性并把值加密;false表示存在IsEncryption属性值没有加密) string value = "";//值 string color = xmlitems.ElementAt(i).Attribute("Color") == null ? "" : xmlitems.ElementAt(i).Attribute("Color").Value; string tooltip = xmlitems.ElementAt(i).Attribute("Tooltip") == null ? "" : xmlitems.ElementAt(i).Attribute("Tooltip").Value; if (datatext == string.Empty) { value = datavalue; } else { value = datatext; } if (datatype.ToLower() == "datetime") { value = ChangeTime(value); } if (xmlitems.ElementAt(i).Attribute("IsEncryption") != null) { isencryption = xmlitems.ElementAt(i).Attribute("IsEncryption").Value.ToLower(); } if (datatype.ToLower() != "attachmentlist" && isencryption == "0") { stringBuilder.Append("<Attribute Name=\"" + name + "\" Text=\"" + text + "\" DataType=\"" + datatype + "\" DataValue=\"" + value + "\"></Attribute>"); } else if (datatype.ToLower() != "attachmentlist" && isencryption == "true") { stringBuilder.Append("<Attribute Name=\"" + name + "\" Text=\"" + text + "\" DataType=\"" + datatype + "\" DataValue=\"" + ReplaceString(value) + "\"></Attribute>"); } else if (datatype.ToLower() != "attachmentlist" && isencryption == "false") { stringBuilder.Append("<Attribute Name=\"" + name + "\" Text=\"" + text + "\" DataType=\"" + datatype + "\" DataValue=\"" + value + "\"></Attribute>"); } if (datatype.ToLower() == "attachmentlist" && isencryption == "0") { isAttach = true; } } #endregion #region 从表数据 var objectlists = from c in XElement.Parse(detail.APPXML).Elements("Object").Elements("ObjectList") select c;//从表信息 for (int i = 0; i < objectlists.Count(); i++) { stringBuilder.Append("<ObjectList Name=\"" + objectlists.ElementAt(i).Attribute("Name").Value + "\" Text=\"" + objectlists.ElementAt(i).Attribute("Description").Value + "\">"); var objects = from obj in objectlists.ElementAt(i).Elements("Object") select obj; for (int j = 0; j < objects.Count(); j++) { stringBuilder.Append("<Object Name=\"" + objects.ElementAt(j).Attribute("Name").Value + "\" id=\"" + objects.ElementAt(j).Attribute("id").Value + "\" Text=\"" + objects.ElementAt(j).Attribute("Description").Value + "\">"); var attributes = from att in objects.ElementAt(j).Elements("Attribute") select att; for (int k = 0; k < attributes.Count(); k++) { string name = attributes.ElementAt(k).Attribute("Name").Value; string text = attributes.ElementAt(k).Attribute("Description").Value; string datatype = attributes.ElementAt(k).Attribute("DataType").Value; string datavalue = attributes.ElementAt(k).Attribute("DataValue").Value; string datatext = attributes.ElementAt(k).Attribute("DataText").Value; string isencryption = "0";//是否是需要解密(0:表示不存在IsEncryption属性;true表示存在IsEncryption属性并把值加密;false表示存在IsEncryption属性值没有加密) string value = "";//值 string color = attributes.ElementAt(k).Attribute("Color") == null ? "" : attributes.ElementAt(k).Attribute("Color").Value; string tooltip = attributes.ElementAt(k).Attribute("Tooltip") == null ? "" : attributes.ElementAt(k).Attribute("Tooltip").Value; if (datatext == string.Empty) { value = datavalue; } else { value = datatext; } if (datatype.ToLower() == "datetime") { value = ChangeTime(value); } if (attributes.ElementAt(k).Attribute("IsEncryption") != null) { isencryption = attributes.ElementAt(k).Attribute("IsEncryption").Value.ToLower(); } stringBuilder.Append("<Attribute "); stringBuilder.Append("Name=\"" + name + "\" "); stringBuilder.Append("Text=\"" + text + "\" "); stringBuilder.Append("DataType=\"" + datatype + "\" "); stringBuilder.Append("DataValue=\"" + (isencryption == "true" ? ReplaceString(value) : value) + "\" "); if (!string.IsNullOrEmpty(color)) { stringBuilder.Append(" Color=\"" + color + "\" "); } if (!string.IsNullOrEmpty(tooltip)) { stringBuilder.Append(" Tooltip=\"" + tooltip + "\" "); } stringBuilder.Append("></Attribute>"); } #region 从表的从表 var aol = from att in objects.ElementAt(j).Elements("ObjectList") select att; for (int a = 0; a < aol.Count(); a++) { stringBuilder.Append("<ObjectList Name=\"" + aol.ElementAt(a).Attribute("Name").Value + "\" Text=\"" + aol.ElementAt(a).Attribute("Description").Value + "\">"); var aolo = from obj in aol.ElementAt(a).Elements("Object") select obj; for (int b = 0; b < aolo.Count(); b++) { stringBuilder.Append("<Object Name=\"" + aolo.ElementAt(b).Attribute("Name").Value + "\" id=\"" + aolo.ElementAt(b).Attribute("id").Value + "\" Text=\"" + aolo.ElementAt(b).Attribute("Description").Value + "\">"); var aoloatt = from objatt in aolo.ElementAt(b).Elements("Attribute") select objatt; for (int c = 0; c < aoloatt.Count(); c++) { string name = aoloatt.ElementAt(c).Attribute("Name").Value; string text = aoloatt.ElementAt(c).Attribute("Description").Value; string datatype = aoloatt.ElementAt(c).Attribute("DataType").Value; string datavalue = aoloatt.ElementAt(c).Attribute("DataValue").Value; string datatext = aoloatt.ElementAt(c).Attribute("DataText").Value; string isencryption = "0";//是否是需要解密(0:表示不存在IsEncryption属性;true表示存在IsEncryption属性并把值加密;false表示存在IsEncryption属性值没有加密) string value = "";//值 if (datatext == string.Empty) { value = datavalue; } else { value = datatext; } if (datatype.ToLower() == "datetime") { value = ChangeTime(value); } if (aoloatt.ElementAt(c).Attribute("IsEncryption") != null) { isencryption = aoloatt.ElementAt(c).Attribute("IsEncryption").Value.ToLower(); } switch (isencryption) { case "0": stringBuilder.Append("<Attribute Name=\"" + name + "\" Text=\"" + text + "\" DataType=\"" + datatype + "\" DataValue=\"" + value + "\" />"); break; case "true": stringBuilder.Append("<Attribute Name=\"" + name + "\" Text=\"" + text + "\" DataType=\"" + datatype + "\" DataValue=\"" + ReplaceString(value) + "\" />"); break; case "false": stringBuilder.Append("<Attribute Name=\"" + name + "\" Text=\"" + text + "\" DataType=\"" + datatype + "\" DataValue=\"" + value + "\" />"); break; default: break; } } stringBuilder.Append("</Object>"); } stringBuilder.Append("</ObjectList>"); } #endregion stringBuilder.Append("</Object>"); } stringBuilder.Append("</ObjectList>"); } #endregion stringBuilder.Append("</Object>"); #region 取附件 if (isAttach == true) { #region new 2012-08-30 添加 stringBuilder.Append(GetAttachList(formid)); #endregion } #endregion stringBuilder.Append("</System>"); return stringBuilder.ToString(); #endregion } catch (Exception ex) { return GetXmlIsValid("3", "该单据数据出现异常,异常消息:" + ex.Message + "\n FormidSystemcode:" + FormidSystemcode); } }