public BatchPrint() { InitializeComponent(); Control.CheckForIllegalCrossThreadCalls = false; if (!Directory.Exists(path))//判断是否存在 { Directory.CreateDirectory(path);//创建新路径 } List<string> printer = GetAllPrinter(); foreach (var item in printer) { this.cmbPrinter.Items.Add(item); } m_SynFileInfoList = new List<string>(); m_SynFileInfoList.AddRange(new string[] {"Z:\\20141229\\331286\\03169ad6-ad1e-464b-a300-193e66d99d75.jpg", "Z:\\20141229\\331286\\B.doc", "Z:\\20141229\\331286\\A.pdf" } ); // m_SynFileInfoList.AddRange(new string[] // {@"file://///10.10.100.52/Resource/20141229/331286/03169ad6-ad1e-464b-a300-193e66d99d75.jpg", // @"file://///10.10.100.52/Resource/20141229/331286/B.doc", // @"file://///10.10.100.52/Resource/20141229/331286/A.pdf" // } //); }
/// <summary> /// Tries to auto resize the specified table columns. /// </summary> /// <param name="table">pdf table</param> public static void AutoResizeTableColumns(this PdfGrid table) { if (table == null) return; var currentRowWidthsList = new List<float>(); var previousRowWidthsList = new List<float>(); foreach (var row in table.Rows) { currentRowWidthsList.Clear(); currentRowWidthsList.AddRange(row.GetCells().Select(cell => cell.GetCellWidth())); if (!previousRowWidthsList.Any()) { previousRowWidthsList = new List<float>(currentRowWidthsList); } else { for (int i = 0; i < previousRowWidthsList.Count; i++) { if (previousRowWidthsList[i] < currentRowWidthsList[i]) previousRowWidthsList[i] = currentRowWidthsList[i]; } } } if (previousRowWidthsList.Any()) table.SetTotalWidth(previousRowWidthsList.ToArray()); }
/// <summary> /// Merge pdf files. /// </summary> /// <param name="inFiles">List of file paths to merge.</param> public IList<PdfImportedPage> GetImportedPages(List<String> inFiles) { List<PdfImportedPage> pages = new List<PdfImportedPage>(); { foreach (string file in inFiles) { pages.AddRange(ExtractPagesFromFile(file)); } } return pages; }
public IEnumerable<INamedDestination> GetFlattenedDestinations(Dictionary<string, object> source) { var items = new List<INamedDestination> { _factory.CreateNamedInstanceFor(source) }; if (source.ContainsKey("Kids") && source["Kids"] is IEnumerable<Dictionary<string, object>>) { foreach (var kid in (source["Kids"] as IEnumerable<Dictionary<string, object>>)) { items.AddRange(GetFlattenedDestinations(kid)); } } return items; }
public override List<PdfContentParameter> BuildContent(EntityDTO dto) { this.dto = dto; List<PdfContentParameter> contents = new List<PdfContentParameter>(); contents.Add(base.CreateTitlePage(this.dto)); contents.Add(base.CreateChangeHistory(this.dto)); contents.Add(base.CreateReviewers(this.dto)); contents.Add(base.CreateApprovers(this.dto)); contents.Add(CreateSubProcessObjective()); contents.Add(CreateRolesAndResponsibility()); contents.Add(CreateSubProcessDependency()); contents.Add(CreateSubProcessDiagramTitle()); contents.Add(CreateActivityOverviewHeader()); contents.AddRange(CreateActivityOverview()); return contents; }
public void DuplicateBookmarksToDestinations(string document) { if (string.IsNullOrEmpty(document)) throw new NullReferenceException("Empty filename passed."); if (!File.Exists(document)) throw new FileNotFoundException(string.Format("{0} does not exist.", document)); var bookmarks = GetBookmarksFromDocument(document); var nameddests = new List<INamedDestination>(); foreach (var topLevelBookmark in bookmarks) { nameddests.AddRange(GetFlattenedDestinations(topLevelBookmark)); } InsertDestinationsIntoDocument(document, nameddests); }
/** * Extracts locations from the concrete annotation. * Note: annotation can consist not only of one area specified by the RECT entry, but also of multiple areas specified * by the QuadPoints entry in the annotation dictionary. */ private IList<PdfCleanUpLocation> ExtractLocationsFromRedactAnnot(int page, int annotIndex, PdfDictionary annotDict) { IList<PdfCleanUpLocation> locations = new List<PdfCleanUpLocation>(); List<Rectangle> markedRectangles = new List<Rectangle>(); PdfArray quadPoints = annotDict.GetAsArray(PdfName.QUADPOINTS); if (quadPoints.Size != 0) { markedRectangles.AddRange(TranslateQuadPointsToRectangles(quadPoints)); } else { PdfArray annotRect = annotDict.GetAsArray(PdfName.RECT); markedRectangles.Add(new Rectangle(annotRect.GetAsNumber(0).FloatValue, annotRect.GetAsNumber(1).FloatValue, annotRect.GetAsNumber(2).FloatValue, annotRect.GetAsNumber(3).FloatValue)); } clippingRects.Add(annotIndex, markedRectangles); BaseColor cleanUpColor = null; PdfArray ic = annotDict.GetAsArray(PdfName.IC); if (ic != null) { cleanUpColor = new BaseColor( ic.GetAsNumber(0).FloatValue, ic.GetAsNumber(1).FloatValue, ic.GetAsNumber(2).FloatValue ); } PdfStream ro = annotDict.GetAsStream(PdfName.RO); if (ro != null) { cleanUpColor = null; } foreach (Rectangle rect in markedRectangles) { locations.Add(new PdfCleanUpLocation(page, rect, cleanUpColor)); } return locations; }
/** * Extracts locations from the redact annotations contained in the document and applied to the given page. */ private IList<PdfCleanUpLocation> ExtractLocationsFromRedactAnnots(int page, PdfDictionary pageDict) { List<PdfCleanUpLocation> locations = new List<PdfCleanUpLocation>(); if (pageDict.Contains(PdfName.ANNOTS)) { PdfArray annotsArray = pageDict.GetAsArray(PdfName.ANNOTS); for (int i = 0; i < annotsArray.Size; ++i) { PdfIndirectReference annotIndirRef = annotsArray.GetAsIndirectObject(i); PdfDictionary annotDict = annotsArray.GetAsDict(i); PdfName annotSubtype = annotDict.GetAsName(PdfName.SUBTYPE); if (annotSubtype.Equals(PdfName.REDACT)) { SaveRedactAnnotIndirRef(page, annotIndirRef.ToString()); locations.AddRange(ExtractLocationsFromRedactAnnot(page, i, annotDict)); } } } return locations; }
/* * (non-Javadoc) * * @see * com.itextpdf.tool.xml.ITagProcessor#endElement(com.itextpdf.tool.xml.Tag, * java.util.List, com.itextpdf.text.Document) */ public override IList<IElement> End(IWorkerContext ctx, Tag tag, IList<IElement> currentContent) { try { bool percentage = false; String widthValue = null; tag.CSS.TryGetValue(HTML.Attribute.WIDTH, out widthValue); if (widthValue == null) { tag.Attributes.TryGetValue(HTML.Attribute.WIDTH, out widthValue); } if(widthValue != null && widthValue.Trim().EndsWith("%")) { percentage = true; } int numberOfColumns = 0; List<TableRowElement> tableRows = new List<TableRowElement>(currentContent.Count); IList<IElement> invalidRowElements = new List<IElement>(1); String repeatHeader; tag.CSS.TryGetValue(CSS.Property.REPEAT_HEADER, out repeatHeader); String repeatFooter; tag.CSS.TryGetValue(CSS.Property.REPEAT_FOOTER, out repeatFooter); int headerRows = 0; int footerRows = 0; foreach (IElement e in currentContent) { int localNumCols = 0; if (e is TableRowElement) { TableRowElement tableRowElement = (TableRowElement) e; foreach (HtmlCell cell in tableRowElement.Content) { localNumCols += cell.Colspan; } if (localNumCols > numberOfColumns) { numberOfColumns = localNumCols; } tableRows.Add(tableRowElement); if (repeatHeader != null && Util.EqualsIgnoreCase(repeatHeader, "yes") && tableRowElement.RowPlace.Equals(TableRowElement.Place.HEADER)) { headerRows++; } if (repeatFooter != null && Util.EqualsIgnoreCase(repeatFooter, "yes") && tableRowElement.RowPlace.Equals(TableRowElement.Place.FOOTER)){ footerRows++; } } else { invalidRowElements.Add(e); } } if(repeatFooter == null || !Util.EqualsIgnoreCase(repeatFooter, "yes")) { SortUtil.MergeSort<TableRowElement>(tableRows, delegate(TableRowElement o1, TableRowElement o2) { return o1.RowPlace.Normal.CompareTo(o2.RowPlace.Normal); }); } else { SortUtil.MergeSort<TableRowElement>(tableRows, delegate(TableRowElement o1, TableRowElement o2) { return o1.RowPlace.Repeated.CompareTo(o2.RowPlace.Repeated); }); } PdfPTable table = IntPdfPTable(numberOfColumns); table.HeaderRows = headerRows + footerRows; table.FooterRows = footerRows; if (tag.Attributes.ContainsKey(HTML.Attribute.ALIGN)) { String value = tag.Attributes[HTML.Attribute.ALIGN]; table.HorizontalAlignment = CSS.GetElementAlignment(value); } int direction = GetRunDirection(tag); if (direction != PdfWriter.RUN_DIRECTION_DEFAULT) { table.RunDirection = direction; } foreach (KeyValuePair<String, String> entry in tag.CSS) { if (Util.EqualsIgnoreCase(entry.Key,CSS.Property.PAGE_BREAK_INSIDE)) { if (Util.EqualsIgnoreCase(entry.Value,CSS.Value.AVOID.ToLower())) { table.KeepTogether = true; } } } TableStyleValues styleValues = SetStyleValues(tag); table.TableEvent = new TableBorderEvent(styleValues); SetVerticalMargin(table, tag, styleValues, ctx); WidenLastCell(tableRows, styleValues.HorBorderSpacing); float[] columnWidths = new float[numberOfColumns]; float[] widestWords = new float[numberOfColumns]; float[] fixedWidths = new float[numberOfColumns]; float[] colspanWidestWords = new float[numberOfColumns]; int[] rowspanValue = new int[numberOfColumns]; float largestColumn = 0; float largestColspanColumn = 0; int indexOfLargestColumn = -1; int indexOfLargestColspanColumn = -1; // Initial fill of the widths arrays foreach (TableRowElement row in tableRows) { int column = 0; foreach (HtmlCell cell in row.Content) { // check whether the current column should be skipped due to a // rowspan value of higher cell in this column. // Contribution made by Arnost Havelka (Asseco): added while condition while ((column < numberOfColumns) && (rowspanValue[column] > 0)) { rowspanValue[column] = rowspanValue[column] - 1; ++column; } // sets a rowspan counter for current column (counter not // needed for last column). if (cell.Rowspan > 1 && column != numberOfColumns - 1 && column < rowspanValue.Length) { rowspanValue[column] = cell.Rowspan - 1; } int colspan = cell.Colspan; if (cell.FixedWidth != 0) { float fixedWidth = cell.FixedWidth + GetCellStartWidth(cell); float colSpanWidthSum = 0; int nonZeroColspanCols = 0; // Contribution made by Arnost Havelka (Asseco) (modified) for (int c = column; c < column + colspan && c < numberOfColumns; c++) { colSpanWidthSum += fixedWidths[c]; if (fixedWidths[c] != 0) nonZeroColspanCols++; } for (int c = column; c < column + colspan && c < numberOfColumns; c++) { if (fixedWidths[c] == 0) { fixedWidths[c] = (fixedWidth - colSpanWidthSum)/(colspan - nonZeroColspanCols); columnWidths[c] = (fixedWidth - colSpanWidthSum)/(colspan - nonZeroColspanCols); } } } if (cell.CompositeElements != null) { float[] widthValues = SetCellWidthAndWidestWord(cell); float cellWidth = widthValues[0] / colspan; float widestWordOfCell = widthValues[1] / colspan; for (int i = 0; i < colspan; i++) { int c = column + i; // Contribution made by Arnost Havelka (Asseco) if (c >= numberOfColumns) { continue; } if (fixedWidths[c] == 0 && cellWidth > columnWidths[c]) { columnWidths[c] = cellWidth; if (colspan == 1) { if (cellWidth > largestColumn) { largestColumn = cellWidth; indexOfLargestColumn = c; } } else { if (cellWidth > largestColspanColumn) { largestColspanColumn = cellWidth; indexOfLargestColspanColumn = c; } } } if (colspan == 1) { if (widestWordOfCell > widestWords[c]) { widestWords[c] = widestWordOfCell; } } else { if (widestWordOfCell > colspanWidestWords[c]) { colspanWidestWords[c] = widestWordOfCell; } } } } if (colspan > 1) { if (LOG.IsLogging(Level.TRACE)) { LOG.Trace(String.Format(LocaleMessages.GetInstance().GetMessage(LocaleMessages.COLSPAN), colspan)); } column += colspan - 1; } column++; } } if (indexOfLargestColumn == -1) { indexOfLargestColumn = indexOfLargestColspanColumn; if (indexOfLargestColumn == -1) { indexOfLargestColumn = 0; } for (int column = 0; column < numberOfColumns; column++) { widestWords[column] = colspanWidestWords[column]; } } float outerWidth = GetTableOuterWidth(tag, styleValues.HorBorderSpacing, ctx); float initialTotalWidth = GetTableWidth(columnWidths, 0); // float targetWidth = calculateTargetWidth(tag, columnWidths, outerWidth, ctx); float targetWidth = 0; HtmlPipelineContext htmlPipelineContext = GetHtmlPipelineContext(ctx); float max = htmlPipelineContext.PageSize.Width - outerWidth; bool tableWidthFixed = false; if (tag.Attributes.ContainsKey(CSS.Property.WIDTH) || tag.CSS.ContainsKey(CSS.Property.WIDTH)) { targetWidth = new WidthCalculator().GetWidth(tag, htmlPipelineContext.GetRootTags(), htmlPipelineContext.PageSize.Width, initialTotalWidth); if (targetWidth > max) { targetWidth = max; } tableWidthFixed = true; } else if (initialTotalWidth <= max) { targetWidth = initialTotalWidth; } else if (null == tag.Parent || (null != tag.Parent && htmlPipelineContext.GetRootTags().Contains(tag.Parent.Name))) { targetWidth = max; } else /* this table is an inner table and width adjustment is done in outer table */{ targetWidth = GetTableWidth(columnWidths, outerWidth); } float totalFixedColumnWidth = GetTableWidth(fixedWidths, 0); float targetPercentage = 0; if (totalFixedColumnWidth == initialTotalWidth) { // all column widths are fixed targetPercentage = targetWidth / initialTotalWidth; if (initialTotalWidth > targetWidth) { for (int column = 0; column < columnWidths.Length; column++) { columnWidths[column] *= targetPercentage; } } else if(tableWidthFixed && targetPercentage != 1){ for (int column = 0; column < columnWidths.Length; column++) { columnWidths[column] *= targetPercentage; } } } else { targetPercentage = (targetWidth - totalFixedColumnWidth) / (initialTotalWidth - totalFixedColumnWidth); // Reduce width of columns if the columnWidth array + borders + // paddings // is too large for the given targetWidth. if (initialTotalWidth > targetWidth) { float leftToReduce = 0; for (int column = 0; column < columnWidths.Length; column++) { if (fixedWidths[column] == 0) { // Reduce width of the column to its targetWidth, if // widestWord of column still fits in the targetWidth of // the // column. if (widestWords[column] <= columnWidths[column] * targetPercentage) { columnWidths[column] *= targetPercentage; // else take the widest word and calculate space // left to // reduce. } else { columnWidths[column] = widestWords[column]; leftToReduce += widestWords[column] - columnWidths[column] * targetPercentage; } // if widestWord of a column does not fit in the // fixedWidth, // set the column width to the widestWord. } else if (fixedWidths[column] < widestWords[column]) { columnWidths[column] = widestWords[column]; leftToReduce += widestWords[column] - fixedWidths[column]; } } if (leftToReduce != 0) { // Reduce width of the column with the most text, if its // widestWord still fits in the reduced column. if (widestWords[indexOfLargestColumn] <= columnWidths[indexOfLargestColumn] - leftToReduce) { columnWidths[indexOfLargestColumn] -= leftToReduce; } else { // set all columns to their minimum, with the // widestWord array. for (int column = 0; leftToReduce != 0 && column < columnWidths.Length; column++) { if (fixedWidths[column] == 0 && columnWidths[column] > widestWords[column]) { float difference = columnWidths[column] - widestWords[column]; if (difference <= leftToReduce) { leftToReduce -= difference; columnWidths[column] = widestWords[column]; } else { columnWidths[column] -= leftToReduce; leftToReduce = 0; } } } if (leftToReduce != 0) { // If the table has an insufficient fixed width // by // an // attribute or style, try to enlarge the table // to // its // minimum width (= widestWords array). float pageWidth = GetHtmlPipelineContext(ctx).PageSize.Width; if (GetTableWidth(widestWords, outerWidth) < pageWidth) { targetWidth = GetTableWidth(widestWords, outerWidth); leftToReduce = 0; } else { // If all columnWidths are set to the // widestWordWidths and the table is still // to // wide // content will fall off the edge of a page, // which // is similar to HTML. targetWidth = pageWidth - outerWidth; leftToReduce = 0; } } } } // Enlarge width of columns to fit the targetWidth. } else if (initialTotalWidth < targetWidth) { for (int column = 0; column < columnWidths.Length; column++) { if (fixedWidths[column] == 0) { columnWidths[column] *= targetPercentage; } } } } try { table.SetTotalWidth(columnWidths); table.LockedWidth = true; table.DefaultCell.Border = Rectangle.NO_BORDER; } catch (DocumentException e) { throw new RuntimeWorkerException(LocaleMessages.GetInstance().GetMessage(LocaleMessages.NO_CUSTOM_CONTEXT), e); } float? tableHeight = new HeightCalculator().GetHeight(tag, GetHtmlPipelineContext(ctx).PageSize.Height); float? tableRowHeight = null; if (tableHeight != null && tableHeight > 0) tableRowHeight = tableHeight / tableRows.Count; int rowNumber = 0; foreach (TableRowElement row in tableRows) { int columnNumber = -1; float? computedRowHeight = null; /*if ( tableHeight != null && tableRows.IndexOf(row) == tableRows.Count - 1) { float computedTableHeigt = table.CalculateHeights(); computedRowHeight = tableHeight - computedTableHeigt; }*/ IList<HtmlCell> rowContent = row.Content; if(rowContent.Count < 1) continue; foreach (HtmlCell cell in rowContent) { IList<IElement> compositeElements = cell.CompositeElements; if (compositeElements != null) { foreach (IElement baseLevel in compositeElements) { if (baseLevel is PdfPTable) { TableStyleValues cellValues = cell.CellValues; float totalBordersWidth = cellValues.IsLastInRow ? styleValues.HorBorderSpacing * 2 : styleValues.HorBorderSpacing; totalBordersWidth += cellValues.BorderWidthLeft + cellValues.BorderWidthRight; float columnWidth = 0; for (int currentColumnNumber = columnNumber + 1; currentColumnNumber <= columnNumber + cell.Colspan; currentColumnNumber++){ columnWidth += columnWidths[currentColumnNumber]; } IPdfPTableEvent tableEvent = ((PdfPTable) baseLevel).TableEvent; TableStyleValues innerStyleValues = ((TableBorderEvent) tableEvent).TableStyleValues; totalBordersWidth += innerStyleValues.BorderWidthLeft; totalBordersWidth += innerStyleValues.BorderWidthRight; ((PdfPTable) baseLevel).TotalWidth = columnWidth - totalBordersWidth; } } } columnNumber += cell.Colspan; table.AddCell(cell); } table.CompleteRow(); if ((computedRowHeight == null || computedRowHeight <= 0) && tableRowHeight != null) computedRowHeight = tableRowHeight; if (computedRowHeight != null && computedRowHeight > 0) { float rowHeight = table.GetRow(rowNumber).MaxHeights; if (rowHeight < computedRowHeight) { table.GetRow(rowNumber).MaxHeights = computedRowHeight.Value; } else if (tableRowHeight != null && tableRowHeight < rowHeight) { tableRowHeight = (tableHeight - rowHeight - rowNumber * tableRowHeight) / (tableRows.Count - rowNumber - 1); } } rowNumber++; } if (percentage) { table.WidthPercentage = utils.ParsePxInCmMmPcToPt(widthValue); table.LockedWidth = false; } List<IElement> elems = new List<IElement>(); if (invalidRowElements.Count > 0) { // all invalid row elements taken as caption int i = 0; Tag captionTag = tag.Children[i++]; while (!Util.EqualsIgnoreCase(captionTag.Name, HTML.Tag.CAPTION) && i < tag.Children.Count) { captionTag = tag.Children[i]; i++; } String captionSideValue; captionTag.CSS.TryGetValue(CSS.Property.CAPTION_SIDE, out captionSideValue); if (captionSideValue != null && Util.EqualsIgnoreCase(captionSideValue, CSS.Value.BOTTOM)) { elems.Add(table); elems.AddRange(invalidRowElements); } else { elems.AddRange(invalidRowElements); elems.Add(table); } } else { elems.Add(table); } return elems; } catch (NoCustomContextException e) { throw new RuntimeWorkerException(LocaleMessages.GetInstance().GetMessage(LocaleMessages.NO_CUSTOM_CONTEXT), e); } }
public ActionResult searchResults() { TempData.Keep(); searchViewModel advancedSearch = (searchViewModel)TempData["search"]; if (advancedSearch == null) { return RedirectToAction("Index"); } //List<Indicators> indicatorList = db.Indicators.ToList(); List<Indicators> indicatorList = db.Indicators.Where(x => x.Area_ID.Equals(1)).Where(y => y.Indicator_CoE_Map.Any(x => x.CoE_ID.Equals(10) || x.CoE_ID.Equals(27) || x.CoE_ID.Equals(30) || x.CoE_ID.Equals(40) || x.CoE_ID.Equals(50))).ToList(); List<Indicators> indicatorListString = new List<Indicators>(); string searchString = advancedSearch.searchString; if (searchString != null) { string[] searchStrings; searchStrings = searchString.Split(' '); foreach (var sS in searchStrings) { indicatorList = indicatorList.Where(s => s.Indicator != null && s.Indicator.ToLower().Contains(sS.ToLower())).ToList(); } } List<Indicators> indicatorListCoE = new List<Indicators>(); List<selectedCoEs> searchCoEs; searchCoEs = advancedSearch.selectedCoEs; if (searchCoEs != null) { foreach (var coe in searchCoEs) { indicatorListCoE.AddRange(db.Indicators.Where(s => s.Indicator_CoE_Map.Any(x => x.CoE_ID == coe.CoE_ID)).ToList()); } indicatorList = indicatorList.Intersect(indicatorListCoE).ToList(); } List<Indicators> indicatorListAreas = new List<Indicators>(); List<selectedAreas> searchAreas; searchAreas = advancedSearch.selectedAreas; if (searchAreas != null) { foreach (var area in searchAreas) { indicatorListAreas.AddRange(db.Indicators.Where(s => s.Area_ID == area.Area_ID).ToList()); } indicatorList = indicatorList.Intersect(indicatorListAreas).ToList(); } List<Indicators> indicatorListTypes = new List<Indicators>(); List<selectedTypes> searchTypes; searchTypes = advancedSearch.selectedTypes; if (searchTypes != null) { foreach (var type in searchTypes) { indicatorListTypes.AddRange(db.Indicators.Where(s => s.Indicator_Type.Replace("/", "").Replace("&", "").Replace(" ", "") == type.Indicator_Type).ToList()); } indicatorList = indicatorList.Intersect(indicatorListTypes).ToList(); } List<Indicators> indicatorListFootnotes = new List<Indicators>(); List<selectedFootnotes> searchFootnotes; searchFootnotes = advancedSearch.selectedFootnotes; if (searchFootnotes != null) { foreach (var footnote in searchFootnotes) { indicatorListFootnotes.AddRange(db.Indicators.Where(s => s.Indicator_Footnote_Map.Any(x => x.Footnote_ID == footnote.Footnote_ID)).ToList()); } indicatorList = indicatorList.Intersect(indicatorListFootnotes).ToList(); } if (ModelState.IsValid) { var viewModel = new indexViewModel { allIndicators = indicatorList.Distinct().ToList(), // allCoEs = db.CoEs.ToList(), // allAreas = db.Areas.ToList(), // allFootnotes = db.Footnotes.ToList() }; return View(viewModel); } return View(); }
public ActionResult Index() { var user = userRepository.GetUserByUsername(User.Identity.Name); var allPolls = new List<Poll>(); allPolls.AddRange(user.ManagedPolls); allPolls.AddRange(user.CreatedPolls); allPolls.AddRange(pollRepository.GetPollsMasteredBy(user)); return View(allPolls.Distinct().OrderByDescending(p => p.pollID).ToList()); }
private void printHorizontalStackPanel() { if (SharedData.PageSetup.MainTablePreferences.TableType != TableType.HorizontalStackPanel) return; var hasTableRowNumberColumn = SharedData.HasTableRowNumberColumn; var columnsNumber = SharedData.HorizontalStackPanelColumnsPerRow; if (hasTableRowNumberColumn) columnsNumber--; var itemsToTake = columnsNumber; var customRow = new List<CellData>(); foreach (var row in SharedData.MainTableDataSource.Rows()) { if (row == null) continue; var rowObjectColumnsCount = row.Count; var tempRow = row.Take(itemsToTake).ToList(); var diff = (columnsNumber * rowObjectColumnsCount) - customRow.Count - tempRow.Count; bool rowIsReady; if (diff == 0) { rowIsReady = true; itemsToTake = columnsNumber; } else { itemsToTake = diff; rowIsReady = false; } customRow.AddRange(tempRow); if (!rowIsReady) continue; var index = hasTableRowNumberColumn ? 1 : 0; for (int i = 0; i < customRow.Count; i++) { if ((i > 0) && (i % rowObjectColumnsCount == 0)) index++; // All columns of an object will create a single cell here. customRow[i].PropertyIndex = index; } fireRowStartedInjectCustomRowsEvent(customRow); addSingleRow(customRow); fireRowAddedInjectCustomRowsEvent(customRow); customRow.Clear(); } }
private List<SIGNATORIES> SignatoriesAcc(string accountNumber, DateTime reportDate) { var model = new List<SIGNATORIES>(); model.AddRange(_repository.Fetch<SIGNATORIES>() .Where(p => p.ACCOUNTS == accountNumber && p.Reportdate == reportDate)); return model; }
/// <summary> /// 匯出pdf文檔 /// </summary> //public void WritePdf() //{ // string newName = string.Empty; // string json = string.Empty; // IpodQuery ipod = new IpodQuery(); // IpoQuery ipo = new IpoQuery(); // if (!string.IsNullOrEmpty(Request.Params["Poid"])) // { // ipo.po_id = Request.Params["Poid"]; // } // if (!string.IsNullOrEmpty(Request.Params["Potype"])) // { // ipo.po_type = Request.Params["Potype"]; // } // List<IpodQuery> ipodStore = new List<IpodQuery>(); // List<IpoQuery> ipoStore = new List<IpoQuery>(); // _ipoMgr = new IpoMgr(mySqlConnectionString); // int totalCount = 0; // ipo.IsPage = false; // ipoStore = _ipoMgr.GetIpoList(ipo, out totalCount); // try // { // #region 採購單匯出 // BaseFont bf = BaseFont.CreateFont("C:\\WINDOWS\\Fonts\\simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); // iTextSharp.text.Font fontChinese = new iTextSharp.text.Font(bf, 8, iTextSharp.text.Font.UNDERLINE, iTextSharp.text.BaseColor.RED); // iTextSharp.text.Font font = new iTextSharp.text.Font(bf, 12, iTextSharp.text.Font.BOLD, new iTextSharp.text.BaseColor(0, 0, 0));//黑 // string filename = "採購單"+ DateTime.Now.ToString("yyyyMMddHHmmss") +".pdf"; // Document document = new Document(PageSize.A4, (float)5, (float)5, (float)20, (float)0.5); // string newPDFName = Server.MapPath(excelPath) + filename; // PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(newPDFName, FileMode.Create)); // document.Open(); // //運送方式 // _paraMgr = new ParameterMgr(mySqlConnectionString); // List<Parametersrc> parameterStore = new List<Parametersrc>(); // parameterStore = _paraMgr.GetElementType("product_freight"); // for (int a = 0; a < ipoStore.Count; a++)//循環單頭 // { // //GetIpodListExprot // _ipodMgr = new IpodMgr(mySqlConnectionString); // ipod = new IpodQuery(); // ipod.po_id = ipoStore[a].po_id; // ipodStore = new List<IpodQuery>(); // ipodStore = _ipodMgr.GetIpodListExprot(ipod); // Dictionary<int, List<IpodQuery>> product_freight_set_mapping = new Dictionary<int, List<IpodQuery>>(); // #region 通過運送方式把採購單分開--一張採購單,分成常溫,冷凍等採購單 // for (int i = 0; i < ipodStore.Count; i++)//通過運送方式保存到字典里 // { // ipodStore[i].spec = GetProductSpec(ipodStore[i].item_id.ToString()); // IupcQuery upc = new IupcQuery(); // upc.item_id = ipodStore[i].item_id; // List<IupcQuery> upcStore = new List<IupcQuery>(); // _IiupcMgr = new IupcMgr(mySqlConnectionString); // upcStore = _IiupcMgr.GetIupcByItemID(upc); // if (upcStore.Count > 0) // { // ipodStore[i].upc_id = upcStore[0].upc_id; // } // int freiset = ipodStore[i].product_freight_set; // if (!product_freight_set_mapping.Keys.Contains(freiset)) // { // List<IpodQuery> s = new List<IpodQuery>(); // product_freight_set_mapping.Add(freiset, s); // } // product_freight_set_mapping[freiset].Add(ipodStore[i]); // } // #endregion // #region 針對匯出一個而無商品的pdf // if (ipodStore.Count == 0) // { // #region 獲取供應商信息 // Vendor vendor = new Vendor(); // _vendorMgr = new VendorMgr(mySqlConnectionString); // vendor.erp_id = ipoStore[a].vend_id; // vendor = _vendorMgr.GetSingle(vendor); // #endregion // #region 採購單標題 // PdfContentByte cb = writer.DirectContent; // cb.BeginText(); // cb.SetFontAndSize(bf, 15); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "吉甲地好市集股份有限公司", 220, 790, 0); // font = new iTextSharp.text.Font(bf, 12, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 // cb.SetFontAndSize(bf, 12); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "採購單" + "-" + ipoStore[a].po_type_desc, 280, 770, 0); // cb.SetFontAndSize(bf, 8); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "公司電話:", 60, 760, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "公司傳真:", 470, 760, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "製造日期:" + DateTime.Now.ToString("yyyy/MM/dd"), 60, 750, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "頁", 510, 750, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "次", 530, 750, 0); // #endregion // PdfPTable ptable = new PdfPTable(6); // ptable.WidthPercentage = 150;//表格寬度 // font = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 // ptable.SetTotalWidth(new float[] { 82, 50, 100, 90, 110, 71 }); // PdfPCell cell = new PdfPCell(); // cell.UseAscender = true; // cell.HorizontalAlignment = Element.ALIGN_CENTER;//字體垂直居中 // cell.VerticalAlignment = Element.ALIGN_MIDDLE;//字體水平居中 // cell.BorderWidth = 0.1f; // cell.BorderColor = new BaseColor(0, 0, 0); // #region 上部分 // cell = new PdfPCell(new Phrase("採購單別:" + ipoStore[a].po_type, font)); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("交易幣別:" + "世界貨幣", font)); // cell.Colspan = 2; // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("匯率:" + "浮動", font)); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("運輸方式:" , font)); // cell.Colspan = 2; // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("商品是新品么?:", font));//新品 // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("所在層:", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("採購單(" + ipoStore[a].po_type_desc + ")", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("預約到貨日期:", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("採購單號:" + ipoStore[a].po_id, font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("課稅別:", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("營業稅率:", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("價格條件:", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("單據日期:" + DateTime.Now.ToString("yyyy/MM/dd"), font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("採購人員:" + ipoStore[a].buyer, font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase((System.Web.HttpContext.Current.Session["caller"] as Caller).user_username, font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠別代號:", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("gigade(讀取)", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠商代號:" + ipoStore[a].vend_id, font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("付款條件(讀取)", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("月結N天(讀取):", font)); // cell.Colspan = 3; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠商全名(讀取):" , font)); // cell.Colspan = 4; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("備註:", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠商地址:", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(" ", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("聯絡人(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠商電話:" , font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠商傳真:" , font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("送貨地址(讀取):", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(" ", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("預計送貨日期(讀取):", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("配送聯絡人(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("配送電話(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("配送傳真(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("處理備註:", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("運送備註:", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // ptable.AddCell(cell); // #endregion // ptable.WriteSelectedRows(0, -1, 46, 740, writer.DirectContent);//顯示的開始行,結束航(-1為所有)x坐標,y坐標 // PdfPTable nulltable = new PdfPTable(2); // nulltable.SetWidths(new int[] { 20, 20 }); // nulltable.DefaultCell.DisableBorderSide(1); // nulltable.DefaultCell.DisableBorderSide(2); // nulltable.DefaultCell.DisableBorderSide(4); // nulltable.DefaultCell.DisableBorderSide(8); // nulltable.AddCell(""); // nulltable.AddCell(""); // nulltable.SpacingAfter = 292; // document.Add(nulltable); // ptable = new PdfPTable(6); // ptable.WidthPercentage = 86;//表格寬度 // font = new iTextSharp.text.Font(bf, 9, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 // ptable.SetTotalWidth(new float[] { 90, 130, 50, 50, 60, 120 }); // cell = new PdfPCell(new Phrase("此採購單商品不存在!", font)); // cell.Colspan = 6; // ptable.AddCell(cell); // cb.EndText(); // document.Add(ptable); // document.NewPage(); // } // #endregion // foreach (int key in product_freight_set_mapping.Keys) // { // #region 取出運送方式 // string procduct_freight = ""; // for (int i = 0; i < parameterStore.Count; i++) // { // if (key.ToString() == parameterStore[i].ParameterCode) // { // procduct_freight = parameterStore[i].parameterName; // } // } // #endregion // #region 獲取供應商信息 // Vendor vendor = new Vendor(); // _vendorMgr = new VendorMgr(mySqlConnectionString); // vendor.erp_id = ipoStore[a].vend_id; // vendor = _vendorMgr.GetSingle(vendor); // #endregion // #region 採購單標題 // PdfContentByte cb = writer.DirectContent; // cb.BeginText(); // cb.SetFontAndSize(bf, 15); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "吉甲地好市集股份有限公司", 220, 790, 0); // font = new iTextSharp.text.Font(bf, 12, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 // cb.SetFontAndSize(bf, 12); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "採購單" + "-" + ipoStore[a].po_type_desc, 280, 770, 0); // cb.SetFontAndSize(bf, 8); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "公司電話:", 60, 760, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "公司傳真:", 470, 760, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "製造日期:" + DateTime.Now.ToString("yyyy/MM/dd"), 60, 750, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "頁", 510, 750, 0); // cb.ShowTextAligned(PdfContentByte.ALIGN_LEFT, "次", 530, 750, 0); // #endregion // PdfPTable ptable = new PdfPTable(6); // ptable.WidthPercentage = 150;//表格寬度 // font = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 // ptable.SetTotalWidth(new float[] { 82, 50, 100, 90, 110, 71 }); // PdfPCell cell = new PdfPCell(); // cell.UseAscender = true; // cell.HorizontalAlignment = Element.ALIGN_CENTER;//字體垂直居中 // cell.VerticalAlignment = Element.ALIGN_MIDDLE;//字體水平居中 // cell.BorderWidth = 0.1f; // cell.BorderColor = new BaseColor(0, 0, 0); // #region 上部分 // cell = new PdfPCell(new Phrase("採購單別:" + ipoStore[a].po_type, font)); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("交易幣別:" + "世界貨幣", font)); // cell.Colspan = 2; // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("匯率:" + "浮動", font)); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("運輸方式:" + procduct_freight, font)); // cell.Colspan = 2; // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("商品是新品么?:", font));//新品 // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("所在層:", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("採購單(" + ipoStore[a].po_type_desc + ")", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("預約到貨日期:", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("採購單號:" + ipoStore[a].po_id, font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("課稅別:", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("營業稅率:", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("價格條件:", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("單據日期:" + DateTime.Now.ToString("yyyy/MM/dd"), font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("採購人員:" + ipoStore[a].buyer, font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase((System.Web.HttpContext.Current.Session["caller"] as Caller).user_username, font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠別代號:" , font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("gigade(讀取)", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("廠商代號:" + ipoStore[a].vend_id, font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(vendor == null ? "暫無此信息" : vendor.vendor_name_simple, font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("付款條件(讀取)", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("月結N天(讀取):", font)); // cell.Colspan = 3; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(vendor == null ? "廠商全名(讀取):暫無此信息" :"廠商全名:"+ vendor.vendor_name_full, font)); // cell.Colspan = 4; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("備註:", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(vendor == null ? "廠商地址:暫無此信息" : "廠商地址:"+vendor.company_address, font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(" ", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("聯絡人(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(vendor == null?"廠商電話:暫無此信息" :"廠商電話:"+ vendor.company_phone, font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(vendor == null? "廠商傳真:暫無此信息" :"廠商傳真:"+ vendor.company_fax, font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("送貨地址(讀取):", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(" ", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("預計送貨日期(讀取):", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("配送聯絡人(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("配送電話(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.DisableBorderSide(8); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("配送傳真(讀取):", font)); // cell.Colspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("處理備註:", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("運送備註:", font)); // cell.Colspan = 6; // cell.DisableBorderSide(1); // ptable.AddCell(cell); // #endregion // ptable.WriteSelectedRows(0, -1, 46, 740, writer.DirectContent);//顯示的開始行,結束航(-1為所有)x坐標,y坐標 // PdfPTable nulltable = new PdfPTable(2); // nulltable.SetWidths(new int[] { 20, 20 }); // nulltable.DefaultCell.DisableBorderSide(1); // nulltable.DefaultCell.DisableBorderSide(2); // nulltable.DefaultCell.DisableBorderSide(4); // nulltable.DefaultCell.DisableBorderSide(8); // nulltable.AddCell(""); // nulltable.AddCell(""); // nulltable.SpacingAfter = 292; // document.Add(nulltable); // ptable = new PdfPTable(6); // ptable.WidthPercentage = 86;//表格寬度 // font = new iTextSharp.text.Font(bf, 9, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 // ptable.SetTotalWidth(new float[] { 90, 130, 50, 50, 60, 120 }); // #region 下面表格頭部 // cell = new PdfPCell(new Phrase("條碼", font)); // cell.Rowspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("品號", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("採購數量", font)); // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("允收天數", font)); // cell.HorizontalAlignment = Element.ALIGN_RIGHT; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("製造日期", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("備註", font)); // cell.Rowspan = 3; // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("品名", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("允收數量", font)); // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("允出天數", font)); // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("有效日期", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // cell.Rowspan = 2; // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("料位", font)); // cell.DisableBorderSide(1); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("規格", font)); // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("不允收數量", font)); // cell.HorizontalAlignment = Element.ALIGN_RIGHT; // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("有效期天數", font)); // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // #endregion // _ipodMgr = new IpodMgr(mySqlConnectionString); // ipod = new IpodQuery(); // ipod.po_id = ipoStore[a].po_id; // ipod.IsPage = false; // ipodStore = new List<IpodQuery>(); // ipodStore = _ipodMgr.GetIpodList(ipod, out totalCount); // List<IpodQuery> Ipodleibie = new List<IpodQuery>(); // Ipodleibie.AddRange(product_freight_set_mapping[key]); // #region 循環讀取數據填入表格 // for (int i = 0; i < Ipodleibie.Count; i++) // { // //string sResult = ""; // //if (ipodStore[i].pod_id.ToString().Length < 4) // //{ // // for (int n = 0; n < 4 - (ipodStore[i].pod_id.ToString().Length); n++) // // { // // sResult += "0"; // // } // //} // cell = new PdfPCell(new Phrase(Ipodleibie[i].upc_id, font));//條碼 // cell.Rowspan = 2; // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].Erp_Id.ToString(), font));//品號 // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].qty_ord.ToString(), font));//採購數量qty_ord // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].cde_dt_var.ToString(), font));//允收天數cde_dt_var // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("", font));//製造日期 // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("", font));//備註 // cell.Rowspan = 3; // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].product_name, font));//品名 // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].qty_claimed.ToString(), font));//允收數量 // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].cde_dt_shp.ToString(), font));//允出天數 // cell.HorizontalAlignment = Element.ALIGN_RIGHT;//.setHorizontalAlignment(Element.ALIGN_CENTER); // cell.DisableBorderSide(1); // cell.DisableBorderSide(2); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase("", font));//有效日期 // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // cell.Rowspan = 2; // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].loc_id, font));//料位 // cell.DisableBorderSide(1); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].spec, font));//規格 // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].qty_damaged.ToString(), font));//不允收數量 // cell.HorizontalAlignment = Element.ALIGN_RIGHT; // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // cell = new PdfPCell(new Phrase(Ipodleibie[i].cde_dt_incr.ToString(), font));//有效期天數 // cell.HorizontalAlignment = Element.ALIGN_RIGHT; // cell.DisableBorderSide(1); // cell.DisableBorderSide(4); // ptable.AddCell(cell); // } // #endregion // //cell = new PdfPCell(new Phrase(" 數量合計:" + 5, font)); // //cell.Colspan = 2; // //cell.DisableBorderSide(1); // //cell.DisableBorderSide(8); // //cell.HorizontalAlignment = Element.ALIGN_CENTER; // //ptable.AddCell(cell); // //cell = new PdfPCell(new Phrase(" 採購金額:", font)); // //cell.Colspan = 2; // //cell.HorizontalAlignment = Element.ALIGN_CENTER; // //cell.DisableBorderSide(1); // //cell.DisableBorderSide(4); // //cell.DisableBorderSide(8); // //ptable.AddCell(cell); // //cell = new PdfPCell(new Phrase(" 稅額:", font)); // //cell.Colspan = 2; // //cell.HorizontalAlignment = Element.ALIGN_CENTER; // //cell.DisableBorderSide(1); // //cell.DisableBorderSide(4); // //ptable.AddCell(cell); // //cell = new PdfPCell(new Phrase(" 金額合計:", font)); // //cell.Colspan = 2; // //cell.DisableBorderSide(1); // //cell.DisableBorderSide(4); // //ptable.AddCell(cell); // //Sumtable.AddCell(ptable); // cb.EndText(); // // Sumtable.SpacingAfter = 0; // ptable.SpacingAfter = 250; // //Sumtable.WriteSelectedRows(0, -1, 60, 740, writer.DirectContent);//顯示的開始行,結束航(-1為所有)x坐標,y坐標 // document.Add(ptable); // document.NewPage(); // } // } // document.Close(); // writer.Resume(); // Response.Clear(); // Response.Charset = "gb2312"; // Response.ContentEncoding = System.Text.Encoding.UTF8; // Response.AddHeader("Content-Disposition", "attach-ment;filename=" + filename); // Response.WriteFile(newPDFName); // //} // #endregion // //} // } // catch (Exception ex) // { // //cb.EndText(); // //writer.Resume(); // //Response.Clear(); // } //} public void WritePdf() { PdfHelper pdf = new PdfHelper(); List<string> pdfList = new List<string>(); //float[] arrColWidth_pftable = new float[] { 30,100, 80, 60, 60, 60, 60 }; float[] arrColWidth = new float[] { 30, 100, 80, 60, 60, 60, 60 }; int index = 0; string newFileName = string.Empty; string newName = string.Empty; string json = string.Empty; IpodQuery ipod = new IpodQuery(); IpoQuery ipo = new IpoQuery(); if (!string.IsNullOrEmpty(Request.Params["Poid"])) { ipo.po_id = Request.Params["Poid"]; } if (!string.IsNullOrEmpty(Request.Params["Potype"])) { ipo.po_type = Request.Params["Potype"]; } if (!string.IsNullOrEmpty(Request.Params["start_time"])) { ipo.start_time = Convert.ToDateTime(Request.Params["start_time"].ToString()); } if (!string.IsNullOrEmpty(Request.Params["end_time"])) { ipo.end_time = Convert.ToDateTime(Request.Params["end_time"].ToString()); } if (!string.IsNullOrEmpty(Request.Params["freight"])) { ipo.freight = Convert.ToInt32(Request.Params["freight"].ToString()); } List<IpodQuery> ipodStore = new List<IpodQuery>(); List<IpoQuery> ipoStore = new List<IpoQuery>(); _ipoMgr = new IpoMgr(mySqlConnectionString); int totalCount = 0; ipo.IsPage = false; ipoStore = _ipoMgr.GetIpoList(ipo, out totalCount); //if (!string.IsNullOrEmpty(Request.Params["freight"])) //{ // if (Request.Params["freight"].ToString() != "0") // { // _ipodMgr = new IpodMgr(mySqlConnectionString); // List<IpoQuery> newstore = new List<IpoQuery>(); // foreach (IpoQuery item in ipoStore) // { // if (!string.IsNullOrEmpty(item.po_id)) // { // if (_ipodMgr.GetIpodfreight(item.po_id, Convert.ToInt32(Request.Params["freight"].ToString()))) // { // newstore.Add(item); // } // } // } // ipoStore = newstore; // } //} try { #region 採購單匯出 BaseFont bf = BaseFont.CreateFont("C:\\WINDOWS\\Fonts\\simsun.ttc,1", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); iTextSharp.text.Font fontChinese = new iTextSharp.text.Font(bf, 8, iTextSharp.text.Font.UNDERLINE, iTextSharp.text.BaseColor.RED); iTextSharp.text.Font font = new iTextSharp.text.Font(bf, 12, iTextSharp.text.Font.BOLD, new iTextSharp.text.BaseColor(0, 0, 0));//黑 string filename = "採購單" + DateTime.Now.ToString("yyyyMMddHHmmss"); Document document = new Document(PageSize.A4); string newPDFName = Server.MapPath(excelPath) + filename; PdfWriter writer = PdfWriter.GetInstance(document, new FileStream(newPDFName, FileMode.Create)); document.Open(); //運送方式 _paraMgr = new ParameterMgr(mySqlConnectionString); List<Parametersrc> parameterStore = new List<Parametersrc>(); parameterStore = _paraMgr.GetElementType("product_freight"); if (ipoStore.Count == 0) { } for (int a = 0; a < ipoStore.Count; a++)//循環單頭 { _ipodMgr = new IpodMgr(mySqlConnectionString); ipod = new IpodQuery(); ipod.po_id = ipoStore[a].po_id; ipodStore = new List<IpodQuery>(); ipodStore = _ipodMgr.GetIpodListExprot(ipod); Dictionary<int, List<IpodQuery>> product_freight_set_mapping = new Dictionary<int, List<IpodQuery>>(); #region 通過運送方式把採購單分開--一張採購單,分成常溫,冷凍等採購單 for (int i = 0; i < ipodStore.Count; i++)//通過運送方式保存到字典里 { ipodStore[i].spec = GetProductSpec(ipodStore[i].prod_id.ToString());//--------取值出錯了item_id----------- IupcQuery upc = new IupcQuery(); _IiupcMgr = new IupcMgr(mySqlConnectionString); upc.item_id = uint.Parse(ipodStore[i].prod_id);//--------取值出錯了item_id----------- //獲取國際條碼 List<IupcQuery> upcInternationalStore = new List<IupcQuery>(); upc.upc_type_flg = "1"; upcInternationalStore = _IiupcMgr.GetIupcByType(upc); //獲取店內條碼 List<IupcQuery> upcShopStore = new List<IupcQuery>(); upc.upc_type_flg = "3"; upcShopStore = _IiupcMgr.GetIupcByType(upc); if (upcInternationalStore.Count > 0) { ipodStore[i].upc_id_international = upcInternationalStore[0].upc_id; } if (upcShopStore.Count > 0) { ipodStore[i].upc_id_shop = upcShopStore[0].upc_id; } int freiset = ipodStore[i].product_freight_set; if (!product_freight_set_mapping.Keys.Contains(freiset)) { List<IpodQuery> s = new List<IpodQuery>(); product_freight_set_mapping.Add(freiset, s); } product_freight_set_mapping[freiset].Add(ipodStore[i]); } #endregion #region 針對匯出一個而無商品的pdf if (ipodStore.Count == 0) { #region 獲取供應商信息 Vendor vendor = new Vendor(); _vendorMgr = new VendorMgr(mySqlConnectionString); vendor.erp_id = ipoStore[a].vend_id; vendor = _vendorMgr.GetSingle(vendor); #endregion #region 採購單標題 PdfPTable ptable = new PdfPTable(7); ptable.WidthPercentage = 100;//表格寬度 font = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 ptable.SetTotalWidth(arrColWidth); PdfPCell cell = new PdfPCell(); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 15))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" 吉甲地好市集股份有限公司", new iTextSharp.text.Font(bf, 15))); cell.VerticalAlignment = Element.ALIGN_CENTER;//字體水平居左 cell.Colspan = 5; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 3; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("採購單" + "-" + ipoStore[a].po_type_desc, new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("公司電話:", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 6; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("公司傳真:", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("製造日期:" + DateTime.Now.ToString("yyyy/MM/dd"), new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 3; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell.UseAscender = true; cell.HorizontalAlignment = Element.ALIGN_CENTER;//字體垂直居中 cell.VerticalAlignment = Element.ALIGN_MIDDLE;//字體水平居中 cell.BorderWidth = 0.1f; cell.BorderColor = new BaseColor(0, 0, 0); #endregion #region 上部分 cell = new PdfPCell(new Phrase("採購單別:" + ipoStore[a].po_type, font)); cell.Colspan = 2; cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("交易幣別:" + "世界貨幣", font)); cell.Colspan = 1; cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("匯率:" + "浮動", font)); cell.Colspan = 2; cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("運輸方式:", font)); cell.Colspan = 2; cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("商品是新品么?:", font));//新品 cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("所在層:", font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("採購單(" + ipoStore[a].po_type_desc + ")", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("預約到貨日期:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("採購單號:" + ipoStore[a].po_id, font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("課稅別:", font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("營業稅率:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("價格條件:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("單據日期:" + DateTime.Now.ToString("yyyy/MM/dd"), font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("採購人員:" + ipoStore[a].buyer, font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase((System.Web.HttpContext.Current.Session["caller"] as Caller).user_username, font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠別代號:", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("gigade(讀取)", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠商代號:" + ipoStore[a].vend_id, font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("付款條件(讀取)", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("月結N天(讀取):", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠商全名(讀取):", font)); cell.Colspan = 5; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("備註:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠商地址:", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("聯絡人(讀取):", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠商電話:", font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠商傳真:", font)); cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("送貨地址(讀取):", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("預計送貨日期(讀取):", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("配送聯絡人(讀取):", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("配送電話(讀取):", font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("配送傳真(讀取):", font)); cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("處理備註:", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("運送備註:", font)); cell.Colspan = 7; cell.DisableBorderSide(1); ptable.AddCell(cell); #endregion cell = new PdfPCell(new Phrase("此採購單商品不存在!", font)); cell.Colspan = 7; ptable.AddCell(cell); newFileName = newPDFName + "_part" + index++ + "." + "pdf"; pdf.ExportDataTableToPDF(newFileName, ptable, "", ""); pdfList.Add(newFileName); document.Add(ptable); document.NewPage(); } #endregion foreach (int key in product_freight_set_mapping.Keys) { #region 取出運送方式 string procduct_freight = ""; for (int i = 0; i < parameterStore.Count; i++) { if (key.ToString() == parameterStore[i].ParameterCode) { procduct_freight = parameterStore[i].parameterName; } } #endregion #region 獲取供應商信息 Vendor vendor = new Vendor(); _vendorMgr = new VendorMgr(mySqlConnectionString); vendor.erp_id = ipoStore[a].vend_id; vendor = _vendorMgr.GetSingle(vendor); #endregion #region 採購單標題 PdfPTable ptable = new PdfPTable(7); ptable.WidthPercentage = 100;//表格寬度 font = new iTextSharp.text.Font(bf, 10, iTextSharp.text.Font.NORMAL, new iTextSharp.text.BaseColor(0, 0, 0));//黑 ptable.SetTotalWidth(arrColWidth); PdfPCell cell = new PdfPCell(); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 15))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" 吉甲地好市集股份有限公司", new iTextSharp.text.Font(bf, 15))); cell.VerticalAlignment = Element.ALIGN_CENTER;//字體水平居左 cell.Colspan = 5; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 3; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" 採購單" + "-" + ipoStore[a].po_type_desc, new iTextSharp.text.Font(bf, 12))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("公司電話:", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 6; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("公司傳真:", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("製造日期:" + DateTime.Now.ToString("yyyy/MM/dd"), new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_LEFT;//字體水平居左 cell.Colspan = 3; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", new iTextSharp.text.Font(bf, 8))); cell.VerticalAlignment = Element.ALIGN_RIGHT;//字體水平居右 cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell.UseAscender = true; cell.HorizontalAlignment = Element.ALIGN_CENTER;//字體垂直居中 cell.VerticalAlignment = Element.ALIGN_MIDDLE;//字體水平居中 cell.BorderWidth = 0.1f; cell.BorderColor = new BaseColor(0, 0, 0); #endregion #region 上部分 cell = new PdfPCell(new Phrase("採購單別:" + ipoStore[a].po_type, font)); cell.Colspan = 2; cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("交易幣別:" + "世界貨幣", font)); cell.Colspan = 1; cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("匯率:" + "浮動", font)); cell.Colspan = 2; cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); if (procduct_freight != "常溫" && procduct_freight != "冷凍") { ; } cell = new PdfPCell(new Phrase("運輸方式:" + procduct_freight, font)); cell.Colspan = 2; cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("商品是新品么?:", font));//新品 cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("所在層:", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("採購單(" + ipoStore[a].po_type_desc + ")", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("預約到貨日期:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("採購單號:" + ipoStore[a].po_id, font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("課稅別:", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("營業稅率:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("價格條件:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("單據日期:" + DateTime.Now.ToString("yyyy/MM/dd"), font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("採購人員:", font)); //cell = new PdfPCell(new Phrase("採購人員:" + ipoStore[a].buyer, font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase((System.Web.HttpContext.Current.Session["caller"] as Caller).user_username, font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠別代號:", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("gigade(讀取)", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("廠商代號:" + ipoStore[a].vend_id, font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(vendor == null ? "暫無此信息" : vendor.vendor_name_simple, font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("付款條件(讀取)", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("月結N天(讀取):", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(vendor == null ? "廠商全名(讀取):暫無此信息" : "廠商全名:" + vendor.vendor_name_full, font)); cell.Colspan = 5; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("備註:", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(vendor == null ? "廠商地址:暫無此信息" : "廠商地址:" + vendor.company_address, font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("聯絡人(讀取):", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(vendor == null ? "廠商電話:暫無此信息" : "廠商電話:" + vendor.company_phone, font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(vendor == null ? "廠商傳真:暫無此信息" : "廠商傳真:" + vendor.company_fax, font)); cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("送貨地址(讀取):", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase(" ", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("預計送貨日期(讀取):", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("配送聯絡人(讀取):", font)); cell.Colspan = 2; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("配送電話(讀取):", font)); cell.Colspan = 1; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); cell.DisableBorderSide(8); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("配送傳真(讀取):", font)); cell.Colspan = 4; cell.DisableBorderSide(1); cell.DisableBorderSide(2); cell.DisableBorderSide(4); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("處理備註:", font)); cell.Colspan = 7; cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("運送備註:", font)); cell.Colspan = 7; cell.DisableBorderSide(1); ptable.AddCell(cell); #endregion #region 下面表格頭部 cell = new PdfPCell(new Phrase("序號", font)); cell.VerticalAlignment = Element.ALIGN_MIDDLE; //cell.DisableBorderSide(2); cell.Rowspan = 3; ptable.AddCell(cell); cell = new PdfPCell(new Phrase("國際條碼", font)); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("品號", font)); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("採購數量", font)); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("允收天數", font)); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("製造日期", font)); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("備註", font)); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("供應商店內碼", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("品名", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("允收數量", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("允出天數", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("有效日期", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("料位", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("規格", font)); cell.DisableBorderSide(1); cell.DisableBorderSide(2); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("不允收數量", font)); cell.DisableBorderSide(1); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("有效期天數", font)); cell.DisableBorderSide(1); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", font)); cell.DisableBorderSide(1); ptable.AddCell(cell); cell = new PdfPCell(new Phrase("", font)); cell.DisableBorderSide(1); ptable.AddCell(cell); #endregion _ipodMgr = new IpodMgr(mySqlConnectionString); ipod = new IpodQuery(); ipod.po_id = ipoStore[a].po_id; ipod.IsPage = false; ipodStore = new List<IpodQuery>(); ipodStore = _ipodMgr.GetIpodList(ipod, out totalCount); List<IpodQuery> Ipodleibie = new List<IpodQuery>(); Ipodleibie.AddRange(product_freight_set_mapping[key]); #region 循環讀取數據填入表格 DataTable Ipod_dt = new DataTable(); Ipod_dt.Columns.Add("序號", typeof(string)); Ipod_dt.Columns.Add("國際條碼", typeof(string)); Ipod_dt.Columns.Add("品號", typeof(string)); Ipod_dt.Columns.Add("採購數量", typeof(string)); Ipod_dt.Columns.Add("允收天數", typeof(string)); Ipod_dt.Columns.Add("製造日期", typeof(string)); Ipod_dt.Columns.Add("備註", typeof(string)); Ipod_dt.Columns.Add("Empty_1", typeof(string)); Ipod_dt.Columns.Add("供應商店內碼", typeof(string)); Ipod_dt.Columns.Add("品名", typeof(string)); Ipod_dt.Columns.Add("允收數量", typeof(string)); Ipod_dt.Columns.Add("允出天數", typeof(string)); Ipod_dt.Columns.Add("有效日期", typeof(string)); Ipod_dt.Columns.Add("Empty_3", typeof(string)); Ipod_dt.Columns.Add("Empty_4", typeof(string)); Ipod_dt.Columns.Add("料位", typeof(string)); Ipod_dt.Columns.Add("規格", typeof(string)); Ipod_dt.Columns.Add("不允收數量", typeof(string)); Ipod_dt.Columns.Add("有效期天數", typeof(string)); Ipod_dt.Columns.Add("Empty_5", typeof(string)); Ipod_dt.Columns.Add("Empty_6", typeof(string)); for (int i = 0; i < Ipodleibie.Count; i++) { DataRow newRow = Ipod_dt.NewRow(); newRow["國際條碼"] = Ipodleibie[i].upc_id_international; newRow["品號"] = Ipodleibie[i].Erp_Id.ToString(); newRow["採購數量"] = Ipodleibie[i].qty_ord.ToString(); newRow["允收天數"] = Ipodleibie[i].cde_dt_var.ToString(); newRow["製造日期"] = ""; newRow["備註"] = ""; newRow["Empty_1"] = (i + 1).ToString(); //序號 newRow["供應商店內碼"] = Ipodleibie[i].upc_id_shop; newRow["品名"] = Ipodleibie[i].product_name; newRow["允收數量"] = Ipodleibie[i].qty_claimed.ToString(); newRow["允出天數"] = Ipodleibie[i].cde_dt_shp.ToString(); newRow["有效日期"] = ""; newRow["Empty_3"] = ""; newRow["Empty_4"] = ""; newRow["料位"] = Ipodleibie[i].loc_id; newRow["規格"] = Ipodleibie[i].spec; newRow["不允收數量"] = Ipodleibie[i].qty_damaged.ToString(); newRow["有效期天數"] = Ipodleibie[i].cde_dt_incr.ToString(); newRow["Empty_5"] = ""; newRow["Empty_6"] = ""; Ipod_dt.Rows.Add(newRow); } #endregion //////// newFileName = newPDFName + "_part" + index++ + "." + "pdf"; pdf.ExportDataTableToPDF(Ipod_dt, false, newFileName, arrColWidth, ptable, "", "", 7, 7);/*第一7是列,第二個是行*/ pdfList.Add(newFileName); } } newFileName = newPDFName + "." + "pdf"; pdf.MergePDF(pdfList, newFileName); Response.Clear(); Response.Charset = "gb2312"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.AddHeader("Content-Disposition", "attach-ment;filename=" + filename + ".pdf"); Response.WriteFile(newFileName); //} #endregion } catch (Exception ex) { //cb.EndText(); //writer.Resume(); //Response.Clear(); } }
/// <summary> /// 出貨管理:檢索>傳票明細 /// </summary> /// <returns></returns> public HttpResponseBase SubPoenaDetailList() { int ticket_id = Convert.ToInt32(Request.Params["ticket_id"]); string jsonStr = String.Empty; List<OrderDetailQuery> store = new List<OrderDetailQuery>(); OrderDetailQuery query = new OrderDetailQuery(); List<OrderDetailQuery> na = new List<OrderDetailQuery>(); try { query.Ticket_Id = ticket_id; _IOrderDetailMgr = new OrderDetailMgr(mySqlConnectionString); int totalCount = 0; store = _IOrderDetailMgr.SubPoenaDetail(query); #region MyRegion // List<OrderDetailQuery> one_product = new List<OrderDetailQuery>(); //單一商品 // List<OrderDetailQuery> combination = new List<OrderDetailQuery>(); //組合商品 // List<OrderDetailQuery> combination_head = new List<OrderDetailQuery>(); //組合品名 // List<OrderDetailQuery> combination_tail = new List<OrderDetailQuery>(); //子商品名 // List<OrderDetailQuery> new_order_detail = new List<OrderDetailQuery>(); ; //新商品資料 // List<OrderDetailQuery> since_order = new List<OrderDetailQuery>(); //自出商品 // Dictionary<int, string> freight_set_map = new Dictionary<int, string>(); // freight_set_map.Add(1, "常溫"); // freight_set_map.Add(2, "冷凍"); // freight_set_map.Add(5, "冷藏"); // Dictionary<int, string> product_freight_set_mapping = new Dictionary<int, string>(); // product_freight_set_mapping.Add(1, "1"); // product_freight_set_mapping.Add(2, "2"); // product_freight_set_mapping.Add(3, "1"); // product_freight_set_mapping.Add(4, "2"); // product_freight_set_mapping.Add(5, "5"); // product_freight_set_mapping.Add(6, "5"); // foreach (var item in store) // { // if (item.Combined_Mode > 1) // { // if (item.item_mode == 1) // combination_head.Add(item); // else // combination_tail.Add(item); // } // else // { // uint freight = item.Product_Freight_Set; // item.Product_Freight_Set =uint.Parse(product_freight_set_mapping[int.Parse(item.Product_Freight_Set.ToString())]); // one_product.Add(item); // item.Product_Freight_Set = freight; // } // } // foreach (var item in combination_head) // { // uint freight = item.Product_Freight_Set; // item.Product_Freight_Set = uint.Parse(product_freight_set_mapping[int.Parse(item.Product_Freight_Set.ToString())]); // combination.Add(item); // item.Product_Freight_Set = freight; // foreach (var items in combination_tail) // { // if (item.Parent_Id == items.Parent_Id && item.pack_id == items.pack_id) // { // items.Buy_Num = items.Buy_Num * items.parent_num; // combination.Add(items); // } // } // } #endregion //(合併數據來自www/Model/Deliver.Php,第1391~1463行) #region 測試方法 List<Parametersrc> Shipment = new List<Parametersrc>(); _ptersrc = new ParameterMgr(mySqlConnectionString); Shipment = _ptersrc.GetAllKindType("order_status");//訂單狀態 Dictionary<string, string> _dtOrderStatus = new Dictionary<string, string>(); foreach (var item in Shipment) { _dtOrderStatus.Add(item.ParameterCode, item.remark); } Dictionary<int, string> freight_set_map = new Dictionary<int, string>(); freight_set_map.Add(1, "常溫"); freight_set_map.Add(2, "冷凍"); freight_set_map.Add(5, "冷藏"); Dictionary<int, string> product_freight_set_mapping = new Dictionary<int, string>(); product_freight_set_mapping.Add(1, "1"); product_freight_set_mapping.Add(2, "2"); product_freight_set_mapping.Add(3, "1"); product_freight_set_mapping.Add(4, "2"); product_freight_set_mapping.Add(5, "5"); product_freight_set_mapping.Add(6, "5"); Dictionary<string, List<OrderDetailQuery>> one_product = new Dictionary<string, List<OrderDetailQuery>>(); //單一商品 Dictionary<string, List<OrderDetailQuery>> combination = new Dictionary<string, List<OrderDetailQuery>>(); //組合商品 List<OrderDetailQuery> combination_head = new List<OrderDetailQuery>(); //組合品名 List<OrderDetailQuery> combination_tail = new List<OrderDetailQuery>(); //子商品名 List<OrderDetailQuery> new_order_detail = new List<OrderDetailQuery>(); ; //新商品資料 List<OrderDetailQuery> since_order = new List<OrderDetailQuery>(); //自出商品 since_order.AddRange(new_order_detail); int w = since_order.Count; string frest; #region 把所有的商品,把單一和組合拆分開 //把所有的商品,把單一和組合區分開,然後把組合的商品運送方式區分開(常溫冷凍冷藏) foreach (var item in store) { if (item.Combined_Mode > 1) { if (item.item_mode == 1) combination_head.Add(item); else combination_tail.Add(item); } else { frest = ""; frest = product_freight_set_mapping[int.Parse(item.Product_Freight_Set.ToString())]; if (!one_product.Keys.Contains(frest)) { List<OrderDetailQuery> s = new List<OrderDetailQuery>(); one_product.Add(frest, s); } one_product[frest].Add(item); //one_product.Add(frest, item); } } #endregion #region 把組合商品中拆分開子商品和父商品 //把組合商品拆分開,并計算子商品的數量,把子商品按照運送方式再次拆開 foreach (var item in combination_head) { frest = ""; frest = product_freight_set_mapping[int.Parse(item.Product_Freight_Set.ToString())]; if (!combination.Keys.Contains(frest)) { List<OrderDetailQuery> s = new List<OrderDetailQuery>(); combination.Add(frest, s); } //combination.Add(frest, item); combination[frest].Add(item); foreach (var items in combination_tail) { if (item.Parent_Id == items.Parent_Id && item.pack_id == items.pack_id) { items.Buy_Num = items.Buy_Num * items.parent_num; //combination.Add(frest, item); combination[frest].Add(items); } } } #endregion #region 把單一商品,組合商品,子商品 根據運送方式在此組合在一起 foreach (var item in freight_set_map) { ////List<OrderDetailQuery> s = new List<OrderDetailQuery>(); ////if (combination.ContainsKey(item.Key.ToString())) ////{ //// s.AddRange(combination[item.Key.ToString()]); ////} ////if (s.Count > 0) ////{ //// new_order_detail.AddRange(combination[item.Key.ToString()]); ////} ////else ////{ //// if (one_product.ContainsKey(item.Key.ToString())) //// { //// new_order_detail.AddRange(one_product[item.Key.ToString()]); //// } ////} if (one_product.ContainsKey(item.Key.ToString())) { new_order_detail.AddRange(one_product[item.Key.ToString()]); } if (combination.ContainsKey(item.Key.ToString())) { //new_order_detail.Add(combination[item.Key.ToString()]); new_order_detail.AddRange(combination[item.Key.ToString()]); } ///-------------------------------------------------- //string a = item.Key.ToString(); //if (combination[item.Key.ToString()].Count > 0) //{ // new_order_detail.AddRange(combination[item.Key.ToString()]); //} //else if (one_product[item.Key.ToString()].Count > 0) //{ // //new_order_detail.Add(combination[item.Key.ToString()]); // new_order_detail.AddRange(one_product[item.Key.ToString()]); //} } #endregion #region 這個根據什麼條件篩選出來 for (int i = 0; i < new_order_detail.Count; i++) { new_order_detail[i].Product_Freight_Set_Str = _dtOrderStatus[(new_order_detail[i].Detail_Status).ToString()]; if (new_order_detail[i].Combined_Mode >= 1 && new_order_detail[i].item_mode == 1) { continue; } else { na.Add(new_order_detail[i]); } } #endregion #endregion IsoDateTimeConverter timeConverter = new IsoDateTimeConverter(); //这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式 timeConverter.DateTimeFormat = "yyyy-MM-dd"; jsonStr = "{success:true,totalCount:" + totalCount + ",data:" + JsonConvert.SerializeObject(na, Formatting.Indented, timeConverter) + "}";//返回json數據 } catch (Exception ex) { Log4NetCustom.LogMessage logMessage = new Log4NetCustom.LogMessage(); logMessage.Content = string.Format("TargetSite:{0},Source:{1},Message:{2}", ex.TargetSite.Name, ex.Source, ex.Message); logMessage.MethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; log.Error(logMessage); jsonStr = "{success:false,msg:0}"; } this.Response.Clear(); this.Response.Write(jsonStr.ToString()); this.Response.End(); return this.Response; }
private List<PDFField> ListDynamicXFAFields(System.Xml.XmlNode n) { List<PDFField> pdfFields = new List<PDFField>(); foreach (System.Xml.XmlNode child in n.ChildNodes) // > 0 Childs == Group pdfFields.AddRange(ListDynamicXFAFields(child)); // Search field if (n.ChildNodes.Count == 0) // 0 Childs == Field { var acroFields = pdfReader.AcroFields; var pdfField = new PDFField(); // If a value is set the value of n.Name would be "#text" if ((n.Name.ToCharArray(0, 1))[0] != '#') { pdfField.Name = acroFields.GetTranslatedFieldName(n.Name); } else { pdfField.Name = acroFields.GetTranslatedFieldName(n.ParentNode.Name); } pdfField.CurrentValue = n.Value; pdfField.Typ = ""; pdfFields.Add(pdfField); return pdfFields; } return pdfFields; }
public List<ChapterInfo> GetAllChapter(DownloadStatus status) { List<ChapterInfo> chaps = new List<ChapterInfo>(); foreach (var item in DownloadItems) { var ranges = item.SelectedChapters.Where(p => p.Status == status).ToList(); chaps.AddRange(ranges); } return chaps; }
private ChapterInfo GetNextChapter() { var waitingList = new List<ChapterInfo>(); foreach (var item in DownloadItems) { var chapters = item.SelectedChapters.Where(p=>p.Status == DownloadStatus.Waiting); waitingList.AddRange(chapters); } var groups = waitingList.GroupBy(p => p.Priority).Select(p => p); foreach (var group in groups.OrderByDescending(p=>p.Key)) { return group.OrderByDescending(p => p.Sequence).FirstOrDefault(); break; } return null; }
private IList<Bookmark> ExportBookmarks(PdfReader reader, int pageShift) { IList<Dictionary<string, object>> bookmarks = SimpleBookmark.GetBookmark(reader); SimpleBookmark.ShiftPageNumbers(bookmarks, pageShift, null); var bookmarkItems = new List<Bookmark>(); if (bookmarks != null) { bookmarkItems.AddRange(bookmarks.Select(bookmark => new Bookmark((string) bookmark["Title"], ParseBookmarkPageNumber((string) bookmark["Page"])))); } return bookmarkItems; }
// GET: Proyectos public ActionResult Proyectos(int? areaId, int? tipoId) { ApplicationUser usuario = (ApplicationUser)db.Users.FirstOrDefault(item => item.UserName == User.Identity.Name); int periodId = (int)Session["SelectedPeriod"]; Periodo period = db.Periodos.Find(periodId); Area area; TipoProyecto tipo; if (areaId == null) { if (usuario.TienePermiso(26) && usuario.TieneNivel(2)) { area = db.Areas.Where(item => item.Nivel.ID == 3 && item.AreaPadre.ID == usuario.UsuarioArea.ID).First(); } if (usuario.TienePermiso(1) || (usuario.TienePermiso(26) && (usuario.TieneNivel(1)))) // Administrador y Presidente { area = db.Areas.Where(item => item.Nivel.ID == 3).First(); } else if (usuario.TieneNivel(3) && usuario.TienePermiso(6)) { area = usuario.UsuarioArea; } else { area = usuario.UsuarioArea; } areaId = area.ID; } else { area = db.Areas.Where(item => item.Nivel.ID == 3).FirstOrDefault(item => item.ID == areaId); } if (tipoId == null) { tipo = db.TipoProyecto.FirstOrDefault(); tipoId = tipo.ID; } else { tipo = db.TipoProyecto.Find(tipoId); } ViewBag.CurrentTipo = tipo; ViewBag.CurrentArea = area; if (usuario.TienePermiso(26) && usuario.TieneNivel(2)) { List<Area> Areas = new List<Area>(); List<int> areasId = new List<int>(); Areas = db.Areas.Where(item => item.Nivel.ID == 3 && item.AreaPadre.ID == usuario.UsuarioArea.ID).ToList(); areasId = (from a in Areas select a.ID).ToList(); Areas.AddRange(db.Areas.Where(item => item.Nivel.ID == 3 && areasId.Any(p => item.AreaPadre.ID == p)).ToList()); areasId = (from a in Areas select a.ID).ToList(); Areas.AddRange(db.Areas.Where(item => item.Nivel.ID == 3 && areasId.Any(p => item.AreaPadre.ID == p)).ToList()); ViewBag.Areas = Areas.Distinct().OrderBy(item => item.ID); } if (usuario.TienePermiso(1) || (usuario.TienePermiso(26) && (usuario.TieneNivel(1)))) // Administrador y Presidente { ViewBag.Areas = db.Areas.Where(item => item.Nivel.ID == 3).ToList(); } if (usuario.TienePermiso(6) && usuario.TieneNivel(3)) { List<Area> Areas = new List<Area>(); Areas.Add(usuario.UsuarioArea); Areas.AddRange(usuario.UsuarioArea.AreasHijas.ToList()); ViewBag.Areas = Areas.OrderBy(item => item.AreaPadre.ID); } ViewBag.Tipos = db.TipoProyecto.ToList(); ViewBag.usuario = usuario; ViewBag.PeriodoSeleccionado = period; return View(db.Proyectos.Where(item => item.Tipo.ID == tipoId && item.Area.ID == areaId && item.Periodos.Any(p => p.ID == periodId)).ToList()); }
/* (non-Javadoc) * @see com.itextpdf.tool.xml.ITagProcessor#endElement(com.itextpdf.tool.xml.Tag, java.util.List, com.itextpdf.text.Document) */ public override IList<IElement> End(IWorkerContext ctx, Tag tag, IList<IElement> currentContent) { List<IElement> l = new List<IElement>(1); if (currentContent.Count > 0) { IList<IElement> currentContentToParagraph = CurrentContentToParagraph(currentContent, true, true, tag, ctx); foreach (IElement p in currentContentToParagraph) { ((Paragraph) p).Role = (getHeaderRole(GetLevel(tag))); } ParentTreeUtil pt = new ParentTreeUtil(); try { HtmlPipelineContext context = GetHtmlPipelineContext(ctx); bool oldBookmark = context.AutoBookmark(); if (pt.GetParentTree(tag).Contains(HTML.Tag.TD)) context.AutoBookmark(false); if (context.AutoBookmark()) { Paragraph title = new Paragraph(); foreach (IElement w in currentContentToParagraph) { title.Add(w); } l.Add(new WriteH(context, tag, this, title)); } context.AutoBookmark(oldBookmark); } catch (NoCustomContextException e) { if (LOGGER.IsLogging(Level.ERROR)) { LOGGER.Error(LocaleMessages.GetInstance().GetMessage(LocaleMessages.HEADER_BM_DISABLED), e); } } l.AddRange(currentContentToParagraph); } return l; }
List<BookMark> ParseBookMarks(IList<Dictionary<string, object>> bookmarks) { int page; var result = new List<BookMark>(); foreach (var bookmark in bookmarks) { // add top-level bookmarks var stringPage = bookmark["Page"].ToString(); if (Int32.TryParse(stringPage.Split()[0], out page)) { result.Add(new BookMark() { Title = bookmark["Title"].ToString(), PageNumberString = stringPage, PageNumberInteger = page }); } // recurse if (bookmark.ContainsKey("Kids")) { var kids = bookmark["Kids"] as IList<Dictionary<string, object>>; if (kids != null && kids.Count > 0) { result.AddRange(ParseBookMarks(kids)); } } } return result; }
/** * Calculates any found font size to pt values and set it in the CSS before * calling {@link AbstractTagProcessor#start(Tag)}.<br /> * Checks for * {@link com.itextpdf.tool.xml.css.CSS.Property#PAGE_BREAK_BEFORE}, if the * value is always a <code>Chunk.NEXTPAGE</code> added before the * implementors {@link AbstractTagProcessor#start(Tag)} method. * */ public IList<IElement> StartElement(IWorkerContext ctx, Tag tag) { float fontSize = fontsizeTrans.TranslateFontSize(tag); if (fontSize != Font.UNDEFINED) { tag.CSS[CSS.Property.FONT_SIZE] = fontSize.ToString(CultureInfo.InvariantCulture) + "pt"; } String pagebreak; tag.CSS.TryGetValue(CSS.Property.PAGE_BREAK_BEFORE, out pagebreak); if (null != pagebreak && Util.EqualsIgnoreCase(CSS.Value.ALWAYS, pagebreak)) { List<IElement> list = new List<IElement>(2); list.Add(Chunk.NEXTPAGE); list.AddRange(Start(ctx, tag)); return list; } return Start(ctx, tag); }
private void LoadFieldNames() { Fields = new List<FormItem>(); using(PdfReader reader = new PdfReader(_fileName)) { Fields.AddRange( reader.AcroForm.Fields.Select( field => { FormItem item = new FormItem(); item.Name = field.Name; item.IsCheckBox = reader.AcroFields.GetFieldType(field.Name) == AcroFields.FIELD_TYPE_CHECKBOX; if(item.IsCheckBox) { var apperanceStates = reader.AcroFields.GetAppearanceStates(item.Name); item.YesChechboxValue = apperanceStates[0]; } return item; }) ); } }
public void FillViewBagProyecto(Proyecto proyecto, int? areaId, int? tipoId) { ApplicationUser usuario = (ApplicationUser)db.Users.FirstOrDefault(item => item.UserName == User.Identity.Name); int periodId = (int)Session["SelectedPeriod"]; Periodo period = db.Periodos.Find(periodId); JavaScriptSerializer serializer = new JavaScriptSerializer(); TipoProyecto tipo; ViewBag.usuario = usuario; ViewBag.PeriodoSeleccionado = period; ViewBag.TipoProyecto = db.TipoProyecto.ToList(); ViewBag.Fases = db.FasesProyecto.ToList(); ViewBag.areaId = areaId; // Areas if (areaId != null) { ViewBag.Areas = db.Areas.Where(item => item.ID == areaId).ToList(); } else if (usuario.TienePermiso(1)) // Administrador { ViewBag.Areas = db.Areas.Where(item => item.Nivel.ID == 3).OrderBy(item => item.AreaPadre.ID).ToList(); } else if (usuario.TienePermiso(6) && usuario.TieneNivel(3)) // Lider Unidad Operativa y Nivel Unidad Operativa { List<Area> Areas = new List<Area>(); Areas.Add(usuario.UsuarioArea); Areas.AddRange(usuario.UsuarioArea.AreasHijas.ToList()); ViewBag.Areas = Areas.OrderBy(item => item.AreaPadre.ID); } else { List<Area> Areas = new List<Area>(); Areas.Add(usuario.UsuarioArea); ViewBag.Areas = Areas; } // Tipos if (tipoId == null) { tipo = db.TipoProyecto.FirstOrDefault(); tipoId = tipo.ID; } else { tipo = db.TipoProyecto.Find(tipoId); } ViewBag.CurrentTipo = tipo; // Proyecto List<ResumenEjecutivo> resumen = new List<ResumenEjecutivo>(); for (var i = 1; i <= 12; i++) { resumen.Add(new ResumenEjecutivo() { Mes = i, Resumen = "", Cerrado = DateTime.Now.Month == i ? false : true }); } var resumen_json = from a in resumen select new { id = a.ID, mesId = a.Mes, mes = getMonthName(a.Mes), resumen = a.Resumen, mesCerrado = a.Cerrado, mesActual = DateTime.Now.Month }; ViewBag.Equipo = serializer.Serialize(new object[] { }); ViewBag.Hitos = serializer.Serialize(new object[] { }); ViewBag.Presupuesto = serializer.Serialize(new object[] { }); ViewBag.Resumen = serializer.Serialize(resumen_json); if (proyecto != null) { if (proyecto.Equipo != null) { var json_equipo = from a in proyecto.Equipo select new { id = a.ID, nombre = a.Nombre, rol = a.Rol, Eliminar = "<a href=\"javascript: $.noop();\" style=\"color:red\" class=\"fa fa-minus\"></a>" }; ViewBag.Equipo = serializer.Serialize(json_equipo); } if (proyecto.Hitos != null) { var json_hitos = from a in proyecto.Hitos select new { id = a.ID, nombre = a.Nombre, faseId = a.Fase.ID.ToString(), fase = a.Fase.Nombre, fechacompromiso = a.FechaCompromiso.ToString("dd/MM/yyyy"), fechareal = a.FechaReal != null ? ((DateTime)a.FechaReal).ToString("dd/MM/yyyy") : "", ponderacion = a.Ponderacion, acumulado = a.Acumulado, status = "", Editar = "<a href=\"javascript: $.noop();\" style=\"color:green\" class=\"fa fa-edit\" data-toggle=\"modal\" data-target=\"#EditarHito\"></a>", Eliminar = "<a href=\"javascript: $.noop();\" style=\"color:red\" class=\"fa fa-minus\"></a>" }; ViewBag.Hitos = serializer.Serialize(json_hitos); } if (proyecto.Presupuesto != null) { var json_prespuesto = from a in proyecto.Presupuesto select new { id = a.ID, mesId = a.Mes, mes = getMonthName(a.Mes), planeado = a.Planeado, asignado = a.Asignado, ejercido = a.Ejercido, Editar = "<a href=\"javascript: $.noop();\" style=\"color:green\" class=\"fa fa-edit\" data-toggle=\"modal\" data-target=\"#EditarPresupuesto\"></a>", Eliminar = "<a href=\"javascript: $.noop();\" style=\"color:red\" class=\"fa fa-minus\"></a>", presupuestoAsignadoCerrado = a.PresupuestoAsignadoCerrado, presupuestoEjercidoCerrado = a.PresupuestoEjercidoCerrado }; ViewBag.Presupuesto = serializer.Serialize(json_prespuesto); } if (proyecto.ResumenEjecutivo != null) { var json_resumen = from a in proyecto.ResumenEjecutivo select new { id = a.ID, mesId = a.Mes, mes = getMonthName(a.Mes), resumen = a.Resumen, mesCerrado = a.Cerrado, mesActual = DateTime.Now.Month }; ViewBag.Resumen = serializer.Serialize(json_resumen); } } }
void Dn_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { domain_finalwords = new List<UniqueWords>(); foreach (string w in _wordsfromtxtfile) { domain_finalwords.AddRange((uniqueWordList.FindAll(x => x.Term == w))); } myProgressBarDomain.Visible = false; //setting progressbar invisible FileDialog fd = new SaveFileDialog(); fd.Title = "Save your index"; fd.Filter = "HTML(*.html)|*.html"; if (fd.ShowDialog() == DialogResult.OK) { fn = fd.FileName; var bg = new BackgroundWorker(); bg.DoWork += bg_DoWork; bg.RunWorkerCompleted += bg_RunWorkerCompleted; bg.RunWorkerAsync(); } }
// GET: Tablero public ActionResult Tablero(string lvl, int? areaId) { ApplicationUser usuario = (ApplicationUser)db.Users.FirstOrDefault(item => item.UserName == User.Identity.Name); int periodId = (int)Session["SelectedPeriod"]; Periodo period = db.Periodos.Find(periodId); int nivel; Area area; if (lvl == null) { nivel = usuario.UsuarioArea.Nivel.ID; } else { nivel = int.Parse(lvl); } // Area if (areaId == null) { if (usuario.TienePermiso(1)) // Administrador { area = db.Areas.First(); } else { area = usuario.UsuarioArea; } areaId = area.ID; } else { area = db.Areas.FirstOrDefault(item => item.ID == areaId); } ViewBag.CurrentArea = area; // Areas if (usuario.TieneNivel(1) || usuario.TienePermiso(1)) { ViewBag.Areas = db.Areas.Where(item => item.Nivel.ID == nivel).ToList(); } else if (usuario.TieneNivel(2)) { if (nivel == 2) { ViewBag.Areas = db.Areas.Where(item => item.ID == usuario.UsuarioArea.ID).ToList(); } else if (nivel == 3) { List<Area> Areas = new List<Area>(); List<int> areasId = new List<int>(); Areas = db.Areas.Where(item => item.Nivel.ID == nivel && item.AreaPadre.ID == usuario.UsuarioArea.ID).ToList(); areasId = (from a in Areas select a.ID).ToList(); Areas.AddRange(db.Areas.Where(item => item.Nivel.ID == nivel && areasId.Any(p => item.AreaPadre.ID == p)).ToList()); areasId = (from a in Areas select a.ID).ToList(); Areas.AddRange(db.Areas.Where(item => item.Nivel.ID == nivel && areasId.Any(p => item.AreaPadre.ID == p)).ToList()); ViewBag.Areas = Areas.Distinct().OrderBy(item => item.ID); } } else if (usuario.TienePermiso(6)) { List<Area> Areas = new List<Area>(); Areas.Add(usuario.UsuarioArea); Areas.AddRange(usuario.UsuarioArea.AreasHijas.ToList()); ViewBag.Areas = Areas.OrderBy(item => item.AreaPadre.ID); } lvl = nivel.ToString(); ViewBag.usuario = usuario; ViewBag.Nivel = lvl; ViewBag.PeriodoSeleccionado = period; /* int _nivel = 3; if (usuario.TieneNivel(1)) { _nivel = 1; } if (usuario.TieneNivel(2)) { _nivel = 2; } if (usuario.TieneNivel(3)) { _nivel = 3; }*/ List<NivelOrganizacional> Niveles = new List<NivelOrganizacional>(); NivelOrganizacional Nivel_01 = db.NivelesOrganizacionales.Find(1); Niveles.Add(Nivel_01); NivelOrganizacional Nivel_02 = db.NivelesOrganizacionales.Find(2); Niveles.Add(Nivel_02); NivelOrganizacional Nivel_03 = db.NivelesOrganizacionales.Find(3); Niveles.Add(Nivel_03); ViewBag.Niveles = Niveles; //if (usuario.TieneNivel(1) || usuario.TienePermiso(1)) //{ // return View(db.Indicadores.Where(item => item.Tipo.Nivel.ID == nivel && item.Periodos.Any(p => p.ID == periodId)).ToList()); //} //if ((usuario.TieneNivel(2) && nivel == 2) || (usuario.TieneNivel(3) && nivel == 3)) //{ // return View(db.Indicadores.Where(item => item.Tipo.Nivel.ID == nivel && item.Area.ID == usuario.UsuarioArea.ID && item.Periodos.Any(p => p.ID == periodId)).ToList()); //} //if ((usuario.TieneNivel(3) && usuario.TienePermiso(8) && nivel == 2) || (usuario.TieneNivel(2) && usuario.TienePermiso(5) && nivel == 1)) //{ // return View(db.Indicadores.Where(item => item.Tipo.Nivel.ID == nivel && item.Area.ID == usuario.UsuarioArea.AreaPadre.ID && item.Periodos.Any(p => p.ID == periodId)).ToList()); //} return View(db.Indicadores.Where(item => item.Area.ID == areaId && item.Periodos.Any(p => p.ID == periodId)).ToList()); }
/* (non-Javadoc) * @see com.itextpdf.tool.xml.ITagProcessor#endElement(com.itextpdf.tool.xml.Tag, java.util.List, com.itextpdf.text.Document) */ public override IList<IElement> End(IWorkerContext ctx, Tag tag, IList<IElement> currentContent) { List<IElement> l = new List<IElement>(1); if (currentContent.Count > 0) { IList<IElement> currentContentToParagraph = CurrentContentToParagraph(currentContent, true, true, tag, ctx); HtmlPipelineContext context; try { context = GetHtmlPipelineContext(ctx); if (context.AutoBookmark()) { Paragraph title = new Paragraph(); foreach (IElement w in currentContentToParagraph) { title.Add(w); } l.Add(new WriteH(context, tag, this, title)); } } catch (NoCustomContextException e) { if (LOGGER.IsLogging(Level.ERROR)) { LOGGER.Error(LocaleMessages.GetInstance().GetMessage(LocaleMessages.HEADER_BM_DISABLED), e); } } l.AddRange(currentContentToParagraph); } return l; }
public ActionResult EditInventoryTD2(Int16 fiscalYear, Int16? analystID, Int16? coeID) { var allMaps = new List<Indicator_CoE_Maps>(); if (analystID.HasValue) { allMaps = db.Indicator_CoE_Maps.Where(x => x.Indicator.Analyst_ID == analystID).ToList(); } else { allMaps = db.Indicator_CoE_Maps.ToList(); } var allCoEs = new List<CoEs>(); if (coeID.HasValue) { allCoEs = db.CoEs.Where(x => x.CoE_ID == coeID).ToList(); allMaps = allMaps.Where(x => x.CoE.CoE_ID == coeID || x.CoE_ID == 0).ToList(); } else { allCoEs = db.CoEs.Where(x => x.CoE_ID != 0).ToList(); } allMaps.AddRange(db.Indicator_CoE_Maps.Where(x => x.Indicator.Indicator_N_Value == true).ToList()); ModelState.Clear(); var viewModel = new PRViewModel { //allCoEs = db.CoEs.ToList(), allAnalysts = db.Analysts.ToList(), allCoEs = allCoEs, allMaps = allMaps, allFootnoteMaps = db.Indicator_Footnote_Maps.ToList(), allFootnotes = db.Footnotes.ToList(), allAreas = db.Areas.ToList(), Fiscal_Year = fiscalYear, Analyst_ID = analystID, allColors = db.Color_Types.ToList(), allDirections = db.Color_Directions.ToList(), allThresholds = db.Color_Thresholds.ToList(), allFormats = db.Formats.ToList() }; return View(viewModel); }
public ResultadoTransaccion EnviarMailPaperlessUsuario2TerminaProceso(ProyectoCraft.Entidades.Paperless.PaperlessAsignacion asignacion, ProyectoCraft.Entidades.Paperless.PaperlessUsuario1HouseBLInfo info) { string EmailAviso = System.Configuration.ConfigurationSettings.AppSettings.Get("EmailPaperlessConfirmacionTerminoProceso"); string EmailBody = ""; ResultadoTransaccion res = new ResultadoTransaccion(); try { //Determinacion de Usuarios recpetores del mail de aviso List<ProyectoCraft.Entidades.Usuarios.clsUsuario> usuarios = new List<clsUsuario>(); //IList<clsUsuario> supdocumental; res = ProyectoCraft.LogicaNegocios.Usuarios.clsUsuarios.ListarUsuarios(Enums.Estado.Habilitado, Enums.CargosUsuarios. SupervisorDocumental); if (res.Estado == Enums.EstadoTransaccion.Aceptada) usuarios.AddRange((IList<clsUsuario>)res.ObjetoTransaccion); res = ProyectoCraft.LogicaNegocios.Usuarios.clsUsuarios.ListarUsuarios(Enums.Estado.Habilitado, Enums.CargosUsuarios. SupervisorDeProcesos); if (res.Estado == Enums.EstadoTransaccion.Aceptada) usuarios.AddRange((IList<clsUsuario>)res.ObjetoTransaccion); //Usuario conectado y que envia el email usuarios.Add(ProyectoCraft.Base.Usuario.UsuarioConectado.Usuario); //res = LogicaNegocios.Usuarios.clsUsuarios.ListarUsuarios(Enums.Estado.Habilitado, Enums.CargosUsuarios.e); foreach (var usuarioaviso in usuarios) { StringBuilder sb = new StringBuilder(EmailAviso); sb.Replace("[USUARIOAVISO]", usuarioaviso.NombreCompleto); sb.Replace("[NUMCONSOLIDADO]", info.NumConsolidado); sb.Replace("[FECHAASIGNACION]", asignacion.FechaCreacion.ToShortDateString()); sb.Replace("[NUMMASTER]", asignacion.NumMaster); sb.Replace("[FECHAMASTER]", asignacion.FechaMaster.ToString( System.Configuration.ConfigurationSettings.AppSettings.Get( "FechaMasterPaperlessFormato"))); //sb.Replace("[FECHAMASTER]", asignacion.FechaMaster.ToShortDateString()); sb.Replace("[AGENTE]", asignacion.Agente.Nombre); sb.Replace("[NAVIERA]", asignacion.Naviera.Nombre); sb.Replace("[NAVE]", asignacion.Nave.Nombre); sb.Replace("[VIAJE]", asignacion.Viaje); sb.Replace("[NHOUSESBL]", asignacion.NumHousesBL.ToString()); sb.Replace("[TIPOCARGA]", asignacion.TipoCarga.Nombre); if (asignacion.FechaETA != null) sb.Replace("[FECHAETA]", asignacion.FechaETA.Value.ToString( System.Configuration.ConfigurationSettings.AppSettings.Get( "FechaFormatoEtaPaperless"))); //asignacion.FechaETA.Value.ToShortDateString()); if (asignacion.AperturaNavieras.HasValue) sb.Replace("[APERTUANAVIERAS]", asignacion.AperturaNavieras.Value.ToShortDateString()); else sb.Replace("[APERTUANAVIERAS]", ""); if (asignacion.PlazoEmbarcadores != null) sb.Replace("[PLAZOEMBARCADORES]", asignacion.PlazoEmbarcadores.Value.ToShortDateString()); else sb.Replace("[PLAZOEMBARCADORES]", ""); sb.Replace("[USUARIO1]", asignacion.Usuario1.NombreCompleto); sb.Replace("[USUARIO2]", asignacion.Usuario2.NombreCompleto); sb.Replace("[IMPORTANCIA]", asignacion.ImportanciaUsuario1.Nombre); sb.Replace("[OBSERVACION]", asignacion.ObservacionUsuario2); sb.Replace("[SALTO]", "\n"); EmailBody = sb.ToString(); string asunto = "Proceso Documental Finalizado. N°Consolidado: " + info.NumConsolidado; EnviarEmail(usuarioaviso.Email, asunto, EmailBody); } res.Estado = Enums.EstadoTransaccion.Aceptada; } catch (Exception ex) { res.Estado = Enums.EstadoTransaccion.Rechazada; Log.EscribirLog(ex.Message); } return res; }