public Response ProcessHandpays(HandpayModel request)
        {
            Response oResponse = new Response();
            LogManager.WriteLog("VaultService: ProcessHandpays -- Entered", LogManager.enumLogLevel.Info);
            try
            {
                StringWriter outStream = new StringWriter();
                XmlSerializer s = new XmlSerializer(typeof(HandpayModel));

                s.Serialize(outStream, request);
                LogManager.WriteLog("VaultService: Handpays Xml" + outStream.ToString(), LogManager.enumLogLevel.Info);
                outStream.Close();


                if (request.Asset.IsNullOrEmpty())
                {
                    oResponse.ErrCode = 1;
                    oResponse.ErrDesc = "Invalid Asset";
                }
                if (request.RedeemedAsset.IsNullOrEmpty())
                {
                    oResponse.ErrCode = 2;
                    oResponse.ErrDesc = "Invalid Redeemed Asset";
                }
                if (request.SiteID.ToString().Length < 4)
                {
                    oResponse.ErrCode = 3;
                    oResponse.ErrDesc = "Invalid SiteID(Must be a integer with 4 digits)";
                }
                if (request.Amount < 1)
                {

                    oResponse.ErrCode = 4;
                    oResponse.ErrDesc = "Invalid Amount(Must be greater than 0)";
                }

                if (request.Type.GetType() != typeof(HandpayTypeModel))
                {
                    oResponse.ErrCode = 7;
                    oResponse.ErrDesc = "Invalid Type";
                }

                //case -5:
                //    oResponse.ErrCode = 5;
                //    oResponse.ErrDesc = "Invalid RedeemDateTime";
                //    break;
                //case -6:
                //    oResponse.ErrCode = 6;
                //    oResponse.ErrDesc = "Invalid GeneratedDateTime";
                //    break;

                if (oResponse.ErrCode != 0)
                {
                    LogManager.WriteLog("ProcessHandpays Response: " + oResponse.ToString(), LogManager.enumLogLevel.Debug);
                    return oResponse;

                }

                var sqlParameters = new SqlParameter[4];

                sqlParameters[0] = new SqlParameter("@EventId", (int)request.Type);
                sqlParameters[1] = new SqlParameter("@EventDescription", request.Type.ToString().ToUpper());
                sqlParameters[2] = new SqlParameter("@XML", outStream.ToString());
                sqlParameters[3] = new SqlParameter("@Device", request.RedeemedAsset);
                int retval = int.Parse( SqlHelper.ExecuteScalar(GetConnectionString(), CommandType.StoredProcedure, "usp_Vault_UpdateGenericMessage", sqlParameters).ToString());
                //var sqlParameters = new SqlParameter[7];

                //sqlParameters[0] = new SqlParameter("@Asset", request.Asset);
                //sqlParameters[1] = new SqlParameter("@RedeemedAsset", request.RedeemedAsset);
                //sqlParameters[2] = new SqlParameter("@SiteID", request.SiteID);
                //sqlParameters[3] = new SqlParameter("@Amount", request.Amount);
                //sqlParameters[4] = new SqlParameter("@RedeemDateTime", request.RedeemDateTime);
                //sqlParameters[5] = new SqlParameter("@GeneratedDateTime", request.GeneratedDateTime);
                //sqlParameters[6] = new SqlParameter("@Type", request.Type);

                //int iStatus = int.Parse(SqlHelper.ExecuteScalar(GetConnectionString(), CommandType.StoredProcedure, "usp_UpdateHandpayInfo", sqlParameters).ToString());
                //if (iStatus == -1)
                //{
                //    oResponse.ErrCode = 1;
                //    oResponse.ErrDesc = "Invalid Asset";
                //}
                //if (iStatus == 0)
                //{
                //    LogManager.WriteLog("Handpay Updated Successfully Asset:" + request.Asset + " Amount: " + request.Amount, LogManager.enumLogLevel.Info);
                //}
                if (retval == 1)
                {
                    LogManager.WriteLog("Handpay Updated Successfully Asset:" + request.Asset + " Amount: " + request.Amount, LogManager.enumLogLevel.Info);
                }
                else
                {
                    LogManager.WriteLog("Handpay Updated Failed Asset:" + request.Asset + " Amount: " + request.Amount, LogManager.enumLogLevel.Info);
                    if (retval == -701)
                    {
                        oResponse.ErrCode = 701;
                        oResponse.ErrDesc = "Vault not enrolled/invalid serial number";

                    }
                    else if (retval == -702)
                    {
                        oResponse.ErrCode = 702;
                        oResponse.ErrDesc = "Feature not enabled";

                    }
                    else
                    {
                        oResponse.ErrCode = -100;
                        oResponse.ErrDesc = "Unable to process request";
                    }
                }

            }
            catch (Exception ex)
            {
                LogManager.WriteLog("Error in reading Handpay Info", LogManager.enumLogLevel.Error);
                ExceptionManager.Publish(ex);
                oResponse.ErrCode = -100;
                oResponse.ErrDesc = "Error Occured";
            }
            LogManager.WriteLog("ProcessHandpays Response: " + oResponse.ToString(), LogManager.enumLogLevel.Debug);
            return oResponse;
        }
        public Response ProcessHandpays(HandpayModel request)
        {
            Response oResponse = new Response();

            LogManager.WriteLog("VaultService: ProcessHandpays -- Entered", LogManager.enumLogLevel.Info);
            try
            {
                StringWriter  outStream = new StringWriter();
                XmlSerializer s         = new XmlSerializer(typeof(HandpayModel));

                s.Serialize(outStream, request);
                LogManager.WriteLog("VaultService: Handpays Xml" + outStream.ToString(), LogManager.enumLogLevel.Info);
                outStream.Close();


                if (request.Asset.IsNullOrEmpty())
                {
                    oResponse.ErrCode = 1;
                    oResponse.ErrDesc = "Invalid Asset";
                }
                if (request.RedeemedAsset.IsNullOrEmpty())
                {
                    oResponse.ErrCode = 2;
                    oResponse.ErrDesc = "Invalid Redeemed Asset";
                }
                if (request.SiteID.ToString().Length < 4)
                {
                    oResponse.ErrCode = 3;
                    oResponse.ErrDesc = "Invalid SiteID(Must be a integer with 4 digits)";
                }
                if (request.Amount < 1)
                {
                    oResponse.ErrCode = 4;
                    oResponse.ErrDesc = "Invalid Amount(Must be greater than 0)";
                }

                if (request.Type.GetType() != typeof(HandpayTypeModel))
                {
                    oResponse.ErrCode = 7;
                    oResponse.ErrDesc = "Invalid Type";
                }

                //case -5:
                //    oResponse.ErrCode = 5;
                //    oResponse.ErrDesc = "Invalid RedeemDateTime";
                //    break;
                //case -6:
                //    oResponse.ErrCode = 6;
                //    oResponse.ErrDesc = "Invalid GeneratedDateTime";
                //    break;

                if (oResponse.ErrCode != 0)
                {
                    LogManager.WriteLog("ProcessHandpays Response: " + oResponse.ToString(), LogManager.enumLogLevel.Debug);
                    return(oResponse);
                }

                var sqlParameters = new SqlParameter[4];

                sqlParameters[0] = new SqlParameter("@EventId", (int)request.Type);
                sqlParameters[1] = new SqlParameter("@EventDescription", request.Type.ToString().ToUpper());
                sqlParameters[2] = new SqlParameter("@XML", outStream.ToString());
                sqlParameters[3] = new SqlParameter("@Device", request.RedeemedAsset);
                int retval = int.Parse(SqlHelper.ExecuteScalar(GetConnectionString(), CommandType.StoredProcedure, "usp_Vault_UpdateGenericMessage", sqlParameters).ToString());
                //var sqlParameters = new SqlParameter[7];

                //sqlParameters[0] = new SqlParameter("@Asset", request.Asset);
                //sqlParameters[1] = new SqlParameter("@RedeemedAsset", request.RedeemedAsset);
                //sqlParameters[2] = new SqlParameter("@SiteID", request.SiteID);
                //sqlParameters[3] = new SqlParameter("@Amount", request.Amount);
                //sqlParameters[4] = new SqlParameter("@RedeemDateTime", request.RedeemDateTime);
                //sqlParameters[5] = new SqlParameter("@GeneratedDateTime", request.GeneratedDateTime);
                //sqlParameters[6] = new SqlParameter("@Type", request.Type);

                //int iStatus = int.Parse(SqlHelper.ExecuteScalar(GetConnectionString(), CommandType.StoredProcedure, "usp_UpdateHandpayInfo", sqlParameters).ToString());
                //if (iStatus == -1)
                //{
                //    oResponse.ErrCode = 1;
                //    oResponse.ErrDesc = "Invalid Asset";
                //}
                //if (iStatus == 0)
                //{
                //    LogManager.WriteLog("Handpay Updated Successfully Asset:" + request.Asset + " Amount: " + request.Amount, LogManager.enumLogLevel.Info);
                //}
                if (retval == 1)
                {
                    LogManager.WriteLog("Handpay Updated Successfully Asset:" + request.Asset + " Amount: " + request.Amount, LogManager.enumLogLevel.Info);
                }
                else
                {
                    LogManager.WriteLog("Handpay Updated Failed Asset:" + request.Asset + " Amount: " + request.Amount, LogManager.enumLogLevel.Info);
                    if (retval == -701)
                    {
                        oResponse.ErrCode = 701;
                        oResponse.ErrDesc = "Vault not enrolled/invalid serial number";
                    }
                    else if (retval == -702)
                    {
                        oResponse.ErrCode = 702;
                        oResponse.ErrDesc = "Feature not enabled";
                    }
                    else
                    {
                        oResponse.ErrCode = -100;
                        oResponse.ErrDesc = "Unable to process request";
                    }
                }
            }
            catch (Exception ex)
            {
                LogManager.WriteLog("Error in reading Handpay Info", LogManager.enumLogLevel.Error);
                ExceptionManager.Publish(ex);
                oResponse.ErrCode = -100;
                oResponse.ErrDesc = "Error Occured";
            }
            LogManager.WriteLog("ProcessHandpays Response: " + oResponse.ToString(), LogManager.enumLogLevel.Debug);
            return(oResponse);
        }