Пример #1
0
        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");
        }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <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);
            }
        }
Пример #6
0
        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);
        }
Пример #8
0
        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
            });
        }
Пример #10
0
        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>()));
        }
Пример #11
0
        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
            });
        }
Пример #14
0
        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;
        }
Пример #15
0
        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);
        }
Пример #17
0
        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);
        }
Пример #18
0
        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);
        }
Пример #19
0
        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);
        }
Пример #22
0
        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)));
        }
Пример #23
0
 /// <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());
     }
 }
Пример #24
0
        /// <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());
            }
        }
Пример #25
0
        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();
            }
        }
Пример #26
0
        /// <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);
        }
Пример #28
0
        /// <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);
        }
Пример #29
0
        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);
        }
Пример #30
0
        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);
        }
Пример #31
0
        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);
        }
Пример #32
0
        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());
        }
Пример #35
0
        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);
        }
Пример #36
0
 public Flag(PropertyInfo property, ObjectConverter converter)
 {
     _property = property;
     _converter = converter;
 }
Пример #37
0
 public Argument(PropertyInfo property, ObjectConverter converter)
     : base(property)
 {
     _property = property;
     _converter = converter;
 }
Пример #38
0
        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);
        }
Пример #39
0
        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");
        }
Пример #40
0
 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();
 }
Пример #42
0
        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;
        }
Пример #43
0
 public EnumerableArgument(PropertyInfo property, ObjectConverter converter)
     : base(property, converter)
 {
     _property = property;
     _converter = converter;
 }
Пример #44
0
 public void SetUp()
 {
     finder = new ObjectConverter();
 }
Пример #45
0
 public void SetUp()
 {
     theFubuRequest = new InMemoryFubuRequest();
     theData = new InMemoryRequestData();
     objectConverter = new ObjectConverter();
     theRequest = new FubuSmartRequest(theData, objectConverter, theFubuRequest);
 }
Пример #46
0
        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");
        }
Пример #47
0
 public void SetUp()
 {
     theData = new InMemoryRequestData();
     objectConverter = new ObjectConverter();
     theRequest = new SmartRequest(theData, objectConverter);
 }
Пример #48
0
        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;
        }
Пример #49
0
        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");
        }