Esempio n. 1
0
        private string GetXml(RoomUserEntity entity)
        {
            var flag = entity.SyncVersion == 0 ? "C" : "U"; //增|删|改,C|D|U

            if (entity.Deleted)
            {
                flag = "D";
            }

            var person = _personRepository.GetById(entity.PersonUUID); //用户
            var room   = _roomService.GetById(entity.RoomUUID);        //房间信息
            var area   = _areaService.GetById(room.AreaUUID);          // 区域信息

            //卡
            var cardQuery = from c in _cardRepository.Table
                            join uc in _userCardRepository.Table on c.CardUUID equals uc.CardUUID
                            where !uc.Deleted && uc.RoomUserUUID == entity.RoomUserUUID
                            orderby c.CreateTime descending
                            select c;

            var card = cardQuery.FirstOrDefault();

            var xmlBuilder = new StringBuilder("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");

            xmlBuilder.Append("<Tpp2Fpp>");
            xmlBuilder.Append("<ReqHeader>");
            xmlBuilder.AppendFormat("<ReqSeqNo>{0}</ReqSeqNo>", Utils.MakeRndName());
            xmlBuilder.AppendFormat("<ReqSPID>{0}</ReqSPID>", DESHelper.Encrypt3Des(Constant.LkbAccount, Constant.DescKeyBytes));
            xmlBuilder.AppendFormat("<ReqCode>{0}</ReqCode>", DESHelper.Encrypt3Des(Constant.LkbPassword, Constant.DescKeyBytes));
            xmlBuilder.Append("</ReqHeader>");
            xmlBuilder.Append("<ReqBody>");
            xmlBuilder.Append("<userhouse>");
            xmlBuilder.AppendFormat("<userid>{0}</userid>", entity.RoomUserUUID);
            xmlBuilder.AppendFormat("<houseid>{0}</houseid>", room.AreaUUID);
            xmlBuilder.AppendFormat("<date>{0}</date>", entity.LiveDate.HasValue ? entity.LiveDate.Value.ToString("yyyyMMddHHmmss") : "");
            xmlBuilder.AppendFormat("<udate>{0}</udate>", entity.CreateDate.ToString("yyyyMMddHHmmss"));
            xmlBuilder.AppendFormat("<reltype>{0}</reltype>", entity.FamilyRelationDict?.DictCode ?? ""); //关联类型
            xmlBuilder.AppendFormat("<parm1>{0}</parm1>", "");                                            //持卡类型:1:主卡, 2:附属卡
            xmlBuilder.AppendFormat("<parm2>{0}</parm2>", "");
            xmlBuilder.AppendFormat("<edate>{0}</edate>", entity.LeaveDate.HasValue ? entity.LeaveDate.Value.ToString("yyyyMMddHHmmss") : "");
            xmlBuilder.AppendFormat("<state>{0}</state>", "");                                                              //文档中未提及
            xmlBuilder.AppendFormat("<idcard>{0}</idcard>", DESHelper.Encrypt3Des(person.IDCardNo, Constant.DescKeyBytes)); //证件号码(需要加密) 必填
            xmlBuilder.AppendFormat("<arcode>{0}</arcode>", area.AreaCode);                                                 //房屋区域层级编码 必填
            xmlBuilder.AppendFormat("<crk_uuid>{0}</crk_uuid>", card.CardUUID);
            xmlBuilder.AppendFormat("<crk_crkno>{0}</crk_crkno>", card.CardNo);
            xmlBuilder.AppendFormat("<flag>{0}</flag>", flag);
            xmlBuilder.Append("</userhouse>");
            xmlBuilder.Append("</ReqBody> ");
            xmlBuilder.Append("</Tpp2Fpp> ");
            return(xmlBuilder.ToString());
        }
Esempio n. 2
0
        public void UpdateLeaveStatus(RoomUserEntity roomUser)
        {
            var entity = _roomUserRepository.GetById(roomUser.RoomUserUUID);

            entity.Status = 0;
            _roomUserRepository.Update(entity);

            var person = _personRepository.GetById(entity.PersonUUID);

            person.IsLived = 2;
            _personRepository.Update(person);

            Synchronization(entity.RoomUserUUID);
        }