private static void AssignData(OrderModel item) { if (item.InternalOrderStatus == Enumerations.OrderExecutionStatus.RstopExist.ToString()) { if (new[] { "A", "U" }.Any(x => x == item.OrderAction)) { ReturnedStopLossOrderModel objReturnedOrderModel = new ReturnedStopLossOrderModel(); objReturnedOrderModel.BuySell = item.BuySellIndicator; objReturnedOrderModel.SCode = item.ScripCode; var Segment = CommonFunctions.GetSegmentID(objReturnedOrderModel.SCode); int DecimalPoint = CommonFunctions.GetDecimal(Convert.ToInt32(objReturnedOrderModel.SCode), "BSE", Segment); objReturnedOrderModel.ScripID = item.Symbol; objReturnedOrderModel.TotalQty = item.PendingQuantity; objReturnedOrderModel.RevQty = item.RevealQty; objReturnedOrderModel.ClientType = item.ClientType; objReturnedOrderModel.LimitRate = (item.Price / Math.Pow(10, DecimalPoint)).ToString(); if (Segment == Enumerations.Segment.Currency.ToString()) { objReturnedOrderModel.LimitRateString = string.Format("{0}.{1}", objReturnedOrderModel.LimitRate, "0000"); } else { objReturnedOrderModel.LimitRateString = string.Format("{0}.{1}", objReturnedOrderModel.LimitRate, "00"); } objReturnedOrderModel.TriggertRate = (item.TriggerPrice / Math.Pow(10, DecimalPoint)).ToString(); if (Segment == Enumerations.Segment.Currency.ToString()) { objReturnedOrderModel.TriggertRateString = string.Format("{0}.{1}", objReturnedOrderModel.TriggertRate, "0000"); } else { objReturnedOrderModel.TriggertRateString = string.Format("{0}.{1}", objReturnedOrderModel.TriggertRate, "00"); } objReturnedOrderModel.ClientID = item.ClientId; objReturnedOrderModel.Time = Convert.ToDateTime(item.Time); objReturnedOrderModel.OrdID = item.OrderId + item.OrderType; objReturnedOrderModel.ClientType = item.ClientType; objReturnedOrderModel.OrderKey = string.Format("{0}_{1}", item.ScripCode, item.OrderId); objReturnedOrderModel.SegmentId = item.SegmentFlag; if (ReturnedStopLossOrderCollection != null && ReturnedStopLossOrderCollection.Count > 0) { if (ReturnedStopLossOrderCollection.Any(x => x.OrderKey == item.OrderKey)) { int index = ReturnedStopLossOrderCollection.IndexOf(ReturnedStopLossOrderCollection.Where(x => x.OrderKey == item.OrderKey).FirstOrDefault()); ReturnedStopLossOrderCollection[index] = objReturnedOrderModel; } else { ReturnedStopLossOrderCollection.Add(objReturnedOrderModel); } } else { ReturnedStopLossOrderCollection?.Add(objReturnedOrderModel); } } else if (item.OrderAction == "D") { if (ReturnedStopLossOrderCollection != null && ReturnedStopLossOrderCollection.Count > 0) { if (ReturnedStopLossOrderCollection.Any(x => x.OrderKey == item.OrderKey)) { int index = ReturnedStopLossOrderCollection.IndexOf(ReturnedStopLossOrderCollection.Where(x => x.OrderKey == item.OrderKey).FirstOrDefault()); if (index != -1) { ReturnedStopLossOrderCollection.RemoveAt(index); } } } } } else { if (ReturnedStopLossOrderCollection != null && ReturnedStopLossOrderCollection.Count > 0) { if (ReturnedStopLossOrderCollection.Any(x => x.OrderKey == item.OrderKey)) { int index = ReturnedStopLossOrderCollection.IndexOf(ReturnedStopLossOrderCollection.Where(x => x.OrderKey == item.OrderKey).FirstOrDefault()); if (index != -1) { ReturnedStopLossOrderCollection.RemoveAt(index); } } } } //ReturnedStopLossOrderCollection.Add(objReturnedOrderModel); }