public SecurityPrice SaveSecurityPrice(ISession session, SecurityPrice newSecurityPrice) { if (session == null) { throw new ArgumentNullException(nameof(session)); } if (newSecurityPrice == null) { throw new ArgumentNullException(nameof(newSecurityPrice)); } Entities.SecurityPrice existingSecurityPrice = securityPriceRepository.GetSecurityPriceBySymbol(session, newSecurityPrice.Security.Symbol, newSecurityPrice.NavDate); if (existingSecurityPrice == null) { securityPriceRepository.SaveOrUpdate(session, newSecurityPrice); return(newSecurityPrice); } else { existingSecurityPrice.OpenPrice = newSecurityPrice.OpenPrice; existingSecurityPrice.ClosePrice = newSecurityPrice.ClosePrice; securityPriceRepository.SaveOrUpdate(session, existingSecurityPrice); return(existingSecurityPrice); } }
private void PublishSecurityPrice(IModel channel, Entities.SecurityPrice securityPrice, string requestMessageId) { var securityPriceResponse = securityPriceResponseBuilder.BuildSecurityPriceResponse(securityPrice); securityPriceResponse.MessageId = requestMessageId; channel.PublishMessageOnQueue(securityPriceResponse, Queues.SecurityPriceResponseQueue); }