Ejemplo n.º 1
0
        private void ValidateValue(CodeMasterInfo codeMasterInfo, ReturnValueInfo returnValue)
        {
            string messageText = string.Empty;

            returnValue.boolValue = true;

            if (codeMasterInfo.CmtCKey1.Trim() == string.Empty)
            {
                returnValue.boolValue   = false;
                returnValue.messageText = "\"主键一\"" + DefineConstantValue.SystemMessageText.strMessageText_W_CannotEmpty;
            }
            if (codeMasterInfo.CmtCKey2.Trim() == string.Empty)
            {
                returnValue.boolValue   = false;
                returnValue.messageText = "\"主键二\"" + DefineConstantValue.SystemMessageText.strMessageText_W_CannotEmpty;
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 读卡准备
        /// </summary>
        /// <param name="bSection">需进行读写操作的的扇区号</param>
        /// <returns></returns>
        private bool ReadCardsPrepare(byte bSection)
        {
            ReturnValueInfo rvInfo = YuChuanDevice.ReadWritePrepare();

            if (rvInfo.isError)
            {
                return(false);
            }

            byte[]          arrPwd   = YuChuanDevice.ChangeStrToHex(this._strSectionPwd);
            ReturnValueInfo rvVerify = YuChuanDevice.PwdVerify(arrPwd, YC_Enum_PwdVerifyMode.A_Mode, bSection);

            if (rvVerify.isError)
            {
                return(false);
            }
            return(true);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 登录加密锁(已自动寻找加密锁)
        /// </summary>
        /// <returns></returns>
        public virtual ReturnValueInfo Login()
        {
            ReturnValueInfo returnInfo = null;

            //Start****************************查找指定加密锁识别码的加密锁****************************
            returnInfo = this.FindUKeyFirst(this._code);
            if (returnInfo != null)
            {
                if (!returnInfo.IsSuccess)
                {
                    return(returnInfo);
                }
            }
            else
            {
                returnInfo             = new ReturnValueInfo();
                returnInfo.IsSuccess   = false;
                returnInfo.MessageText = this._codeErrorMessage;

                return(returnInfo);
            }
            //End****************************查找指定加密锁识别码的加密锁****************************

            //Start****************************登录加密锁****************************
            returnInfo = this.LoginUKey(this._loginPassword);
            if (returnInfo != null)
            {
                if (!returnInfo.IsSuccess)
                {
                    return(returnInfo);
                }
            }
            else
            {
                returnInfo             = new ReturnValueInfo();
                returnInfo.IsSuccess   = false;
                returnInfo.MessageText = this._codeErrorMessage;

                return(returnInfo);
            }
            //End****************************登录加密锁****************************

            return(returnInfo);
        }
Ejemplo n.º 4
0
        public override ReaderEquipment.Entity.ReturnValueInfo StartRead()
        {
            ReturnValueInfo returnInfo = new ReturnValueInfo();

            _mscom.CommPort = base.CommPort;//设置端口号为COM1

            try
            {
                this._mscom.PortOpen = true;
            }
            catch (Exception Ex)
            {
                throw Ex;
            }

            returnInfo.IsSuccess = true;

            return(returnInfo);
        }
Ejemplo n.º 5
0
        public override ReturnValueInfo WriteUKeyContent(string newPassword)
        {
            ReturnValueInfo returnValue = new ReturnValueInfo();
            int             rtn         = 0;
            int             address     = 0; //加密锁读取数据的起始位置,可以自定义加密锁读取数据的起始位置,最大为1024

            byte[] pBuffer = new byte[this.UKeyContentLenght];

            //Start*************************当新密码的长度比所定义的长度小时,在新密码后面加上足够长的“F”字符串***************************************************
            int newPasswordLenght = 0;

            if (newPassword.Trim().Length < this.UKeyContentLenght)
            {
                int    difference       = this.UKeyContentLenght - newPasswordLenght;
                string differenceString = string.Empty;

                for (int i = 0; i < difference; i++)
                {
                    differenceString += "F";
                }

                newPassword = newPassword.Trim() + differenceString;
            }
            //End*************************当新密码的长度比所定义的长度小时,在新密码后面加上足够长的“F”字符串***************************************************

            pBuffer = Encoding.GetEncoding("gb2312").GetBytes(newPassword);

            rtn = NT119API.NTWrite(address, this.UKeyContentLenght, pBuffer);//存储区数据写入,如果返回值为 0,表示数据写入成功。
            //如果返回值不为0,则可以通过返回值Rtn查看错误代码
            if (rtn != 0)
            {
                returnValue.IsSuccess   = false;
                returnValue.MessageText = "写入内容失败!";
            }
            else
            {
                returnValue.IsSuccess   = true;
                returnValue.MessageText = "写入内容成功!";
            }

            return(returnValue);
        }
Ejemplo n.º 6
0
        public ReturnValueInfo Save(IModelObject itemEntity, DefineConstantValue.EditStateEnum EditMode)
        {
            ReturnValueInfo returnInfo = new ReturnValueInfo();

            switch (EditMode)
            {
            case DefineConstantValue.EditStateEnum.OE_Insert:

                if (!_articleTypeDefineDA.IsExistRecord(itemEntity))
                {
                    returnInfo.boolValue = _articleTypeDefineDA.InsertRecord(itemEntity as ArticleTypeDefine_atd_Info);
                }
                else
                {
                    returnInfo.boolValue = false;

                    returnInfo.messageText = "编号重复!";
                }
                break;

            case DefineConstantValue.EditStateEnum.OE_Update:

                returnInfo.boolValue = _articleTypeDefineDA.UpdateRecord(itemEntity as ArticleTypeDefine_atd_Info);

                break;

            case DefineConstantValue.EditStateEnum.OE_Delete:

                returnInfo.boolValue = _articleTypeDefineDA.DeleteRecord(itemEntity as ArticleTypeDefine_atd_Info);

                break;

            case DefineConstantValue.EditStateEnum.OE_ReaOnly:
                break;

            default:
                break;
            }


            return(returnInfo);
        }
Ejemplo n.º 7
0
        ReturnValueInfo LoginUKey_NT(string password)
        {
            ReturnValueInfo returnValue = new ReturnValueInfo();
            int             rtn         = 0;

            rtn = NTLogin(password);//登录加密锁,如果返回值为 0,表示加密锁登录成功。如果返回值不为0,则可以通过返回值Rtn查看错误代码

            if (rtn != 0)
            {
                returnValue.IsSuccess   = false;
                returnValue.MessageText = "登录加密锁失败!";
            }
            else
            {
                returnValue.IsSuccess   = true;
                returnValue.MessageText = "登录加密锁成功!";
            }

            return(returnValue);
        }
Ejemplo n.º 8
0
        ReturnValueInfo FindUKey(string code)
        {
            ReturnValueInfo returnValue = new ReturnValueInfo();
            int             rtn         = 0;

            rtn = NTFindFirst(code);//查找指定加密锁识别码的加密锁,如果返回值为 0,表示加密锁存在。如果返回值不为0,则可以通过返回值Rtn查看错误代码

            if (rtn != 0)
            {
                returnValue.IsSuccess   = false;
                returnValue.MessageText = "没有找到加密锁!";
            }
            else
            {
                returnValue.IsSuccess   = true;
                returnValue.MessageText = "已找到加密锁!";
            }

            return(returnValue);
        }
Ejemplo n.º 9
0
        public override ReturnValueInfo StartRead()
        {
            ReturnValueInfo rvInfo = new ReturnValueInfo();

            try
            {
                if (!this._isConnected)
                {
                    rvInfo.MessageText = "设备未连接。";
                    rvInfo.IsSuccess   = false;
                    return(rvInfo);
                }

                this._currentDataType = EnumRecDataMode.AdjustTimeMode;

                if (this._tmrReadBatchData != null)
                {
                    this._tmrReadBatchData.Start();
                }
                if (this._tmrChkNullData != null)
                {
                    this._tmrChkNullData.Start();
                }
                if (this._tmrCheckTime != null)
                {
                    this._tmrCheckTime.Start();
                }
                if (this._tmrReceiveData != null)
                {
                    this._tmrReceiveData.Start();
                }

                this._isReading = true;
            }
            catch (Exception ex)
            {
                rvInfo.MessageText = ex.Message;
            }
            rvInfo.IsSuccess = true;
            return(rvInfo);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Delete selected contact
        /// </summary>
        /// <param name="practInfo"></param>
        /// <returns></returns>
        public ReturnValueInfo <int> DeleteContact(CustomerInfo custInfo)
        {
            ReturnValueInfo <int> returnValue = new ReturnValueInfo <int>();

            try
            {
                if (custInfo != null)
                {
                    returnValue.ReturnValue   = new SignUpPracticeBusiness().DeleteContact(custInfo);
                    returnValue.Result.Status = ResultStatus.SUCCESS;
                }
            }
            catch (Exception ex)
            {
                returnValue.Result.StackTrace  = ex.StackTrace;
                returnValue.Result.Status      = ResultStatus.FAIL;
                returnValue.Result.Type        = ex.GetType().ToString();
                returnValue.Result.Description = ex.Message;
            }
            return(returnValue);
        }
Ejemplo n.º 11
0
        public override ReturnValueInfo ReadUKeyContent()
        {
            ReturnValueInfo returnValue = new ReturnValueInfo();
            int             rtn         = 0;
            int             address     = 0;                   //加密锁读取数据的起始位置,可以自定义加密锁读取数据的起始位置,最大为1024

            byte[] pBuffer = new byte[this.UKeyContentLenght]; //存储区数据读取,如果返回值为 0,表示数据写入成功。
            //如果返回值不为0,则可以通过返回值Rtn查看错误代码

            rtn = NT119API.NTRead(address, this.UKeyContentLenght, pBuffer);
            if (rtn != 0)
            {
                returnValue.IsSuccess   = false;
                returnValue.MessageText = "读取密码失败!";
            }
            else
            {
                returnValue.IsSuccess   = true;
                returnValue.MessageText = System.Text.Encoding.Default.GetString(pBuffer).Trim();
            }

            return(returnValue);
        }
Ejemplo n.º 12
0
        public ReturnValueInfo SaveUserRole(string userNumber, List <string> roleNumList)
        {
            ReturnValueInfo returnInfo = new ReturnValueInfo();

            returnInfo.boolValue = false;

            if (roleNumList == null || roleNumList.Count == 0)
            {
                returnInfo.boolValue = true;
                return(returnInfo);
            }

            try
            {
                using (VPMSDBDataContext db = new VPMSDBDataContext())
                {
                    foreach (string roleNum in roleNumList)
                    {
                        DataRightsRoleUser_dru info = new DataRightsRoleUser_dru();
                        info.dru_cRoleNumber  = roleNum;
                        info.dur_cUserLoginID = userNumber;

                        db.DataRightsRoleUser_drus.InsertOnSubmit(info);
                    }
                    db.SubmitChanges();
                    returnInfo.boolValue = true;
                }
            }
            catch (Exception Ex)
            {
                returnInfo.boolValue   = false;
                returnInfo.messageText = Ex.Message;
            }

            return(returnInfo);
        }
Ejemplo n.º 13
0
        /// <summary>
        /// 写密码(已自动寻找加密锁及自动登录加密锁)
        /// </summary>
        /// <param name="password"></param>
        /// <returns></returns>
        ReturnValueInfo WritePasswordToUKey(string loginPassword, string newPassword)
        {
            ReturnValueInfo returnInfo = null;

            //Start****************************查找指定加密锁识别码的加密锁****************************
            returnInfo = this.FindUKeyFirst(this._code);
            if (returnInfo != null)
            {
                if (!returnInfo.IsSuccess)
                {
                    return(returnInfo);
                }
            }
            else
            {
                returnInfo             = new ReturnValueInfo();
                returnInfo.IsSuccess   = false;
                returnInfo.MessageText = this._codeErrorMessage;

                return(returnInfo);
            }
            //End****************************查找指定加密锁识别码的加密锁****************************


            //Start****************************登录加密锁****************************
            returnInfo = this.LoginUKey(loginPassword);
            if (returnInfo != null)
            {
                if (!returnInfo.IsSuccess)
                {
                    return(returnInfo);
                }
            }
            else
            {
                returnInfo             = new ReturnValueInfo();
                returnInfo.IsSuccess   = false;
                returnInfo.MessageText = this._codeErrorMessage;

                return(returnInfo);
            }
            //End****************************登录加密锁****************************

            //Start****************************写密码到加密锁中****************************
            returnInfo = this.WriteUKeyContent(newPassword);
            if (returnInfo != null)
            {
                if (!returnInfo.IsSuccess)
                {
                    returnInfo.MessageText = "写密码失败!";
                    return(returnInfo);
                }
                else
                {
                    returnInfo.MessageText = "写密码成功!";
                }
            }
            else
            {
                returnInfo             = new ReturnValueInfo();
                returnInfo.IsSuccess   = false;
                returnInfo.MessageText = this._codeErrorMessage;

                return(returnInfo);
            }
            //End****************************写密码到加密锁中****************************



            return(returnInfo);
        }
Ejemplo n.º 14
0
        /// <summary>
        /// 解读优卡特消费机水表可读数据格式
        /// </summary>
        /// <param name="dicPieceData"></param>
        /// <param name="payCard"></param>
        /// <returns></returns>
        private ReturnValueInfo DecodeJocatUserInfo(Dictionary <int, string> dicPieceData, ref PaymentCard payCard)
        {
            ReturnValueInfo rvInfo = new ReturnValueInfo();

            try
            {
                #region 解释第一块数据

                string strPieceData = dicPieceData[1];

                //出厂ID
                payCard.MACID = GetMacID();

                //卡号
                string strHexCardNo = strPieceData.Substring(2, 1) + strPieceData.Substring(3, 1) + strPieceData.Substring(0, 1) + strPieceData.Substring(1, 1);
                payCard.No = Convert.ToInt32(strHexCardNo, 16);

                //状态
                payCard.Valid = strPieceData.Substring(4, 2) == "80" ? true : false;

                //注册时间
                payCard.ExpiryDate = DateTime.ParseExact(strPieceData.Substring(6, 6), "yyMMdd", null);

                //系统功能
                payCard.FunctionCode = Convert.ToString(Convert.ToInt32(strPieceData.Substring(12, 4), 16), 2).PadLeft(16, '0');

                //卡片所有人姓名
                payCard.Name = EquipmentGeneral.HexToStr(strPieceData.Substring(16, 16));

                #endregion

                #region 解释第二块数据

                strPieceData = dicPieceData[2];

                //最低余额
                payCard.LimitRemainder = (decimal)(Convert.ToInt32(strPieceData.Substring(0, 8), 16) / 100.00M);

                //消费密码
                payCard.PaymentPassword = strPieceData.Substring(8, 6);

                //每天最大消费额
                payCard.DailyMaxPayment = (decimal)(Convert.ToInt32(strPieceData.Substring(14, 8), 16) / 100.00M);

                //时段消费次数
                payCard.Span1PaymentCount = Convert.ToInt32(strPieceData.Substring(22, 2), 16);
                payCard.Span2PaymentCount = Convert.ToInt32(strPieceData.Substring(24, 2), 16);
                payCard.Span3PaymentCount = Convert.ToInt32(strPieceData.Substring(26, 2), 16);
                payCard.Span4PaymentCount = Convert.ToInt32(strPieceData.Substring(28, 2), 16);

                //卡类型
                payCard.Type = ((char)Convert.ToByte(strPieceData.Substring(30, 2), 16)).ToString();
                #endregion

                #region 解释第四块数据

                strPieceData = dicPieceData[4];

                payCard.Money = EquipmentGeneral.HexMoneyToDouble(strPieceData.Substring(0, 8));

                #endregion

                #region 解释第五块数据

                strPieceData = dicPieceData[5];

                payCard.MoneyBackup = EquipmentGeneral.HexMoneyToDouble(strPieceData.Substring(0, 8));

                #endregion

                #region 解释第六块数据

                payCard.MachineList += dicPieceData[6];

                #endregion

                #region 解释第八块数据

                strPieceData = dicPieceData[8];

                payCard.Subsidize = EquipmentGeneral.HexMoneyToDouble(strPieceData.Substring(0, 8));

                #endregion

                #region 解释第九块数据

                strPieceData = dicPieceData[9];

                payCard.SubsidizeBackup = EquipmentGeneral.HexMoneyToDouble(strPieceData.Substring(0, 8));

                #endregion

                #region 解释第十块数据

                payCard.MachineList += dicPieceData[10];

                #endregion
            }
            catch (Exception ex)
            {
                rvInfo.isError     = true;
                rvInfo.messageText = ex.Message;
            }

            return(rvInfo);
        }
Ejemplo n.º 15
0
        /// <summary>
        /// 锁定记录
        /// </summary>
        /// <param name="tableName">数据表名称</param>
        /// <param name="keys">主键字符串</param>
        /// <param name="userID">用户ID</param>
        /// <returns></returns>
        public static ReturnValueInfo LockRecord(string tableName, long recordID, string userID)
        {
            ReturnValueInfo            retrunInfo = null;
            Sys_RecordLockRegister_rlr recordInfo = null;

            try
            {
                using (VPMSDBDataContext dbDataContext = new VPMSDBDataContext())
                {
                    recordInfo = dbDataContext.Sys_RecordLockRegister_rlrs.SingleOrDefault <Sys_RecordLockRegister_rlr>(t => t.rlr_cTableName == tableName && t.rlr_iByLockRecordID == recordID);

                    retrunInfo = new ReturnValueInfo();
                    if (recordInfo == null)
                    {
                        Sys_RecordLockRegister_rlr insertInfo = new Sys_RecordLockRegister_rlr();

                        insertInfo.rlr_cTableName      = tableName;
                        insertInfo.rlr_cKeys           = "";
                        insertInfo.rlr_iByLockRecordID = recordID;
                        insertInfo.rlr_dLockDateTime   = DateTime.Now;
                        insertInfo.rlr_cLockedBy       = userID;

                        dbDataContext.Sys_RecordLockRegister_rlrs.InsertOnSubmit(insertInfo);

                        dbDataContext.SubmitChanges();

                        retrunInfo.boolValue = true;
                    }
                    else
                    {
                        if (recordInfo.rlr_cLockedBy.Trim() == userID.Trim())
                        {
                            retrunInfo.boolValue = true;
                        }
                        else
                        {
                            TimeSpan ts = DateTime.Now.Subtract(recordInfo.rlr_dLockDateTime);

                            if (ts.TotalHours >= Common.DefineConstantValue.LockRecordMaxTime)
                            {
                                dbDataContext.Sys_RecordLockRegister_rlrs.DeleteOnSubmit(recordInfo);

                                Sys_RecordLockRegister_rlr insertInfo = new Sys_RecordLockRegister_rlr();

                                insertInfo.rlr_cTableName      = tableName;
                                insertInfo.rlr_cKeys           = "";
                                insertInfo.rlr_iByLockRecordID = recordID;
                                insertInfo.rlr_dLockDateTime   = DateTime.Now;
                                insertInfo.rlr_cLockedBy       = userID;

                                dbDataContext.Sys_RecordLockRegister_rlrs.InsertOnSubmit(insertInfo);

                                dbDataContext.SubmitChanges();
                                retrunInfo.boolValue = true;
                            }
                            else
                            {
                                retrunInfo.boolValue   = false;
                                retrunInfo.messageText = "记录正被 " + recordInfo.rlr_cLockedBy + " 修改!";
                            }
                        }
                    }
                }
            }
            catch (Exception Ex)
            {
                throw Ex;
            }

            return(retrunInfo);
        }
Ejemplo n.º 16
0
        public ReturnValueInfo SaveHttpFile(string project, string item, string uri)
        {
            try
            {
                ReturnValueInfo ReturnInfo = new ReturnValueInfo();

                ReturnInfo = soap.SaveHttpFile(project, item, uri);

                return ReturnInfo;
            }
            catch (Exception Ex)
            {

                throw Ex;
            }
        }
Ejemplo n.º 17
0
        public ReturnValueInfo SaveUserToRole(List <Sys_UserMaster_usm_Info> userList, List <DataRightsRole_drr_Info> roleList, bool iClearUserRole, bool iClearRoleUser)
        {
            ReturnValueInfo returnInfo = new ReturnValueInfo();

            returnInfo.boolValue = false;

            try
            {
                using (VPMSDBDataContext db = new VPMSDBDataContext())
                {
                    if (iClearUserRole)
                    {
                        //删除用户之前所有角色

                        foreach (Sys_UserMaster_usm_Info item in userList)
                        {
                            IEnumerable <DataRightsRoleUser_dru> deleteTab = from t in db.DataRightsRoleUser_drus
                                                                             where t.dur_cUserLoginID == item.usm_cUserLoginID
                                                                             select t;

                            if (deleteTab != null && deleteTab.Count() > 0)
                            {
                                db.DataRightsRoleUser_drus.DeleteAllOnSubmit(deleteTab);
                                db.SubmitChanges();
                            }
                        }
                    }

                    if (iClearRoleUser)
                    {
                        foreach (DataRightsRole_drr_Info item in roleList)
                        {
                            IEnumerable <DataRightsRoleUser_dru> deleteTab = from t in db.DataRightsRoleUser_drus
                                                                             where t.dru_cRoleNumber == item.drr_cNumber
                                                                             select t;
                            if (deleteTab != null && deleteTab.Count() > 0)
                            {
                                db.DataRightsRoleUser_drus.DeleteAllOnSubmit(deleteTab);
                                db.SubmitChanges();
                            }
                        }
                    }

                    foreach (DataRightsRole_drr_Info role in roleList)
                    {
                        foreach (Sys_UserMaster_usm_Info User in userList)
                        {
                            DataRightsRoleUser_dru tab = db.DataRightsRoleUser_drus.FirstOrDefault(t => t.dur_cUserLoginID == User.usm_cUserLoginID && t.dru_cRoleNumber == role.drr_cNumber);
                            if (tab == null)
                            {
                                tab = new DataRightsRoleUser_dru();
                                tab.dru_cRoleNumber  = role.drr_cNumber;
                                tab.dur_cUserLoginID = User.usm_cUserLoginID;

                                db.DataRightsRoleUser_drus.InsertOnSubmit(tab);
                            }
                        }
                    }
                    db.SubmitChanges();
                    returnInfo.boolValue = true;
                }
            }
            catch (Exception Ex)
            {
                throw Ex;
            }

            return(returnInfo);
        }