private static void fillProperties(XElement element, object target) { var converter = new ObjectConverter(); var immediateElements = element.Elements().Where(x => !x.Descendants().Any()); var type = target.GetType(); foreach (var immediateElement in immediateElements) { var name = immediateElement.Name; var prop = type.GetProperty(name.LocalName); if (prop != null && prop.PropertyType.IsSimple()) { var value = converter.FromString(immediateElement.Value, prop.PropertyType); prop.SetValue(target, value, null); } } foreach (var attribute in element.Attributes()) { var name = attribute.Name; var prop = type.GetProperty(name.LocalName); if (prop != null && prop.PropertyType.IsSimple()) { var value = converter.FromString(attribute.Value, prop.PropertyType); ; prop.SetValue(target, value, null); } } }
public void is_a_test_input() { var converter = new ObjectConverter(); var library = new FixtureLibrary(converter); library.IsTestVariable(typeof(Address)).ShouldBeFalse(); library.IsTestVariable(typeof(ITestContext)).ShouldBeFalse(); library.IsTestVariable(typeof(int?)).ShouldBeTrue(); library.IsTestVariable(typeof(int)).ShouldBeTrue(); library.IsTestVariable(typeof(DateTime)).ShouldBeTrue(); library.IsTestVariable(typeof(DateTime?)).ShouldBeTrue(); }
public void cant_find_bob() { cl.RegisterConverter<Bob>(s => null); IObjectConverter oc = new ObjectConverter(inMemoryServiceLocator, cl); inMemoryServiceLocator.Add(oc); var results = _binder.Bind(typeof(EditBob), new BindingContext(theData, inMemoryServiceLocator, new NulloBindingLogger())); results.ShouldBeOfType<EditBob>(); results.As<EditBob>().Target.ShouldNotBeNull(); results.As<EditBob>().Target.As<Bob>().Name.ShouldEqual("Ryan"); }
/// <summary> /// 更新手动/交叉控制 /// </summary> /// <param name="ManualCrossControlRequest"></param> /// <returns></returns> public BasicResponse UpdateManualCrossControl(ManualCrossControlUpdateRequest ManualCrossControlRequest) { BasicResponse Result = new BasicResponse(); Jc_JcsdkzInfo item = ManualCrossControlRequest.ManualCrossControlInfo; ManualCrossControlCacheGetByKeyRequest manualCrossControlCacheRequest = new ManualCrossControlCacheGetByKeyRequest(); manualCrossControlCacheRequest.ManualCrosControlId = item.ID; var result = _ManualCrossControlCacheService.GetByKeyManualCrossControlCache(manualCrossControlCacheRequest); if (result.Data == null) { //缓存中存在此测点 Result.Code = 1; Result.Message = "当前更新的手动/交叉控制信息不存在!"; return(Result); } //向网关同步数据 List <Jc_JcsdkzInfo> SendItemList = new List <Jc_JcsdkzInfo>(); SendItemList.Add(item); var resultSync = SynchronousDataToGateway(SendItemList); if (!resultSync) { Result.Code = 1; Result.Message = "向网关同步数据失败!"; return(Result); } //数据库操作 var _jc_Jcsdkz = ObjectConverter.Copy <Jc_JcsdkzInfo, Jc_JcsdkzModel>(ManualCrossControlRequest.ManualCrossControlInfo); _Repository.UpdateManualCrossControl(_jc_Jcsdkz); //缓存操作 ManualCrossControlCacheUpdateRequest UpdateManualCrossControlCacheRequest = new ManualCrossControlCacheUpdateRequest(); UpdateManualCrossControlCacheRequest.ManualCrossControlInfo = item; _ManualCrossControlCacheService.UpdateManualCrossControlCache(UpdateManualCrossControlCacheRequest); //调用驱动重新加载控制信息 DriverManualCrossControlReLoadRequest reLoadRequest = new DriverManualCrossControlReLoadRequest(); _DriverManualCrossControlService.ReLoad(reLoadRequest); return(Result); }
/// <summary> /// 登录验证 /// </summary> protected override void ValidateLogin() { try { if (base._loginContext == null || !base._loginContext.ContainsKey(KeyConst.LoginUserKey) || !base._loginContext.ContainsKey(KeyConst.LoginPasswordKey)) { ThrowException("ValidateLogin", new Exception("请勿非法登录访问!")); } string userCode = base._loginContext[KeyConst.LoginUserKey].ToString(); string password = base._loginContext[KeyConst.LoginPasswordKey].ToString(); if (string.IsNullOrEmpty(userCode)) { ThrowException("ValidateLogin", new Exception("用户名不能为空!")); } if (string.IsNullOrEmpty(password)) { ThrowException("ValidateLogin", new Exception("密码不能为空!")); } //1. todo 调用用户接口验证用户名和密码 var item = _UserRepository.GetUserByCode(userCode); UserInfo user = ObjectConverter.Copy <UserModel, UserInfo>(item); if (user == null) { ThrowException("ValidateLogin", new Exception("登录用户名不存在,请重新输入!")); } if (user.Password != Basic.Framework.Common.MD5Helper.MD5Encrypt(password)) { ThrowException("ValidateLogin", new Exception("登录密码错误,请重新输入!")); } if (user.UserFlag == 0) { ThrowException("ValidateLogin", new Exception("此帐户已经被停用!")); } base._loginContext.Add(KeyConst.UserDtoKey, user); base.ValidateLogin(); } catch (System.Exception ex) { ThrowException("ValidateLogin", ex); } }
private void lookUpEditAnalysisTemplate_EditValueChanged(object sender, EventArgs e) { try { if (this.lookUpEditAnalysisTemplate.EditValue == null) { return; } string daID = this.lookUpEditAnalysisTemplate.EditValue.ToString(); //是ookUpEdit.Properties.ValueMember的值 if (gridLookUpEdit.EditValue == null) { return; } if (daID.ToLower() == gridLookUpEdit.EditValue.ToString().ToLower()) { XtraMessageBox.Show("解除模型不能选择当前分析模型.\n要解除当前分析模型的控制请勾选【不满足条件时是否解除控制】", "提示消息", MessageBoxButtons.OK, MessageBoxIcon.Information); lookUpEditAnalysisTemplate.EditValue = lookUpEditAnalysisTemplate.OldEditValue; return; } List <JC_RegionOutageConfigInfo> JC_RegionOutageConfigInfoList = regionOutageBusiness.GetRegionOutage(daID); List <Jc_DefInfo> pointList = ObjectConverter.DeepCopy(pointDefineList); List <Jc_DefInfo> closeControlList = new List <Jc_DefInfo>(); if (JC_RegionOutageConfigInfoList != null && JC_RegionOutageConfigInfoList.Count > 0) { foreach (var item in JC_RegionOutageConfigInfoList) { if (item.ControlStatus == 0) { continue;//解除控制的跳过,只加载被选模型配置为控制的测点。 } Jc_DefInfo addItem = pointList.FirstOrDefault(p => p.PointID == item.PointId); if (null != addItem) { closeControlList.Add(addItem); } } } //if(closeControlList.Count > 0) lookUpEditPoint.Properties.DataSource = (from p in closeControlList orderby p.Point ascending select new { PointName = p.Point, PointId = p.PointID, Point = p.Point, Wz = p.Wz, DevName = p.DevName }).ToList(); } catch (Exception ex) { LogHelper.Error(string.Format("加载解控测点出错! 错误消息:{0}", ex.StackTrace)); } }
/// <summary> /// 获取关联应急联动的分析模型 /// </summary> /// <param name="largedataAnalysisConfigGetListWithRegionOutageRequest">关联应急联动的请求对象</param> /// <returns>获取关联应急联动的分析模型</returns> public BasicResponse <List <JC_LargedataAnalysisConfigInfo> > GetLargeDataAnalysisConfigWithRegionOutagePage(LargedataAnalysisConfigGetListWithRegionOutageRequest largedataAnalysisConfigGetListWithRegionOutageRequest) { largedataAnalysisConfigGetListWithRegionOutageRequest.PagerInfo.PageIndex = largedataAnalysisConfigGetListWithRegionOutageRequest.PagerInfo.PageIndex - 1; if (largedataAnalysisConfigGetListWithRegionOutageRequest.PagerInfo.PageIndex < 0) { largedataAnalysisConfigGetListWithRegionOutageRequest.PagerInfo.PageIndex = 0; } int rowcount = 0; int pageIndex = largedataAnalysisConfigGetListWithRegionOutageRequest.PagerInfo.PageIndex; int pageSize = largedataAnalysisConfigGetListWithRegionOutageRequest.PagerInfo.PageSize; rowcount = largedataAnalysisConfigGetListWithRegionOutageRequest.PagerInfo.RowCount; string sqlParameter = string.Empty; if (!string.IsNullOrEmpty(largedataAnalysisConfigGetListWithRegionOutageRequest.AnalysisModelName)) { sqlParameter = string.Format(" and ac.Name like '%{0}%' ", largedataAnalysisConfigGetListWithRegionOutageRequest.AnalysisModelName.Replace("'", "''")); } DataTable dtResult = _Repository.QueryTable("GetLargeDataAnalysisConfigWithRegionOutage", sqlParameter); BasicResponse <List <JC_LargedataAnalysisConfigInfo> > response = new BasicResponse <List <JC_LargedataAnalysisConfigInfo> >(); if (dtResult != null && dtResult.Rows.Count > 0) { List <JC_LargedataAnalysisConfigInfo> listResult = ObjectConverter.Copy <JC_LargedataAnalysisConfigInfo>(dtResult); rowcount = listResult.Count(); if (pageSize == 0) {//查询所有数据 response.Data = listResult.OrderByDescending(t => t.UpdatedTime).ToList(); } else { response.Data = listResult.OrderByDescending(t => t.UpdatedTime).Skip(pageIndex * pageSize).Take(pageSize).ToList(); } if (response.Data != null && response.Data.Count > 0) { response.PagerInfo.PageIndex = pageIndex; response.PagerInfo.PageSize = pageSize; response.PagerInfo.RowCount = rowcount; } } else { response.Data = new List <JC_LargedataAnalysisConfigInfo>(); } return(response); }
public BasicResponse <AreaInfo> AddArea(AreaAddRequest arearequest) { var arearesponse = new BasicResponse <AreaInfo>(); //判断缓存中是否存在 AreaInfo oldArea = null; AreaCacheGetByKeyRequest AreaCacheRequest = new AreaCacheGetByKeyRequest(); AreaCacheRequest.Areaid = arearequest.AreaInfo.Areaid; oldArea = _AreaCacheService.GetByKeyAreaCache(AreaCacheRequest).Data; if (oldArea != null) { //缓存中存在此测点 arearesponse.Code = 1; arearesponse.Message = "当前添加的区域已存在!"; return(arearesponse); } //向网关同步数据 20180103 if (!string.IsNullOrEmpty(arearequest.AreaInfo.Bz3) && arearequest.AreaInfo.Bz3 == "1")//如果是广播分区,则需要向网关同步数据 { List <AreaInfo> SendItemList = new List <AreaInfo>(); SendItemList.Add(arearequest.AreaInfo); var resultSync = SynchronousDataToGateway(SendItemList); if (!resultSync) { arearesponse.Code = 1; arearesponse.Message = "向网关同步数据失败!"; return(arearesponse); } } var _area = ObjectConverter.Copy <AreaInfo, AreaModel>(arearequest.AreaInfo); var resultarea = _Repository.AddArea(_area); //更新区域限制、禁止进入人员信息 SaveRestrictedperson(arearequest.AreaInfo.Areaid, arearequest.AreaInfo.RestrictedpersonInfoList); //更新区域识别器定义限制信息 SaveAreaRule(arearequest.AreaInfo.Areaid, arearequest.AreaInfo.AreaRuleInfoList); //更新区域缓存 20171128 AreaCacheAddRequest AreaCacheAddRequest = new Sys.Safety.Request.PersonCache.AreaCacheAddRequest(); AreaCacheAddRequest.AreaInfo = arearequest.AreaInfo; _AreaCacheService.AddAreaCache(AreaCacheAddRequest); arearesponse.Data = ObjectConverter.Copy <AreaModel, AreaInfo>(resultarea); return(arearesponse); }
public BasicResponse <Dictionary <string, DataTable> > GetMcData(GetMcDataRequest request) { Dictionary <string, DataTable> McData = new Dictionary <string, DataTable>(); var responseStr = HttpClientHelper.Post(Webapi + "/v1/Chart/GetMcData?token=" + Token, JSONHelper.ToJSONString(request)); var res = JSONHelper.ParseJSONString <BasicResponse <Dictionary <string, string> > >(responseStr); foreach (KeyValuePair <string, string> kvp in res.Data) { McData.Add(kvp.Key, ObjectConverter.FromBase64String <DataTable>(kvp.Value)); } return(new BasicResponse <Dictionary <string, DataTable> > { Data = McData }); }
public void Should_call_ToInt_when_collection_contains_valid_int(string intPropertyName) { int expectedInt = 5; _apiTypeConverter.Setup(x => x.ToInt(It.IsAny <string>())).Returns(expectedInt); _objectConverter = new ObjectConverter(_apiTypeConverter.Object); var collection = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>(intPropertyName, expectedInt.ToString()) }; _objectConverter.ToObject <TestingObject>(collection); _apiTypeConverter.Verify(x => x.ToInt(It.IsAny <string>())); }
public void Should_not_call_ToStatus_when_collection_contain_invalid_boolean_status_property( string invalidStatusPropertyName) { _apiTypeConverter.Setup(x => x.ToStatus(It.IsAny <string>())); _objectConverter = new ObjectConverter(_apiTypeConverter.Object); var collection = new List <KeyValuePair <string, string> >() { new KeyValuePair <string, string>(invalidStatusPropertyName, "true") }; _objectConverter.ToObject <TestingObject>(collection); _apiTypeConverter.Verify(x => x.ToStatus(It.IsAny <string>()), Times.Never); }
public BasicResponse <List <StaionControlHistoryDataInfo> > GetStaionControlHistoryDataByFzh(StaionControlHistoryDataGetByFzhRequest staionControlHistoryDatarequest) { var staionControlHistoryDataresponse = new BasicResponse <List <StaionControlHistoryDataInfo> >(); var staionControlHistoryDataModelLists = _Repository.GetStaionControlHistoryDataByFzh(staionControlHistoryDatarequest.Fzh); var staionControlHistoryDataInfoLists = new List <StaionControlHistoryDataInfo>(); foreach (var item in staionControlHistoryDataModelLists) { var StaionControlHistoryDataInfo = ObjectConverter.Copy <StaionControlHistoryDataModel, StaionControlHistoryDataInfo>(item); staionControlHistoryDataInfoLists.Add(StaionControlHistoryDataInfo); } staionControlHistoryDataresponse.Data = staionControlHistoryDataInfoLists; return(staionControlHistoryDataresponse); }
public BasicResponse <List <GetStaionControlHistoryDataByByFzhTimeResponse> > GetStaionControlHistoryDataByByFzhTime(GetStaionControlHistoryDataByByFzhTimeRequest request) { var dt = _Repository.QueryTable("global_StaionControlHistoryDataService_GetStaionControlHistoryDataByByFzhTime", request.Fzh, request.Time); var gsh = ObjectConverter.Copy <GetStaionControlHistoryDataByByFzhTimeResponse>(dt); //ControlDevice转换为2进制字符串 foreach (var item in gsh) { item.ControlDeviceConvert = Convert.ToString(item.ControlDevice, 2).PadLeft(16, '0'); } return(new BasicResponse <List <GetStaionControlHistoryDataByByFzhTimeResponse> >() { Data = gsh }); }
public void SetUp() { theOriginalCulture = Thread.CurrentThread.CurrentCulture; Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); theLibrary = new ConverterLibrary(); finder = new ObjectConverter(new StubServiceLocator(), theLibrary); // Determines which time zone id to use for the time_zone_info test, since // the value can differ based on platform the test is running on ReadOnlyCollection <TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones(); timeZoneId = timeZones.Where(timeZone => timeZone.Id.Equals("Eastern Standard Time") || timeZone.Id.Equals("US/Eastern")).Single().Id; }
public void PrivateSetter_Test() { ObjectConverter objectConverter = new ObjectConverter() { IsIgnoreNotExistingProperty = true, }; Dictionary <string, object> dt = new Dictionary <string, object>(); dt.Add("Name", "QQ"); var obj = new PrivateSetterObject(); objectConverter.MapObject(dt, obj); Assert.IsNull(obj.Name); }
public EventSubscriptionMapper( string assemblyNamePatternToFindEventTypes, string assemblyNamePatternToFindEventHandlerTypes, string defaultAssemblyNamePatternToFindTypes) { _assembliesToFindEventTypes = AssemblyFinder.FindAllByPattern(assemblyNamePatternToFindEventTypes); _assembliesToFindEventHandlerTypes = AssemblyFinder.FindAllByPattern(assemblyNamePatternToFindEventHandlerTypes); IObjectConverter objectConverter = new ObjectConverter { AssemblyNamePatternToFindTypes = defaultAssemblyNamePatternToFindTypes }; IObjectMapper objectMapper = new ObjectMapper(objectConverter); _objectCreator = new ObjectCreator(objectConverter, objectMapper); }
public BasicResponse <JC_AlarmNotificationPersonnelConfigInfo> GetJC_AlarmNotificationPersonnelConfigById(AlarmNotificationPersonnelConfigGetRequest jC_Alarmnotificationpersonnelconfigrequest) { var result = _Repository.GetJC_AlarmNotificationPersonnelConfigById(jC_Alarmnotificationpersonnelconfigrequest.Id); var jC_AlarmnotificationpersonnelconfigInfo = ObjectConverter.Copy <JC_AlarmnotificationpersonnelconfigModel, JC_AlarmNotificationPersonnelConfigInfo>(result); IList <JC_AlarmNotificationPersonnelModel> alarmNotificationPersonnelModelList = _AlarmNotificationPersonnelRepository.GetJC_AlarmNotificationPersonnelListByAlarmConfigId(jC_AlarmnotificationpersonnelconfigInfo.Id); if (alarmNotificationPersonnelModelList != null) { jC_AlarmnotificationpersonnelconfigInfo.JC_AlarmNotificationPersonnelInfoList = ObjectConverter.CopyList <JC_AlarmNotificationPersonnelModel, JC_AlarmNotificationPersonnelInfo>(alarmNotificationPersonnelModelList).ToList(); } var jC_Alarmnotificationpersonnelconfigresponse = new BasicResponse <JC_AlarmNotificationPersonnelConfigInfo>(); jC_Alarmnotificationpersonnelconfigresponse.Data = jC_AlarmnotificationpersonnelconfigInfo; return(jC_Alarmnotificationpersonnelconfigresponse); }
public void MapUnexistPropertyException_Test() { ObjectConverter objectConverter = new ObjectConverter(); objectConverter.RegisterConverter(1, new CreationDictionaryObjectConverter("xtype", new DomainTypeResolver(true))); Dictionary <string, object> dt = new Dictionary <string, object>(); dt.Add("Name", "QQ"); MapWithoutPropertyTestObject1 obj = new MapWithoutPropertyTestObject1(); objectConverter.MapObject(dt, obj); Assert.AreEqual("QQ", obj.Name); Assert.AreEqual(100, obj.Age); }
public BasicResponse DeletePersoninf(R_PersoninfDeleteRequest personinfRequest) { var deletemodel = _Repository.Datas.FirstOrDefault(o => o.Id == personinfRequest.Id); R_PersoninfInfo deleteinfo = ObjectConverter.Copy <R_PersoninfModel, R_PersoninfInfo>(deletemodel); _Repository.DeletePersoninf(personinfRequest.Id); //更新缓存 RPersoninfCacheDeleteRequest deletepersonrequest = new RPersoninfCacheDeleteRequest(); deletepersonrequest.RPersoninfInfo = deleteinfo; _RPersoninfCacheService.DeleteRPersoninfCache(deletepersonrequest); var personinfresponse = new BasicResponse(); return(personinfresponse); }
public List <Entity.ProxyOpportunity> GetAllOpportunity() { List <ProxyOpportunity> accs = new List <ProxyOpportunity>(); //using (var xrm = new XrmServiceContext("Xrm")) //{ var all = xrm.OpportunitySet; //var xml = CreateXml<Opportunity>(all); foreach (Opportunity item in all) { ProxyOpportunity converted = ObjectConverter.ConvertToReadableOpportunity(item, this.xrm); accs.Add(converted); } //} return(accs); }
public BasicResponse <RolerightInfo> AddRoleright(RolerightAddRequest rolerightrequest) { RolerightInfo roleRightDTO = rolerightrequest.RolerightInfo; //判断用户编号和权限编码是否存在 if (CheckExist(roleRightDTO.RoleID, roleRightDTO.RightID)) { ThrowException("AddRoleRight", new Exception("角色权限关系已存在,请重新绑定!")); } var _roleright = ObjectConverter.Copy <RolerightInfo, RolerightModel>(rolerightrequest.RolerightInfo); var resultroleright = _Repository.AddRoleright(_roleright); var rolerightresponse = new BasicResponse <RolerightInfo>(); rolerightresponse.Data = ObjectConverter.Copy <RolerightModel, RolerightInfo>(resultroleright); return(rolerightresponse); }
public AdminSetUpModel GetAdminSetUp(long id) { if (id == 0) { AdminSetUp adminSetUp = adminSetUpRepository.AdminSetUps.FirstOrDefault(x => x.AdminId == id); if (adminSetUp == null) { return(new AdminSetUpModel() { IsActive = true }); } } return(ObjectConverter <AdminSetUp, AdminSetUpModel> .Convert(adminSetUpRepository.AdminSetUps.FirstOrDefault(x => x.AdminId == id))); }
/// <summary> /// 添加所有按钮 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ButAddAll_Click(object sender, EventArgs e) { try { SelectPerson.Clear(); var queRows = GridControlAllPeople.DataSource as List <R_PersoninfInfo>; var copyRows = ObjectConverter.DeepCopy(queRows); SelectPerson = copyRows; GridControlSelectPeople.DataSource = SelectPerson; } catch (Exception exception) { LogHelper.Error(exception.ToString()); throw new Exception(exception.ToString()); } }
/// <summary> /// 窗体加载 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void PersonSetForm_Load(object sender, EventArgs e) { try { _allPerson = PersonInfoHandle.GetAllRPersoninfCache(); _queryPerson = ObjectConverter.DeepCopy(_allPerson); GridControlAllPeople.DataSource = _queryPerson; GridControlSelectPeople.DataSource = SelectPerson; } catch (Exception exception) { LogHelper.Error(exception.ToString()); throw new Exception(exception.ToString()); } }
private static void GetResponseCallback(IAsyncResult asynchronousResult) { var exchange = (TransportExchange)asynchronousResult.AsyncState; try { // End the operation string responsestring; using (var response = (HttpWebResponse)exchange.Request.EndGetResponse(asynchronousResult)) { using (var streamResponse = response.GetResponseStream()) { using var streamRead = new StreamReader(streamResponse); responsestring = streamRead.ReadToEnd(); } _logger?.LogDebug("Received message(s)."); if (response.Cookies != null) { foreach (Cookie cookie in response.Cookies) { exchange.AddCookie(cookie); } } response.Close(); } try { exchange.Messages = DictionaryMessage.ParseMessages(responsestring); } catch (Exception e) { _logger?.LogError($"Failed to parse the messages json: {e}"); } exchange.Listener.OnMessages(exchange.Messages); exchange.Dispose(); } catch (Exception e) { exchange.Listener.OnException(e, ObjectConverter.ToListOfIMessage(exchange.Messages)); exchange.Dispose(); } }
/// <summary> /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="factory"></param> /// <param name="reader"></param> /// <param name="converter"></param> /// <returns></returns> public IEnumerable <T> Handle <T>(Func <T> factory, IDataReader reader, ObjectConverter converter) { using (reader) { var metadata = metadataFactory.Create(typeof(T)); var columns = new string[reader.FieldCount]; var accessors = new IAccessor[reader.FieldCount]; for (var i = 0; i < columns.Length; i++) { var name = reader.GetName(i); columns[i] = name; accessors[i] = metadata.GetMapAccessor(name); } while (reader.Read()) { var entity = factory(); for (var i = 0; i < columns.Length; i++) { var accessor = accessors[i]; if (accessor == null) { continue; } if (reader.IsDBNull(i)) { accessor.SetValue(entity, accessor.Type.GetDefaultValue()); } else { var value = reader[columns[i]]; if (accessor.Type != value.GetType()) { value = converter.Convert(value, accessor.Type); } accessor.SetValue(entity, value); } } yield return(entity); } } }
public override void send(ITransportListener listener, IList <IMutableMessage> messages) { String url = getURL(); if (_appendMessageType && messages.Count == 1 && messages[0].Meta) { String type = messages[0].Channel.Substring(Channel_Fields.META.Length); if (url.EndsWith("/")) { url = url.Substring(0, url.Length - 1); } url += type; } HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.ContentType = "application/json;charset=UTF-8"; if (request.CookieContainer == null) { request.CookieContainer = new CookieContainer(); } request.CookieContainer.Add(getCookieCollection()); if (request.Headers == null) { request.Headers = new WebHeaderCollection(); } request.Headers.Add(getHeaderCollection()); String content = JsonConvert.SerializeObject(ObjectConverter.ToListOfDictionary(messages)); LongPollingRequest longPollingRequest = new LongPollingRequest(listener, messages, request); TransportExchange exchange = new TransportExchange(this, listener, messages, longPollingRequest); exchange.content = content; exchange.request = request; lock (this) { _exchanges.Add(exchange); } longPollingRequest.exchange = exchange; addRequest(longPollingRequest); }
/// <summary> /// 获取区域ID,如果不存在则添加区域 /// </summary> /// <param name="areaname"></param> /// <param name="areadescribe"></param> /// <returns></returns> private string GetAreaId(string areaname, string areadescribe = null) { if (string.IsNullOrEmpty(areaname)) { return("0"); } string areaid = string.Empty; // 20180606 AreaInfo areainfo; if (areadescribe == null) { areainfo = _areaCacheService.GetAreaCache(new AreaCacheGetByConditionRequest { Predicate = a => a.Areaname == areaname }).Data.FirstOrDefault(); } else { areainfo = _areaCacheService.GetAreaCache(new AreaCacheGetByConditionRequest { Predicate = a => a.Areaname == areaname && a.Areadescribe == areadescribe }).Data.FirstOrDefault(); } if (areainfo == null) { AreaInfo area = new AreaInfo(); areaid = IdHelper.CreateLongId().ToString(); area.Areaid = areaid; area.Areaname = areaname; area.Areadescribe = areadescribe; area.Activity = "1"; area.CreateUpdateTime = DateTime.Now; //更新数据库 var _area = ObjectConverter.Copy <AreaInfo, AreaModel>(area); var resultarea = _areaRepository.AddArea(_area); //更新区域缓存 AreaCacheAddRequest AreaCacheAddRequest = new AreaCacheAddRequest(); AreaCacheAddRequest.AreaInfo = ObjectConverter.Copy <AreaModel, AreaInfo>(resultarea); _areaCacheService.AddAreaCache(AreaCacheAddRequest); } else { areaid = areainfo.Areaid; } return(areaid); }
public void Map_Test() { ObjectConverter objectConverter = new ObjectConverter(); DataTable dt = new DataTable(); dt.Columns.Add("int16Var", typeof(Int16)); dt.Columns.Add("int32Var", typeof(Int32)); dt.Columns.Add("int64Var", typeof(Int64)); dt.Columns.Add("datetimeVar", typeof(DateTime)); dt.Columns.Add("decimalVar", typeof(decimal)); dt.Columns.Add("floatVar", typeof(float)); dt.Columns.Add("doubleVar", typeof(double)); dt.Columns.Add("stringVar", typeof(string)); dt.Columns.Add("MyEnum", typeof(int)); DateTime tm = DateTime.Parse("1998-01-01"); dt.Rows.Add(1, 2, 3, tm, 1M, 2f, 3d, "hello", MyEnum.A); DataTableReader reader = new DataTableReader(dt); MapTestObject1 obj = new MapTestObject1(); reader.Read(); objectConverter.MapObject(reader, obj); Assert.AreEqual(1, obj.int16Var); Assert.AreEqual(2, obj.int32Var); Assert.AreEqual(3, obj.int64Var); Assert.AreEqual(tm, obj.datetimeVar); Assert.AreEqual(1M, obj.decimalVar); Assert.AreEqual(2f, obj.floatVar); Assert.AreEqual(3d, obj.doubleVar); Assert.AreEqual(MyEnum.A, obj.MyEnum); MapTestObject2 obj2 = new MapTestObject2(); objectConverter.MapObject(reader, obj2); Assert.AreEqual((short)1, obj2.int16Var); Assert.AreEqual(2, obj2.int32Var); Assert.AreEqual((long)3, obj2.int64Var); Assert.AreEqual(tm, obj2.datetimeVar); Assert.AreEqual(1M, obj2.decimalVar); Assert.AreEqual(2f, obj2.floatVar); Assert.AreEqual(3d, obj2.doubleVar); Assert.AreEqual(MyEnum.A, obj2.MyEnum); }
public void MapUnexistProperty_Test() { ObjectConverter objectConverter = new ObjectConverter() { IsIgnoreNotExistingProperty = true, }; var target = new MapWithoutPropertyTestObject1_Copy(); target.Name = "QQ"; MapWithoutPropertyTestObject1 obj = new MapWithoutPropertyTestObject1(); objectConverter.MapObject(target, obj); Assert.AreEqual("QQ", obj.Name); Assert.AreEqual(100, obj.Age); }
public void MapNullStringArray_Test() { var obj1 = new StringArrayTest { StringArray = default(string[]) }; var obj2 = new StringArrayTest { StringArray = (string[])null, }; Assert.IsNull(obj1.StringArray); ObjectConverter objectConverter = new ObjectConverter(); objectConverter.MapObject(obj1, obj2); Assert.IsNull(obj2.StringArray); }
public void finds_bob() { cl.RegisterConverter(s => new Bob { Name = "Poop" }); oc = new ObjectConverter(inMemoryServiceLocator, cl); inMemoryServiceLocator.Add(oc); var results = _binder.Bind(typeof(EditBob), new BindingContext(theData, inMemoryServiceLocator, new NulloBindingLogger())); results.ShouldBeOfType <EditBob>(); results.As <EditBob>().Target.ShouldNotBeNull(); results.As <EditBob>().Target.As <Bob>().Name.ShouldEqual("Ryan"); results.As <EditBob>().Flavor.ShouldEqual("choco"); }
public async Task <IEnumerable <RouteRule> > Get() { var repo = await _repo.Get(); var fileRoutes = repo.Data.ReRoutes; List <RouteRule> routeRules = new List <RouteRule>(); if (fileRoutes == null || fileRoutes.Count == 0) { return(routeRules); } foreach (var fileRoute in fileRoutes) { routeRules.Add(ObjectConverter.ConvertToRouteRule(fileRoute)); } return(routeRules); }
public void SetUp() { inMemoryServiceLocator = new InMemoryServiceLocator(); _binder = new EditEntityModelBinder(new NulloEntityDefaults()); theGuid = Guid.NewGuid(); theData = new InMemoryRequestData(); theData["BobName"] = "Ryan"; theData["Flavor"] = "choco"; theData["Id"] = theGuid.ToString(); cl = new ConverterLibrary(); oc = new ObjectConverter(inMemoryServiceLocator, cl); inMemoryServiceLocator.Add<IObjectConverter>(oc); inMemoryServiceLocator.Add<IObjectResolver>(ObjectResolver.Basic()); }
public void WriteQueryable() { // Arrange //var models = UserModel.Users.AsQueryable(); var models = new UserModel[] { new UserModel { Id = 1, Name = "Joe" } }.AsQueryable(); var formatter = new JsonMediaTypeFormatter(); var converter = new ObjectConverter<UserModel>(); converter.Mapper = (u) => new { Key = u.Id, UserName = u.Name }; JsonContractFormatter.AddConverter(typeof(UserModel), converter); string actual = string.Empty; // Act //formatter.ExecuteFormat(models.GetType(), models, null); //formatter.OnWrite(models.GetType(), models, null); using (StringWriter writer = new StringWriter()) { formatter.WriteTo(models.GetType(), models, writer); actual = writer.ToString(); } // Remember to Add 'Items' on naked Queryables Assert.AreEqual("{\"$id\":\"1\",\"Items\":[{\"$id\":\"2\",\"Id\":1,\"Name\":\"Joe\",\"Email\":null}]}", actual); }
public Flag(PropertyInfo property, ObjectConverter converter) { _property = property; _converter = converter; }
public Argument(PropertyInfo property, ObjectConverter converter) : base(property) { _property = property; _converter = converter; }
public void SetUp() { var locator = new StubServiceLocator(); locator.Services[typeof (WidgetFinderService)] = new WidgetFinderService(); var library = new ConverterLibrary(new IObjectConverterFamily[]{new WidgetFinderStrategy()}); finder = new ObjectConverter(locator, library); }
public void register_and_retrieve_a_new_type_of_complex_object() { var finder = new ObjectConverter(); finder.RegisterConverter<Contact>(text => { var parts = text.Split(' '); return new Contact(){ FirstName = parts[0], LastName = parts[1] }; }); var c = finder.FromString<Contact>("Jeremy Miller"); c.FirstName.ShouldEqual("Jeremy"); c.LastName.ShouldEqual("Miller"); }
public void SetUp() { theData = new InMemoryRequestData(); theLibrary = new ConverterLibrary(); objectConverter = new ObjectConverter(new InMemoryServiceLocator(), theLibrary); theRequest = new SmartRequest(theData, objectConverter); }
public ConvertingEnumerable(IEnumerable underlying, ObjectConverter objConverter) { this.underlying = underlying.GetEnumerator(); this.objConverter = objConverter; Reset(); }
public void SetUp() { theOriginalCulture = Thread.CurrentThread.CurrentCulture; Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); theLibrary = new ConverterLibrary(); finder = new ObjectConverter(new StubServiceLocator(), theLibrary); // Determines which time zone id to use for the time_zone_info test, since // the value can differ based on platform the test is running on ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones(); timeZoneId = timeZones.Where(timeZone => timeZone.Id.Equals("Eastern Standard Time") || timeZone.Id.Equals("US/Eastern")).Single().Id; }
public EnumerableArgument(PropertyInfo property, ObjectConverter converter) : base(property, converter) { _property = property; _converter = converter; }
public void SetUp() { finder = new ObjectConverter(); }
public void SetUp() { theFubuRequest = new InMemoryFubuRequest(); theData = new InMemoryRequestData(); objectConverter = new ObjectConverter(); theRequest = new FubuSmartRequest(theData, objectConverter, theFubuRequest); }
public void how_about_getting_an_array_of_those_complex_objects() { // Same converter as before var finder = new ObjectConverter(); finder.RegisterConverter<Contact>(text => { var parts = text.Split(' '); return new Contact() { FirstName = parts[0], LastName = parts[1] }; }); // Now, let's pull an array of Contact's var contacts = finder.FromString<Contact[]>("Jeremy Miller, Rod Paddock, Chad Myers"); contacts.Select(x => x.LastName) .ShouldHaveTheSameElementsAs("Miller", "Paddock", "Myers"); }
public void SetUp() { theData = new InMemoryRequestData(); objectConverter = new ObjectConverter(); theRequest = new SmartRequest(theData, objectConverter); }
public void SetUp() { finder = new ObjectConverter(); // Determines which time zone id to use for the time_zone_info test, since // the value can differ based on platform the test is running on ReadOnlyCollection<TimeZoneInfo> timeZones = TimeZoneInfo.GetSystemTimeZones(); timeZoneId = timeZones.Where(timeZone => timeZone.Id.Equals("Eastern Standard Time") || timeZone.Id.Equals("US/Eastern")).Single().Id; }
public void can_register_and_use_a_service_for_the_conversion() { var locator = new StubServiceLocator(); locator.Services[typeof(WidgetFinderService)] = new WidgetFinderService(); var library = new ConverterLibrary(); finder = new ObjectConverter(locator, library); library.RegisterConverter<Widget, WidgetFinderService>((service, text) => service.Build(text)); finder.FromString<Widget>("red").ShouldBeOfType<Widget>().Color.ShouldEqual("red"); }