private static double CalculateSalesValue(mQuote a) { double value, FromCurrencyRate, BaseCurrencyRate, TwinRooms = 0; FromCurrencyRate = Convert.ToDouble(a.ExchangeRateSnapshot?.ExchangeRateDetail?.Where(b => b.CURRENCY == a.AgentProductInfo?.BudgetCurrencyCode).Select(b => b.RATE).FirstOrDefault()); BaseCurrencyRate = Convert.ToDouble(a.ExchangeRateSnapshot?.ExchangeRateDetail?.Where(b => b.CURRENCY == a.ExchangeRateSnapshot?.REFCUR).Select(b => b.RATE).FirstOrDefault()); TwinRooms = Convert.ToDouble(a.AgentRoom?.Where(b => "Twin,Double".Contains(b.RoomTypeName)).Select(b => b.RoomCount).FirstOrDefault()); value = Math.Round( (Convert.ToDouble(a.AgentProductInfo?.BudgetAmount) / ((FromCurrencyRate == 0 ? 1 : FromCurrencyRate) / (BaseCurrencyRate == 0 ? 1 : BaseCurrencyRate))) * (2 * TwinRooms) * a.Departures.Where(b => b.IsDeleted == false).Count()); return(value); }
public void GetNewActivityDetails(List <RoutingInfo> lstRoutingInfo, mQuote resultQuote, ref ActivitiesGetRes response) { List <ActivitiesProperties> objActivitiesProperties = new List <ActivitiesProperties>(); if (lstRoutingInfo != null && lstRoutingInfo.Count > 0) { List <string> daysList = new List <string>(); int day = 0; foreach (var item in lstRoutingInfo) { day = item.Days; for (int i = 1; i <= day; i++) { daysList.Add("Day " + (daysList.Count + 1)); } } objActivitiesProperties.Add(new ActivitiesProperties { CreateDate = DateTime.Now, EditDate = null, EditUser = "", ActivityID = 0, StartTime = "10:00", NoOfPaxAdult = resultQuote.AgentPassengerInfo.Where(a => a.Type == "ADULT").Select(b => b.count).FirstOrDefault(), NoOfPaxChild = resultQuote.AgentPassengerInfo.Where(a => a.Type == "CHILDWITHBED").Select(b => b.count).FirstOrDefault() + resultQuote.AgentPassengerInfo.Where(a => a.Type == "CHILDWITHOUTBED").Select(b => b.count).FirstOrDefault(), NoOfPaxInfant = resultQuote.AgentPassengerInfo.Where(a => a.Type == "INFANT").Select(b => b.count).FirstOrDefault(), }); response.DaysList = daysList; response.ResponseStatus.Status = "Success"; response.ActivitiesDetails = objActivitiesProperties; } else { response.ResponseStatus.ErrorMessage = "No Routing Details found."; response.ResponseStatus.Status = "Failure"; } }