@using DR.FV2016.Web.Models.Candidate.Configs @model DR.FV2016.Web.Models.Candidate.CandidateArticleList @{ var config = new CandidateListViewConf(); if (ViewData.ContainsKey("config")) { config = (CandidateListViewConf)ViewData["config"]; } // initialize var sectionConf = new SectionViewConf{ Boxed = config.Boxed, ShowHeading = config.ShowHeading, HeadingLevel = config.HeadingLevel, Url = config.Url, Id = config.Id, Footer = config.Footer, ShowMoreLink = config.ShowMoreLink }; var itemConf = ShallowClone.Create(config.ItemConfig); itemConf.IsListItem = true; var drListClass = "dr-list"; var listClass = new List(); // list if (!itemConf.ShowImage && itemConf.IconType != "") { drListClass += "-icon"; } listClass.Add(drListClass); if (config.RightToLeft) { listClass.Add("lang-rtl"); } // heading var headline = Model.Headline; var subHeadline = config.SubHeadline; if (config.Headline != "") { headline = config.Headline; subHeadline = Model.Headline; } if (config.SubHeadline != "") { subHeadline = config.SubHeadline; } sectionConf.Headline = headline; sectionConf.SubHeadline = subHeadline; //sectionConf.SubHeadline = headline; // finalize if (config.ClassName != "") { listClass.AddRange(config.ClassName.Split(' ')); } sectionConf.ClassName = String.Join(" ", listClass); // render var fragments = new List(); var i = 0; foreach (var item in Model.Items) { // show hide candidate items if (listClass.Contains("show-more") == true) { itemConf.Classname = "hide"; } // end show hide candidate items if (i == 0 && config.ShowFirstImage) { var firstItemConf = ShallowClone.Create(itemConf); firstItemConf.ShowImage = true; firstItemConf.ImageSpan = 0; firstItemConf.ShowWinners = config.ShowResultHeader; firstItemConf.Id = item.CandidateId.ToString(); firstItemConf.HeadingSize = itemConf.HeadingSize + 1; fragments.Add(Html.PartialWithViewData(config.PartialName, item, firstItemConf)); } else if (i == 0 && config.ShowFirstSpot) { var firstItemConf = ShallowClone.Create(itemConf); firstItemConf.ShowImage = true; //firstItemConf.ImageSpan = 0; firstItemConf.Id = item.CandidateId.ToString(); firstItemConf.HeadingSize = itemConf.HeadingSize + 1; firstItemConf.ShowWinners = config.ShowResultHeader; //firstItemConf.ShowHeading = false; fragments.Add(Html.PartialWithViewData(config.PartialFirstItemName, item, firstItemConf)); } else { var remainItemConf = ShallowClone.Create(itemConf); // DREXSAND TODO remainItemConf.IsPersonalVotesAvailable = config.ItemConfig.IsPersonalVotesAvailable; remainItemConf.ShowWinners = config.ItemConfig.ShowWinners; remainItemConf.Id = item.CandidateId.ToString(); fragments.Add(Html.PartialWithViewData(config.PartialName, item, remainItemConf)); } i++; } var partyResult = new MvcHtmlString(""); /* if (config.ShowPartyVotes) { Model.DeviationPercent = 0; var trClass = Model.DeviationPercent > 0 ? "up" : "down"; partyResult = new MvcHtmlString("
" + Model.SharePercent + "%
" + (Model.DeviationPercent == (decimal) 0 ? "" : "") + "
" + @Math.Abs(Model.DeviationPercent).ToString("0.0")+ "%
"); } */ if (listClass.Contains("collaps-items")) { @Html.PartialWithViewData("CandidateSection", new MvcHtmlString(partyResult + "
    " + string.Join(Environment.NewLine, fragments) + "
"), sectionConf) } else { @Html.PartialWithViewData("CandidateSection", new MvcHtmlString(partyResult + "
    " + string.Join(Environment.NewLine, fragments) + "
"), sectionConf) } }