/// <summary> /// Removed all duplicate vertices by converting to ExportPolygon. /// </summary> /// <param name="p">IPolygon to convert.</param> /// <returns>A IPolgyon(ExportPolygon) with no duplicate vertices.</returns> public static ExportPolygon Convert(IPolygon p) { if (p is ExportPolygon) { return(p as ExportPolygon); } var b = new ExportBuilder(); foreach (Triangle t in p.GetTriangles()) { b.Append(t.First, t.Second, t.Third); } return(b.Build() as ExportPolygon); }
public ExcelResult Export() { const string fileName = "Reestr.xls"; // get data int dm = (int)Session["Month"]; int year = (int)Session["Year"]; int ContractID; string dog = GetCookie("Dog"); if (!String.IsNullOrWhiteSpace(dog)) { ContractID = Convert.ToInt32(dog); } else { ContractID = 0; } //Установили 1е число DateTime begDt = new DateTime(year, dm, 01, 0, 0, 0); //Установили 1е число следующего месяца DateTime endDt = begDt.AddMonths(1); TtnRepository repo = new TtnRepository(); List <Ttn> ttn = repo.GetTtn(Cust.CustId, begDt, endDt, ContractID); var items = repo.GetTtn(Cust.CustId, begDt, endDt, ContractID); var title = $"Реестр отрузки Абз-4 с {begDt.ToShortDateString()} по {endDt.ToShortDateString()}"; var html = ExportBuilder.Build(items, title); // prepare virtual file using (var stream = new MemoryStream()) using (var writer = new StreamWriter(stream)) { writer.Write(html); writer.Flush(); stream.Position = 0; } return(new ExcelResult(fileName, html)); }