예제 #1
0
파일: AskPriceDAL.cs 프로젝트: zpf1989/WZCY
        /// <summary>
        /// 初审
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool FirstCheck(AskPrice model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update AskPrice set ");
            strSql.Append("FirstCheckTime=@FirstCheckTime,");
            strSql.Append("FirstCheckView=@FirstCheckView,");
            strSql.Append("State=@State");
            strSql.Append(" where APID=@APID ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@FirstCheckTime", SqlDbType.DateTime),
                new SqlParameter("@FirstCheckView", SqlDbType.VarChar, 255),
                new SqlParameter("@State",          SqlDbType.Char,      1),
                new SqlParameter("@APID",           SqlDbType.VarChar, 36)
            };
            parameters[0].Value = model.FirstCheckTime;
            parameters[1].Value = model.FirstCheckView;
            parameters[2].Value = model.State;
            parameters[3].Value = model.APID;

            int rows = DBAccess.ExecuteNonQuery(DB.Type, DB.ConnectionString, CommandType.Text, strSql.ToString(), parameters);

            if (rows > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
예제 #2
0
 public override int GetHashCode()
 {
     unchecked
     {
         var hashCode = StockId.GetHashCode();
         hashCode = (hashCode * 397) ^ AskPrice.GetHashCode();
         hashCode = (hashCode * 397) ^ AskQuantity.GetHashCode();
         hashCode = (hashCode * 397) ^ OrderId.GetHashCode();
         return(hashCode);
     }
 }
예제 #3
0
 public override Int32 GetHashCode()
 {
     unchecked
     {
         var hashCode = BidExchange.GetHashCode();
         hashCode = (hashCode * 397) ^ AskExchange.GetHashCode();
         hashCode = (hashCode * 397) ^ BidPrice.GetHashCode();
         hashCode = (hashCode * 397) ^ AskPrice.GetHashCode();
         hashCode = (hashCode * 397) ^ BidSize.GetHashCode();
         hashCode = (hashCode * 397) ^ AskSize.GetHashCode();
         hashCode = (hashCode * 397) ^ Timestamp.GetHashCode();
         return(hashCode);
     }
 }
예제 #4
0
        /// <summary>
        /// Write market quote to tab-delimited string
        /// </summary>
        public new string ToString()
        {
            StringBuilder output = new StringBuilder();

            output.Append(TimeStamp.ToMarketTime());
            output.Append("\t");
            output.Append(Symbol);
            output.Append("\t");
            output.Append(Exchange);
            output.Append("\t");
            output.Append(BidPrice.ToDecimalPrice().ToShortPriceString());
            output.Append("\t");
            output.Append(AskPrice.ToDecimalPrice().ToShortPriceString());
            return(output.ToString());
        }
예제 #5
0
파일: AskPriceDAL.cs 프로젝트: zpf1989/WZCY
        /// <summary>
        /// 复审
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool SecondCheck(AskPrice model, APSecondCheck apsc)
        {
            APSecondCheckDAL apscDal = new APSecondCheckDAL();

            StringBuilder strSql = new StringBuilder();

            strSql.Append("update AskPrice set ");
            strSql.Append("State=@State");
            strSql.Append(" where APID=@APID ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@State", SqlDbType.Char,    1),
                new SqlParameter("@APID",  SqlDbType.VarChar, 36)
            };
            parameters[0].Value = model.State;
            parameters[1].Value = model.APID;


            IDbTransaction transaction = DBAccess.BeginDbTransaction(DB.Type, DB.ConnectionString);

            try
            {
                apscDal.Check(apsc);
                if (apscDal.IsCheck(model.APID))
                {
                    DBAccess.ExecuteNonQuery(DB.Type, DB.ConnectionString, CommandType.Text, strSql.ToString(), parameters);
                }

                transaction.Commit();
            }
            catch
            {
                transaction.Rollback();
            }
            return(true);
        }
예제 #6
0
파일: AskPriceBLL.cs 프로젝트: zpf1989/WZCY
 /// <summary>
 /// 复审
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool SecondCheck(AskPrice model, APSecondCheck apsc)
 {
     return iAskPriceDAL.SecondCheck(model, apsc);
 }
예제 #7
0
파일: AskPriceBLL.cs 프로젝트: zpf1989/WZCY
 /// <summary>
 /// 初审
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool FirstCheck(AskPrice model)
 {
     return iAskPriceDAL.FirstCheck(model);
 }
예제 #8
0
파일: AskPriceBLL.cs 프로젝트: zpf1989/WZCY
 /// <summary>
 /// 修改询价单
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public bool UpdateAskPrice(AskPrice model)
 {
     return iAskPriceDAL.UpdateAskPrice(model);
 }
예제 #9
0
파일: AskPriceBLL.cs 프로젝트: zpf1989/WZCY
 /// <summary>
 /// 新增
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public int AddAskPrice(AskPrice model)
 {
     return iAskPriceDAL.AddAskPrice(model);
 }
예제 #10
0
 public override string ToString()
 {
     return($"Status={Status}|Symbol={Symbol}|ExChange={ExChange}|AskPrice={AskPrice?.ToString()}|AskTime={AskTime?.ToString("yyyy-MM-dd HH:mm:ss.fff")}|BidPrice={BidPrice?.ToString()}|BidTime={BidTime?.ToString("yyyy-MM-dd HH:mm:ss.fff")}|TradePrice={TradePrice?.ToString()}|TradeTime={TradeTime?.ToString("yyyy-MM-dd HH:mm:ss.fff")}");
 }
 public override int GetHashCode()
 {
     return(Symbol.GetHashCode() ^ AskPrice.GetHashCode() ^ BidPrice.GetHashCode() ^ AskQty.GetHashCode() ^ BidQty.GetHashCode());
 }
예제 #12
0
파일: AskPriceDAL.cs 프로젝트: zpf1989/WZCY
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int AddAskPrice(AskPrice model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into AskPrice(");
            strSql.Append("APID,APCode,AskDate,ClientName,ClientContact,ClientTel,ClientAddress,MaterialCode,MaterialName,Specs,Routing,PlanPrice,Issued,IssuedCount,ActualPrice,PayTypeID,TrackDescription,ClientSurvey,APRemark,Creator,CreateTime,Editor,EditTime,FirstChecker,State,SecondCheckerName,ReaderName,Qty,UnitID,IsTax,IsShipping)");
            strSql.Append(" values (");
            strSql.Append("@APID,@APCode,@AskDate,@ClientName,@ClientContact,@ClientTel,@ClientAddress,@MaterialCode,@MaterialName,@Specs,@Routing,@PlanPrice,@Issued,@IssuedCount,@ActualPrice,@PayTypeID,@TrackDescription,@ClientSurvey,@APRemark,@Creator,@CreateTime,@Editor,@EditTime,@FirstChecker,@State,@SecondCheckerName,@ReaderName,@Qty,@UnitID,@IsTax,@IsShipping)");
            SqlParameter[] parameters =
            {
                new SqlParameter("@APID",              SqlDbType.VarChar,     36),
                new SqlParameter("@APCode",            SqlDbType.VarChar,     30),
                new SqlParameter("@AskDate",           SqlDbType.Char,         8),
                new SqlParameter("@ClientName",        SqlDbType.VarChar,     60),
                new SqlParameter("@ClientContact",     SqlDbType.VarChar,     30),
                new SqlParameter("@ClientTel",         SqlDbType.VarChar,     30),
                new SqlParameter("@ClientAddress",     SqlDbType.VarChar,     90),
                new SqlParameter("@MaterialCode",      SqlDbType.VarChar,     60),
                new SqlParameter("@MaterialName",      SqlDbType.VarChar,     90),
                new SqlParameter("@Specs",             SqlDbType.VarChar,     90),
                new SqlParameter("@Routing",           SqlDbType.VarChar,   1024),
                new SqlParameter("@PlanPrice",         SqlDbType.Decimal,      9),
                new SqlParameter("@Issued",            SqlDbType.Char,         1),
                new SqlParameter("@IssuedCount",       SqlDbType.Int,          4),
                new SqlParameter("@ActualPrice",       SqlDbType.Decimal,      9),
                new SqlParameter("@PayTypeID",         SqlDbType.VarChar,     36),
                new SqlParameter("@TrackDescription",  SqlDbType.VarChar,   1024),
                new SqlParameter("@ClientSurvey",      SqlDbType.VarChar,   1024),
                new SqlParameter("@APRemark",          SqlDbType.VarChar,   1024),
                new SqlParameter("@Creator",           SqlDbType.VarChar,     36),
                new SqlParameter("@CreateTime",        SqlDbType.DateTime),
                new SqlParameter("@Editor",            SqlDbType.VarChar,     36),
                new SqlParameter("@EditTime",          SqlDbType.DateTime),
                new SqlParameter("@FirstChecker",      SqlDbType.VarChar,     36),
                new SqlParameter("@State",             SqlDbType.Char,         1),
                new SqlParameter("@SecondCheckerName", SqlDbType.VarChar,    255),
                new SqlParameter("@ReaderName",        SqlDbType.VarChar,    255),
                new SqlParameter("@Qty",               SqlDbType.Decimal,      9),
                new SqlParameter("@UnitID",            SqlDbType.VarChar,     36),
                new SqlParameter("@IsTax",             SqlDbType.Char,         1),
                new SqlParameter("@IsShipping",        SqlDbType.Char, 1)
            };
            parameters[0].Value = model.APID;
            parameters[1].Value = model.APCode;
            if (string.IsNullOrEmpty(model.APCode))
            {
                parameters[1].Value = "XJ" + System.DateTime.Now.Year +
                                      System.DateTime.Now.Month +
                                      System.DateTime.Now.Day +
                                      System.DateTime.Now.Hour +
                                      System.DateTime.Now.Minute +
                                      System.DateTime.Now.Second +
                                      System.DateTime.Now.Millisecond;
            }
            parameters[2].Value  = model.AskDate;
            parameters[3].Value  = model.ClientName;
            parameters[4].Value  = model.ClientContact;
            parameters[5].Value  = model.ClientTel;
            parameters[6].Value  = model.ClientAddress;
            parameters[7].Value  = model.MaterialCode;
            parameters[8].Value  = model.MaterialName;
            parameters[9].Value  = model.Specs;
            parameters[10].Value = model.Routing;
            parameters[11].Value = model.PlanPrice;
            parameters[12].Value = model.Issued;
            parameters[13].Value = model.IssuedCount;
            parameters[14].Value = model.ActualPrice;
            parameters[15].Value = model.PayTypeID;
            parameters[16].Value = model.TrackDescription;
            parameters[17].Value = model.ClientSurvey;
            parameters[18].Value = model.APRemark;
            parameters[19].Value = model.Creator;
            parameters[20].Value = model.CreateTime;
            parameters[21].Value = model.Editor;
            parameters[22].Value = model.EditTime;
            parameters[23].Value = model.FirstChecker;
            parameters[24].Value = model.State;
            parameters[25].Value = model.SecondCheckerName;
            parameters[26].Value = model.ReaderName;
            parameters[27].Value = model.Qty;
            parameters[28].Value = model.UnitID;
            parameters[29].Value = model.IsTax;
            parameters[30].Value = model.IsShipping;

            IDbTransaction transaction = DBAccess.BeginDbTransaction(DB.Type, DB.ConnectionString);

            try
            {
                DBAccess.ExecuteNonQuery(DB.Type, DB.ConnectionString, CommandType.Text, strSql.ToString(), parameters);

                APSecondCheckDAL apSC = new APSecondCheckDAL();
                int socount           = model.SCList.Count;
                if (socount > 0)
                {
                    for (int i = 0; i < socount; i++)
                    {
                        APSecondCheck apsc = model.SCList[i] as APSecondCheck;
                        apSC.Add(apsc);
                    }
                }

                APReaderDAL apR    = new APReaderDAL();
                int         rcount = model.RList.Count;
                if (rcount > 0)
                {
                    for (int i = 0; i < rcount; i++)
                    {
                        APReader sor = model.RList[i] as APReader;
                        apR.Add(sor);
                    }
                }

                transaction.Commit();
            }
            catch
            {
                transaction.Rollback();
            }

            return(1);
        }
예제 #13
0
파일: AskPriceDAL.cs 프로젝트: zpf1989/WZCY
        /// <summary>
        /// 修改询价单
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool UpdateAskPrice(AskPrice model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update AskPrice set ");
            strSql.Append("APCode=@APCode,");
            strSql.Append("AskDate=@AskDate,");
            strSql.Append("ClientName=@ClientName,");
            strSql.Append("ClientContact=@ClientContact,");
            strSql.Append("ClientTel=@ClientTel,");
            strSql.Append("ClientAddress=@ClientAddress,");
            strSql.Append("MaterialCode=@MaterialCode,");
            strSql.Append("MaterialName=@MaterialName,");
            strSql.Append("Specs=@Specs,");
            strSql.Append("Routing=@Routing,");
            strSql.Append("PlanPrice=@PlanPrice,");
            strSql.Append("Issued=@Issued,");
            strSql.Append("IssuedCount=@IssuedCount,");
            strSql.Append("ActualPrice=@ActualPrice,");
            strSql.Append("PayTypeID=@PayTypeID,");
            strSql.Append("TrackDescription=@TrackDescription,");
            strSql.Append("ClientSurvey=@ClientSurvey,");
            strSql.Append("APRemark=@APRemark,");
            strSql.Append("Creator=@Creator,");
            strSql.Append("Editor=@Editor,");
            strSql.Append("EditTime=@EditTime,");
            strSql.Append("FirstChecker=@FirstChecker,");
            strSql.Append("State=@State,");
            strSql.Append("SecondCheckerName=@SecondCheckerName,");
            strSql.Append("ReaderName=@ReaderName,");
            strSql.Append("Qty=@Qty,");
            strSql.Append("UnitID=@UnitID,");
            strSql.Append("IsTax=@IsTax,");
            strSql.Append("IsShipping=@IsShipping");
            strSql.Append(" where APID=@APID ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@APCode",            SqlDbType.VarChar,     30),
                new SqlParameter("@AskDate",           SqlDbType.Char,         8),
                new SqlParameter("@ClientName",        SqlDbType.VarChar,     60),
                new SqlParameter("@ClientContact",     SqlDbType.VarChar,     30),
                new SqlParameter("@ClientTel",         SqlDbType.VarChar,     30),
                new SqlParameter("@ClientAddress",     SqlDbType.VarChar,     90),
                new SqlParameter("@MaterialCode",      SqlDbType.VarChar,     60),
                new SqlParameter("@MaterialName",      SqlDbType.VarChar,     90),
                new SqlParameter("@Specs",             SqlDbType.VarChar,     90),
                new SqlParameter("@Routing",           SqlDbType.VarChar,   1024),
                new SqlParameter("@PlanPrice",         SqlDbType.Decimal,      9),
                new SqlParameter("@Issued",            SqlDbType.Char,         1),
                new SqlParameter("@IssuedCount",       SqlDbType.Int,          4),
                new SqlParameter("@ActualPrice",       SqlDbType.Decimal,      9),
                new SqlParameter("@PayTypeID",         SqlDbType.VarChar,     36),
                new SqlParameter("@TrackDescription",  SqlDbType.VarChar,   1024),
                new SqlParameter("@ClientSurvey",      SqlDbType.VarChar,   1024),
                new SqlParameter("@APRemark",          SqlDbType.VarChar,   1024),
                new SqlParameter("@Creator",           SqlDbType.VarChar,     36),
                new SqlParameter("@Editor",            SqlDbType.VarChar,     36),
                new SqlParameter("@EditTime",          SqlDbType.DateTime),
                new SqlParameter("@FirstChecker",      SqlDbType.VarChar,     36),
                new SqlParameter("@State",             SqlDbType.Char,         1),
                new SqlParameter("@SecondCheckerName", SqlDbType.VarChar,    255),
                new SqlParameter("@ReaderName",        SqlDbType.VarChar,    255),
                new SqlParameter("@Qty",               SqlDbType.Decimal,      9),
                new SqlParameter("@UnitID",            SqlDbType.VarChar,     36),
                new SqlParameter("@IsTax",             SqlDbType.Char,         1),
                new SqlParameter("@IsShipping",        SqlDbType.Char,         1),
                new SqlParameter("@APID",              SqlDbType.VarChar, 36)
            };
            parameters[0].Value  = model.APCode;
            parameters[1].Value  = model.AskDate;
            parameters[2].Value  = model.ClientName;
            parameters[3].Value  = model.ClientContact;
            parameters[4].Value  = model.ClientTel;
            parameters[5].Value  = model.ClientAddress;
            parameters[6].Value  = model.MaterialCode;
            parameters[7].Value  = model.MaterialName;
            parameters[8].Value  = model.Specs;
            parameters[9].Value  = model.Routing;
            parameters[10].Value = model.PlanPrice;
            parameters[11].Value = model.Issued;
            parameters[12].Value = model.IssuedCount;
            parameters[13].Value = model.ActualPrice;
            parameters[14].Value = model.PayTypeID;
            parameters[15].Value = model.TrackDescription;
            parameters[16].Value = model.ClientSurvey;
            parameters[17].Value = model.APRemark;
            parameters[18].Value = model.Creator;
            parameters[19].Value = model.Editor;
            parameters[20].Value = model.EditTime;
            parameters[21].Value = model.FirstChecker;
            parameters[22].Value = model.State;
            parameters[23].Value = model.SecondCheckerName;
            parameters[24].Value = model.ReaderName;
            parameters[25].Value = model.Qty;
            parameters[26].Value = model.UnitID;
            parameters[27].Value = model.IsTax;
            parameters[28].Value = model.IsShipping;
            parameters[29].Value = model.APID;

            IDbTransaction transaction = DBAccess.BeginDbTransaction(DB.Type, DB.ConnectionString);

            try
            {
                DBAccess.ExecuteNonQuery(DB.Type, DB.ConnectionString, CommandType.Text, strSql.ToString(), parameters);

                APSecondCheckDAL soSC = new APSecondCheckDAL();
                int socount           = model.SCList.Count;
                if (socount > 0)
                {
                    soSC.Delete(model.APID);
                    for (int i = 0; i < socount; i++)
                    {
                        APSecondCheck sosc = model.SCList[i] as APSecondCheck;
                        soSC.Add(sosc);
                    }
                }

                APReaderDAL rSC    = new APReaderDAL();
                int         rcount = model.RList.Count;
                if (rcount > 0)
                {
                    rSC.Delete(model.APID);
                    for (int i = 0; i < rcount; i++)
                    {
                        APReader sor = model.RList[i] as APReader;
                        rSC.Add(sor);
                    }
                }

                transaction.Commit();
            }
            catch
            {
                transaction.Rollback();
            }

            return(true);
        }
예제 #14
0
 /// <summary>
 /// Gets the hash code
 /// </summary>
 /// <returns>Hash code</returns>
 public override int GetHashCode()
 {
     unchecked // Overflow is fine, just wrap
     {
         var hashCode = 41;
         // Suitable nullity checks etc, of course :)
         if (UnderlyingIndex != null)
         {
             hashCode = hashCode * 59 + UnderlyingIndex.GetHashCode();
         }
         if (Volume != null)
         {
             hashCode = hashCode * 59 + Volume.GetHashCode();
         }
         if (VolumeUsd != null)
         {
             hashCode = hashCode * 59 + VolumeUsd.GetHashCode();
         }
         if (UnderlyingPrice != null)
         {
             hashCode = hashCode * 59 + UnderlyingPrice.GetHashCode();
         }
         if (BidPrice != null)
         {
             hashCode = hashCode * 59 + BidPrice.GetHashCode();
         }
         if (OpenInterest != null)
         {
             hashCode = hashCode * 59 + OpenInterest.GetHashCode();
         }
         if (QuoteCurrency != null)
         {
             hashCode = hashCode * 59 + QuoteCurrency.GetHashCode();
         }
         if (High != null)
         {
             hashCode = hashCode * 59 + High.GetHashCode();
         }
         if (EstimatedDeliveryPrice != null)
         {
             hashCode = hashCode * 59 + EstimatedDeliveryPrice.GetHashCode();
         }
         if (Last != null)
         {
             hashCode = hashCode * 59 + Last.GetHashCode();
         }
         if (MidPrice != null)
         {
             hashCode = hashCode * 59 + MidPrice.GetHashCode();
         }
         if (InterestRate != null)
         {
             hashCode = hashCode * 59 + InterestRate.GetHashCode();
         }
         if (Funding8h != null)
         {
             hashCode = hashCode * 59 + Funding8h.GetHashCode();
         }
         if (MarkPrice != null)
         {
             hashCode = hashCode * 59 + MarkPrice.GetHashCode();
         }
         if (AskPrice != null)
         {
             hashCode = hashCode * 59 + AskPrice.GetHashCode();
         }
         if (InstrumentName != null)
         {
             hashCode = hashCode * 59 + InstrumentName.GetHashCode();
         }
         if (Low != null)
         {
             hashCode = hashCode * 59 + Low.GetHashCode();
         }
         if (BaseCurrency != null)
         {
             hashCode = hashCode * 59 + BaseCurrency.GetHashCode();
         }
         if (CreationTimestamp != null)
         {
             hashCode = hashCode * 59 + CreationTimestamp.GetHashCode();
         }
         if (CurrentFunding != null)
         {
             hashCode = hashCode * 59 + CurrentFunding.GetHashCode();
         }
         return(hashCode);
     }
 }
예제 #15
0
        /// <summary>
        /// Returns true if BookSummary instances are equal
        /// </summary>
        /// <param name="other">Instance of BookSummary to be compared</param>
        /// <returns>Boolean</returns>
        public bool Equals(BookSummary other)
        {
            if (other is null)
            {
                return(false);
            }
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            return
                ((
                     UnderlyingIndex == other.UnderlyingIndex ||
                     UnderlyingIndex != null &&
                     UnderlyingIndex.Equals(other.UnderlyingIndex)
                     ) &&
                 (
                     Volume == other.Volume ||
                     Volume != null &&
                     Volume.Equals(other.Volume)
                 ) &&
                 (
                     VolumeUsd == other.VolumeUsd ||
                     VolumeUsd != null &&
                     VolumeUsd.Equals(other.VolumeUsd)
                 ) &&
                 (
                     UnderlyingPrice == other.UnderlyingPrice ||
                     UnderlyingPrice != null &&
                     UnderlyingPrice.Equals(other.UnderlyingPrice)
                 ) &&
                 (
                     BidPrice == other.BidPrice ||
                     BidPrice != null &&
                     BidPrice.Equals(other.BidPrice)
                 ) &&
                 (
                     OpenInterest == other.OpenInterest ||
                     OpenInterest != null &&
                     OpenInterest.Equals(other.OpenInterest)
                 ) &&
                 (
                     QuoteCurrency == other.QuoteCurrency ||
                     QuoteCurrency != null &&
                     QuoteCurrency.Equals(other.QuoteCurrency)
                 ) &&
                 (
                     High == other.High ||
                     High != null &&
                     High.Equals(other.High)
                 ) &&
                 (
                     EstimatedDeliveryPrice == other.EstimatedDeliveryPrice ||
                     EstimatedDeliveryPrice != null &&
                     EstimatedDeliveryPrice.Equals(other.EstimatedDeliveryPrice)
                 ) &&
                 (
                     Last == other.Last ||
                     Last != null &&
                     Last.Equals(other.Last)
                 ) &&
                 (
                     MidPrice == other.MidPrice ||
                     MidPrice != null &&
                     MidPrice.Equals(other.MidPrice)
                 ) &&
                 (
                     InterestRate == other.InterestRate ||
                     InterestRate != null &&
                     InterestRate.Equals(other.InterestRate)
                 ) &&
                 (
                     Funding8h == other.Funding8h ||
                     Funding8h != null &&
                     Funding8h.Equals(other.Funding8h)
                 ) &&
                 (
                     MarkPrice == other.MarkPrice ||
                     MarkPrice != null &&
                     MarkPrice.Equals(other.MarkPrice)
                 ) &&
                 (
                     AskPrice == other.AskPrice ||
                     AskPrice != null &&
                     AskPrice.Equals(other.AskPrice)
                 ) &&
                 (
                     InstrumentName == other.InstrumentName ||
                     InstrumentName != null &&
                     InstrumentName.Equals(other.InstrumentName)
                 ) &&
                 (
                     Low == other.Low ||
                     Low != null &&
                     Low.Equals(other.Low)
                 ) &&
                 (
                     BaseCurrency == other.BaseCurrency ||
                     BaseCurrency != null &&
                     BaseCurrency.Equals(other.BaseCurrency)
                 ) &&
                 (
                     CreationTimestamp == other.CreationTimestamp ||
                     CreationTimestamp != null &&
                     CreationTimestamp.Equals(other.CreationTimestamp)
                 ) &&
                 (
                     CurrentFunding == other.CurrentFunding ||
                     CurrentFunding != null &&
                     CurrentFunding.Equals(other.CurrentFunding)
                 ));
        }