public BuyTicketSummaryPriceViewModel(IEasyTrainTicketsDbEntities dbContext, string conIds, string qualityDiscount) { List <int> qualDiscount = JsonConvert.DeserializeObject <int[]>(qualityDiscount).ToList(); Dict = new Dictionary <Discount, int>(); List <Discount> discounts = dbContext.Discounts.ToList(); for (int i = 0; i < discounts.Count; i++) { Dict.Add(discounts[i], qualDiscount[i]); } List <int> list = new List <int>(); foreach (var key in Dict.Keys) { list.Add(Dict[key]); } ListDiscount = JsonConvert.SerializeObject(list); ConIds = conIds; List <ConnectionPart> conParts = JsonConvert.DeserializeObject <List <ConnectionPart> >(conIds); ConnectionPath conPath = new ConnectionPath() { ConnectionsParts = conParts }; conPath.Initialize(); decimal count = 0; foreach (var key in Dict.Keys) { count += (decimal)(Dict[key] * key.Percent); } Price = Math.Round(count * conPath.Price, 2); conPath.WriteConnection(); Way = conPath.Way; }