public QuoteRelation getQuoteRelation(int quoteID) { QuoteRelation ret = new QuoteRelation(); SqlConnectionFactory sqlConnection = new SqlConnectionFactory(); using (SqlConnection connection = sqlConnection.GetConnection()) { ret = ProposalDataLayer.GetInstance().getQuoteRelation(connection, quoteID); return(ret); } }
public static MemoryStream GetTemplate(int id, string path, out string code, string _userID) { double Totalcost = 0; var memoryStream = new MemoryStream(); DecisionInfo item = DecisionService.GetInstance().GetDecision(id, _userID); QuoteRelation relation = ProposalService.GetInstance().getQuoteRelation(item.QuoteID); item.AuditCode = relation.AuditCode; item.AuditTime = relation.AuditTime; item.BidPlanCode = relation.BidPlanCode; item.BidPlanTime = relation.BidPlanTime; item.NegotiationCode = relation.NegotiationCode; item.NegotiationTime = relation.NegotiationTime; using (var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read)) fileStream.CopyTo(memoryStream); code = "";//item.ProposalCode; using (var document = WordprocessingDocument.Open(memoryStream, true)) { document.ChangeDocumentType(WordprocessingDocumentType.Document); // change from template to document DateTime date = DateTime.Now; var body = document.MainDocumentPart.Document.Body; var paras = body.Elements <Paragraph>(); foreach (ItemInfo record in item.Items) { Totalcost += record.ItemPrice * record.Amount; } if (item.IsVAT) { Totalcost = Totalcost * (item.VATNumber + 100) / 100; } Table tableData = CreateTable(item, Totalcost); string dateInStr = ""; dateInStr = "ngày " + item.DateIn.Day + " tháng " + item.DateIn.Month + " năm " + item.DateIn.Year; string audittimeStr = "ngày " + item.AuditTime.Day + "/" + item.AuditTime.Month + "/" + item.AuditTime.Year; string bidplantimeStr = "ngày " + item.BidPlanTime.Day + "/" + item.BidPlanTime.Month + "/" + item.BidPlanTime.Year; string negotiationtimeStr = "ngày " + item.NegotiationTime.Day + "/" + item.NegotiationTime.Month + "/" + item.NegotiationTime.Year; string decisionCodeStr = ""; if (item.DecisionCode != null && item.DecisionCode != "") { decisionCodeStr = item.DecisionCode + "/QĐ-TMHH"; } else { decisionCodeStr = "...../QĐ-TMHH"; } var newType = "Về việc chọn đơn vị cung cấp hàng hóa "; if (item.BidMethod != 1) { newType += "theo hình thức " + HardData.bidMethod[item.BidMethod - 1]; } foreach (var text in body.Descendants <Text>()) { text.Text = text.Text.Replace("#", ""); text.Text = text.Text.Replace("auditcode", WordUtils.checkNull(item.AuditCode)); text.Text = text.Text.Replace("bidplancode", WordUtils.checkNull(item.BidPlanCode)); text.Text = text.Text.Replace("negotiationcode", WordUtils.checkNull(item.NegotiationCode)); text.Text = text.Text.Replace("audittime", audittimeStr); text.Text = text.Text.Replace("bidplantime", bidplantimeStr); text.Text = text.Text.Replace("negotiationtime", negotiationtimeStr); text.Text = text.Text.Replace("newtype", newType); text.Text = text.Text.Replace("datein", WordUtils.checkNull(dateInStr)); text.Text = text.Text.Replace("newtype", WordUtils.checkNull(dateInStr)); text.Text = text.Text.Replace("costnumber", string.Format("{0:0,0}", Totalcost).Replace(",", ".")); text.Text = text.Text.Replace("coststring", WordUtils.checkNull(Utils.NumberToTextVN((decimal)Totalcost))); text.Text = text.Text.Replace("capname", WordUtils.checkNull(item.CapitalName)); text.Text = text.Text.Replace("bidtype", item.BidType); text.Text = text.Text.Replace("bidexpired", item.BidExpirated + " " + item.BidExpiratedUnit); text.Text = text.Text.Replace("customername", WordUtils.checkNull(item.CustomerName)); text.Text = text.Text.Replace("address", WordUtils.checkNull(item.Address)); text.Text = text.Text.Replace("departmentNames", WordUtils.checkNull(item.DepartmentNames)); text.Text = text.Text.Replace("vatnumber", WordUtils.checkNull(item.VATNumber.ToString())); // text.Text = text.Text.Replace("currentyear", ); text.Text = text.Text.Replace("bidmethod", HardData.bidMethod[item.BidMethod - 1]); text.Text = text.Text.Replace("decisionCode", " " + WordUtils.checkNull(decisionCodeStr)); if (text.Text == "table") { DocumentFormat.OpenXml.OpenXmlElement textP1 = text.Parent; DocumentFormat.OpenXml.OpenXmlElement textP2 = textP1.Parent; body.InsertAfter(tableData, textP2); textP1.Remove(); } } document.Save(); document.Close(); } return(memoryStream); }
public static MemoryStream GetTemplate(int id, string path, out string code, string _userID) { double Totalcost = 0; var memoryStream = new MemoryStream(); ContractPrintModel item = ContractService.GetInstance().GetNegotiationPrintModel(id, _userID); code = item.NegotiationCode; QuoteRelation relation = ProposalService.GetInstance().getQuoteRelation(item.QuoteID); item.AuditCode = relation.AuditCode; item.AuditTime = relation.AuditTime; item.BidPlanCode = relation.BidPlanCode; item.BidPlanTime = relation.BidPlanTime; item.NegotiationCode = relation.NegotiationCode; item.NegotiationTime = relation.NegotiationTime; using (var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read)) fileStream.CopyTo(memoryStream); // code = item.ProposalCode; using (var document = WordprocessingDocument.Open(memoryStream, true)) { document.ChangeDocumentType(WordprocessingDocumentType.Document); // change from template to document DateTime date = DateTime.Now; string currentDate = " Ngày " + date.ToString("dd/MM/yyyy"); var body = document.MainDocumentPart.Document.Body; var paras = body.Elements <Paragraph>(); List <string> headers = new List <string>(); List <List <string> > items = new List <List <string> >(); headers.Add("STT"); headers.Add("Tên gói thầu"); headers.Add("Giá gói thầu"); headers.Add("Nguồn vốn"); headers.Add("Hình thức phương thức lựa chọn nhà thầu"); headers.Add("Thời gian tổ chức lựa chọn nhà thầu"); headers.Add("Loại hợp đồng"); headers.Add("Thời gian thực hiện hợp đồng"); foreach (ItemInfo record in item.Items) { Totalcost += record.ItemPrice * record.Amount; } if (item.IsVAT) { Totalcost = Totalcost * (item.VATNumber + 100) / 100; } List <string> row = new List <string>(); Table tableData = CreateTable(item, Totalcost); string dateInStr = ""; string negoationtime = ""; string desiciontime = ""; dateInStr = item.DateIn.Hour + " giờ "; if (item.DateIn.Minute != 0) { dateInStr += item.DateIn.Minute + " phút "; } dateInStr += ", ngày" + item.DateIn.Day + " tháng " + item.DateIn.Month + " năm " + item.DateIn.Year; desiciontime += " ngày" + item.DecisionTime.Day + "/" + item.DecisionTime.Month + "/" + item.DecisionTime.Year; negoationtime += " ngày" + item.NegotiationTime.Day + "/" + item.NegotiationTime.Month + "/" + item.NegotiationTime.Year; foreach (var text in body.Descendants <Text>()) { text.Text = text.Text.Replace("#", ""); text.Text = text.Text.Replace("contractcode", WordUtils.checkNull(item.ContractCode)); text.Text = text.Text.Replace("contracttime", WordUtils.checkNull(dateInStr)); text.Text = text.Text.Replace("vatnumber", WordUtils.checkNull(item.VATNumber.ToString())); text.Text = text.Text.Replace("desicioncode", WordUtils.checkNull(item.ContractCode)); text.Text = text.Text.Replace("desiciontime", WordUtils.checkNull(desiciontime)); text.Text = text.Text.Replace("negoationcode", WordUtils.checkNull(item.ContractCode)); text.Text = text.Text.Replace("negoationtime", WordUtils.checkNull(negoationtime)); text.Text = text.Text.Replace("inputcode", WordUtils.checkNull(item.Code)); //A side text.Text = text.Text.Replace("aaddress", WordUtils.checkNull(HardData.location[Int32.Parse(item.ALocation) - 1])); text.Text = text.Text.Replace("aside", WordUtils.checkNull(item.ASide)); text.Text = text.Text.Replace("aphone", WordUtils.checkNull(item.APhone)); text.Text = text.Text.Replace("arepresent", WordUtils.checkNull(item.ARepresent)); text.Text = text.Text.Replace("afax", WordUtils.checkNull(item.AFax)); text.Text = text.Text.Replace("aposition", WordUtils.checkNull(item.APosition)); text.Text = text.Text.Replace("atax", WordUtils.checkNull(item.ATaxCode)); text.Text = text.Text.Replace("abankidlabel", WordUtils.checkNull(HardData.NegotiationBankIDArr[Int32.Parse(item.ABankID) - 1])); //B side text.Text = text.Text.Replace("baddress", WordUtils.checkNull(item.BLocation)); text.Text = text.Text.Replace("bside", WordUtils.checkNull(item.BSide)); text.Text = text.Text.Replace("bphone", WordUtils.checkNull(item.BPhone)); text.Text = text.Text.Replace("brepresent", WordUtils.checkNull(item.BRepresent)); text.Text = text.Text.Replace("bfax", WordUtils.checkNull(item.BFax)); text.Text = text.Text.Replace("bposition", WordUtils.checkNull(item.BPosition)); text.Text = text.Text.Replace("btax", WordUtils.checkNull(item.BTaxCode)); text.Text = text.Text.Replace("bbankidlabel", WordUtils.checkNull(item.BBankID)); text.Text = text.Text.Replace("term", WordUtils.checkNull(item.Term.ToString())); text.Text = text.Text.Replace("costnumber", string.Format("{0:0,0}", Totalcost).Replace(",", ".")); text.Text = text.Text.Replace("coststring", WordUtils.checkNull(Utils.NumberToTextVN((decimal)Totalcost))); text.Text = text.Text.Replace("bidtype", item.BidType); text.Text = text.Text.Replace("bidtime", item.BidExpirated + " " + item.BidExpiratedUnit); if (text.Text == "table") { DocumentFormat.OpenXml.OpenXmlElement textP1 = text.Parent; DocumentFormat.OpenXml.OpenXmlElement textP2 = textP1.Parent; body.InsertAfter(tableData, textP2); textP1.Remove(); } } document.Save(); document.Close(); } return(memoryStream); }