public SingleResponeMessage <DeliveryReceiptInfo> Get(int id, string _userID) { SingleResponeMessage <DeliveryReceiptInfo> ret = new SingleResponeMessage <DeliveryReceiptInfo>(); try { DeliveryReceiptInfo item = DeliveryReceiptServices.GetInstance().GetDetail(id, _userID); if (item == null) { ret.isSuccess = false; ret.err.msgCode = "001"; ret.err.msgString = "không tìm thấy biên bản giao nhận"; return(ret); } ret.item = item; ret.isSuccess = true; } catch (Exception ex) { ret.isSuccess = false; ret.err.msgCode = "Internal Error !!!"; ret.err.msgString = ex.ToString(); } return(ret); }
public int Update(SqlConnection connection, DeliveryReceiptInfo obj, string userID) { int lastestInserted = 0; using (var command = new SqlCommand("Update tbl_DeliveryReceipt " + " SET DeliveryReceiptCode = @DeliveryReceiptCode , DeliveryReceiptDate = @DeliveryReceiptDate, DeliveryReceiptType = @DeliveryReceiptType, DeliveryReceiptNumber = @DeliveryReceiptNumber , " + " DeliveryReceiptPlace = @DeliveryReceiptPlace, UserU = @UserU , ContractID=@ContractID " + " where DeliveryReceiptID = @DeliveryReceiptID ", connection)) { AddSqlParameter(command, "@DeliveryReceiptDate", obj.DeliveryReceiptDate, System.Data.SqlDbType.DateTime); AddSqlParameter(command, "@DeliveryReceiptType", obj.DeliveryReceiptType, System.Data.SqlDbType.Int); AddSqlParameter(command, "@DeliveryReceiptCode", obj.DeliveryReceiptCode, System.Data.SqlDbType.NVarChar); AddSqlParameter(command, "@DeliveryReceiptNumber", obj.DeliveryReceiptNumber, System.Data.SqlDbType.Int); AddSqlParameter(command, "@DeliveryReceiptPlace", obj.DeliveryReceiptPlace, System.Data.SqlDbType.NVarChar); AddSqlParameter(command, "@ContractID", obj.ContractID, System.Data.SqlDbType.Int); AddSqlParameter(command, "@UserU", userID, System.Data.SqlDbType.VarChar); AddSqlParameter(command, "@DeliveryReceiptID", obj.DeliveryReceiptID, System.Data.SqlDbType.Int); WriteLogExecutingCommand(command); var lastInsertedRaw = command.ExecuteScalar(); if (lastInsertedRaw != null && !DBNull.Value.Equals(lastInsertedRaw)) { lastestInserted = Convert.ToInt32(lastInsertedRaw); } } return(lastestInserted); }
public DeliveryReceiptInfo GetDetail(SqlConnection connection, int id, string _userID) { DeliveryReceiptInfo info = new DeliveryReceiptInfo(); using (var command = new SqlCommand("Select DR.*, Q.IsVAT, Q.QuoteCode, Q.VATNumber, " + " D1.DepartmentCode as CurDepartmentCode , D.DepartmentCode, c.ContractCode ," + " P.ProposalCode, D1.DepartmentName as CurDepartmentName, D.DepartmentName ," + " P.DateIn as ProposalTime " + " from tbl_DeliveryReceipt DR " + " LEFT JOIN tbl_Quote_Proposal tblQP on tblQP.ProposalID = DR.ProposalID " + " LEFT JOIN tbl_Quote Q on Q.QuoteID = tblQP.QuoteID " + " LEFT JOIN tbl_Proposal P on P.ProposalID = DR.ProposalID " + " LEFT JOIN tbl_Department D on D.DepartmentID = P.DepartmentID " + " LEFT JOIN tbl_Contract C on C.ContractID = DR.ProposalID " + " LEFT JOIN tbl_Department D1 on P.CurDepartmentID = D1.DepartmentID " + " where DR.DeliveryReceiptID = @DeliveryReceiptID order by DR.UpdateTime ", connection)) { if (!string.IsNullOrEmpty(_userID) && _userID != "admin") { command.CommandText += " and (DR.UserAssign = @UserID )"; AddSqlParameter(command, "@UserID", _userID, SqlDbType.VarChar); } AddSqlParameter(command, "@DeliveryReceiptID", id, System.Data.SqlDbType.Int); WriteLogExecutingCommand(command); using (var reader = command.ExecuteReader()) { while (reader.Read()) { info.DeliveryReceiptID = GetDbReaderValue <int>(reader["DeliveryReceiptID"]); info.DeliveryReceiptType = GetDbReaderValue <int>(reader["DeliveryReceiptType"]); info.DeliveryReceiptCode = GetDbReaderValue <string>(reader["DeliveryReceiptCode"]); info.ContractCode = GetDbReaderValue <string>(reader["ContractCode"]); info.ContractID = GetDbReaderValue <int>(reader["ContractID"]); info.DepartmentCode = GetDbReaderValue <string>(reader["DepartmentCode"]); info.CurDepartmentCode = GetDbReaderValue <string>(reader["CurDepartmentCode"]); info.QuoteCode = GetDbReaderValue <string>(reader["QuoteCode"]); info.DeliveryReceiptDate = GetDbReaderValue <DateTime>(reader["DeliveryReceiptDate"]); info.DeliveryReceiptNumber = GetDbReaderValue <int>(reader["DeliveryReceiptNumber"]); info.ProposalID = GetDbReaderValue <int>(reader["ProposalID"]); info.ProposalCode = GetDbReaderValue <string>(reader["ProposalCode"]); info.IsVAT = GetDbReaderValue <bool>(reader["IsVAT"]); info.VATNumber = GetDbReaderValue <double>(reader["VATNumber"]); info.DepartmentName = GetDbReaderValue <string>(reader["DepartmentName"]); info.CurDepartmentName = GetDbReaderValue <string>(reader["CurDepartmentName"]); info.DeliveryReceiptPlace = GetDbReaderValue <string>(reader["DeliveryReceiptPlace"]); info.UserU = GetDbReaderValue <string>(reader["UserU"]); info.UpdateTime = GetDbReaderValue <DateTime>(reader["UpdateTime"]); info.CreateTime = GetDbReaderValue <DateTime>(reader["CreateTime"]); info.ProposalTime = GetDbReaderValue <DateTime>(reader["ProposalTime"]); } } } return(info); }
public int Create(SqlConnection connection, DeliveryReceiptInfo obj, string userID) { var currenttime = DateTime.Now.Date; int lastestInserted = 0; if (obj.DeliveryReceiptCode == null || obj.DeliveryReceiptCode == "") { obj.DeliveryReceiptCode = "GN-" + obj.ProposalCode; } DateTime localDate = DateTime.Now; using (var command = new SqlCommand("Insert into tbl_DeliveryReceipt " + " (DeliveryReceiptType, DeliveryReceiptCode,DeliveryReceiptDate, DeliveryReceiptNumber, " + "ProposalID, DeliveryReceiptPlace , ContractID " + " , UserU , CreateTime, UserI)" + "VALUES (@DeliveryReceiptType, @DeliveryReceiptCode,@DeliveryReceiptDate, @DeliveryReceiptNumber, " + "@ProposalID, @DeliveryReceiptPlace , @ContractID ,@UserU, @CreateTime, @UserI )" + " select IDENT_CURRENT('dbo.tbl_DeliveryReceipt') as LastInserted ", connection)) { AddSqlParameter(command, "@DeliveryReceiptType", obj.DeliveryReceiptType, System.Data.SqlDbType.Int); AddSqlParameter(command, "@DeliveryReceiptCode", obj.DeliveryReceiptCode, System.Data.SqlDbType.VarChar); AddSqlParameter(command, "@DeliveryReceiptDate", obj.DeliveryReceiptDate, System.Data.SqlDbType.DateTime); AddSqlParameter(command, "@ProposalID", obj.ProposalID, System.Data.SqlDbType.Int); AddSqlParameter(command, "@ContractID", obj.ContractID, System.Data.SqlDbType.Int); AddSqlParameter(command, "@DeliveryReceiptNumber", obj.DeliveryReceiptNumber, System.Data.SqlDbType.Int); AddSqlParameter(command, "@DeliveryReceiptPlace", !string.IsNullOrEmpty(obj.DeliveryReceiptPlace) ? obj.DeliveryReceiptPlace : " ", System.Data.SqlDbType.NVarChar); AddSqlParameter(command, "@UserU", userID, System.Data.SqlDbType.VarChar); AddSqlParameter(command, "@UserI", userID, System.Data.SqlDbType.VarChar); AddSqlParameter(command, "@CreateTime", localDate, System.Data.SqlDbType.DateTime); WriteLogExecutingCommand(command); var lastInsertedRaw = command.ExecuteScalar(); if (lastInsertedRaw != null && !DBNull.Value.Equals(lastInsertedRaw)) { lastestInserted = Convert.ToInt32(lastInsertedRaw); } } if (lastestInserted > 0) { using (var command = new SqlCommand("update tbl_Proposal_Process " + " set DeliveryReceiptID=@DeliveryReceiptID , DeliveryReceiptTime=@DeliveryReceiptTime , CurrentFeature=@CurrentFeature where ProposalID=@ProposalID", connection)) { AddSqlParameter(command, "@ProposalID", obj.ProposalID, System.Data.SqlDbType.Int); AddSqlParameter(command, "@DeliveryReceiptID", lastestInserted, System.Data.SqlDbType.Int); AddSqlParameter(command, "@DeliveryReceiptTime", currenttime, System.Data.SqlDbType.DateTime); AddSqlParameter(command, "@CurrentFeature", "DeliveryReceipt", System.Data.SqlDbType.VarChar); WriteLogExecutingCommand(command); command.ExecuteScalar(); } } return(lastestInserted); }
public async Task <ActionMessage> Put([FromForm] DeliveryReceiptInfo obj, [FromForm] List <IFormFile> files) { ActionMessage ret = new ActionMessage(); try { ret = await DeliveryReceiptServices.GetInstance().Update(obj, files, GetUserId()); } catch (Exception ex) { ret.isSuccess = false; ret.err.msgCode = "Internal Error !!!"; ret.err.msgString = ex.ToString(); } return(ret); }
public DeliveryReceiptInfo GetDetail(int id, string _userID) { SqlConnectionFactory sqlConnection = new SqlConnectionFactory(); DeliveryReceiptInfo record = new DeliveryReceiptInfo(); using (SqlConnection connection = sqlConnection.GetConnection()) { record = DeliveryReceiptDataLayer.GetInstance().GetDetail(connection, id, _userID); record.Items = DeliveryReceiptDataLayer.GetInstance().getSelectedItems(connection, id, _userID); record.ListComment = new List <CommentInfo>(); //Get document DocumentSeachCriteria documentCriteria = new DocumentSeachCriteria(); documentCriteria.TableName = TableFile.DeliveryReceipt.ToString(); documentCriteria.PreferId = id.ToString(); record.ListDocument = DocumentService.GetInstance().GetDocument(documentCriteria); record.Employees = new List <DeliveryReceiptEmployeeInfo>(); record.Employees = DeliveryReceiptDataLayer.GetInstance().GetDeliveryReceiptEmployeesById(connection, record.DeliveryReceiptID.ToString()); //get Comment CommentSeachCriteria commentCriteria = new CommentSeachCriteria(); commentCriteria.TableName = TableFile.DeliveryReceipt.ToString(); commentCriteria.PreferId = id.ToString(); record.ListComment = CommentService.GetInstance().getComment(commentCriteria); foreach (var item in record.ListComment) { DocumentSeachCriteria documentCriteria2 = new DocumentSeachCriteria(); documentCriteria2.TableName = TableFile.Comment.ToString(); documentCriteria2.PreferId = item.AutoID.ToString(); item.ListDocument = DocumentService.GetInstance().GetDocument(documentCriteria2); } } return(record); }
public async Task <ActionMessage> Create(DeliveryReceiptInfo obj, [FromForm] List <IFormFile> files, string _userI, string _userID) { ActionMessage ret = new ActionMessage(); int insetId = -1; SqlConnectionFactory sqlConnection = new SqlConnectionFactory(); using (SqlConnection connection = sqlConnection.GetConnection()) { try { insetId = DeliveryReceiptDataLayer.GetInstance().Create(connection, obj, _userI); } catch (Exception ex) { throw ex; } } if (insetId > -1) { ret.id = insetId; using (SqlConnection connection = sqlConnection.GetConnection()) { try { if (obj.Items != null) { // insertEmployees(insetId, obj.Employees); foreach (DeliveryReceiptItemInfoNew item in obj.Items) { item.DeliveryReceiptID = insetId; if (item.Amount > 0) { //input tai san DeliveryReceiptWithDepartment deliveryReceipt = DeliveryReceiptDataLayer.GetInstance().getItemCreateAna(connection, item.DeliveryReceiptID, _userID); AnalyzerInfo analyzerInfo = new AnalyzerInfo() { AnalyzerAccountantCode = "", AnalyzerName = item.ItemName, AnalyzerType = 0, QuoteItemID = item.QuoteItemID, Description = "", Amount = item.Amount, ItemPrice = item.ItemPrice, TotalPrice = item.TotalPrice, DepartmentRootID = deliveryReceipt.DepartmentID, DepartmentID = deliveryReceipt.DepartmentID, ContractCode = deliveryReceipt.ContractCode, UserIContract = deliveryReceipt.UserIContract, CustomerID = deliveryReceipt.CustomerID, CustomerName = deliveryReceipt.CustomerName, ExpirationDate = DateTime.Now, DateIn = obj.DeliveryReceiptDate, DeliveryReceiptID = item.DeliveryReceiptID, Serial = "", }; int seq = AnalyzerDataLayer.GetInstance().GetMaxPropCode(connection, analyzerInfo.DateIn.Year); int insertID = AnalyzerDataLayer.GetInstance().InsertAnalyzer(connection, analyzerInfo, seq, _userI); string[] _anaNamesSplit = analyzerInfo.AnalyzerName.Split(' '); string _anaNameSplit = ""; for (int i = 0; i < _anaNamesSplit.Count(); i++) { if (i == 4) { break; } else { _anaNameSplit += (_anaNamesSplit[i][0]).ToString().ToUpper(); } } string anacode = _anaNameSplit + "." + analyzerInfo.DateIn.Year + "." + String.Format("{0:000000}", seq); AnalyzerDataLayer.GetInstance().UpdateAnalyzer(connection, insertID, anacode); // end insert DeliveryReceiptDataLayer.GetInstance().CreateDeliveryReceiptItem(connection, item, _userI); } } } } catch (Exception ex) { throw ex; } } using (SqlConnection connection = sqlConnection.GetConnection()) { try { if (obj.Employees != null) { foreach (DeliveryReceiptEmployeeInfo item in obj.Employees) { item.DeliveryReceiptID = insetId; DeliveryReceiptDataLayer.GetInstance().CreateDeliveryReceiptItemUser(connection, item, _userI); } } } catch (Exception ex) { throw ex; } } foreach (var item in files) { DocumentInfo documentInfo = new DocumentInfo(); documentInfo.TableName = TableFile.DeliveryReceipt.ToString(); documentInfo.PreferId = insetId.ToString(); documentInfo.Link = DateTime.Now.ToString("yyMMddHHmmssfff") + "-" + Utils.ChuyenTVKhongDau(item.FileName); documentInfo.FileName = item.FileName; documentInfo.Length = item.Length.ToString(); documentInfo.Type = item.ContentType; ret = await FilesHelpers.UploadFile(TableFile.DeliveryReceipt.ToString(), insetId.ToString(), item, documentInfo.Link); DocumentService.GetInstance().InsertDocument(documentInfo, _userI.ToString()); } ret.isSuccess = true; } else { ret.isSuccess = false; ret.err.msgCode = "lỗi thêm phiếu nghiệm thu"; ret.err.msgString = "lỗi thêm phiếu nghiệm thu"; } return(ret); }
public async Task <ActionMessage> Update(DeliveryReceiptInfo obj, [FromForm] List <IFormFile> files, string _userI) { ActionMessage ret = new ActionMessage(); SqlConnectionFactory sqlConnection = new SqlConnectionFactory(); using (SqlConnection connection = sqlConnection.GetConnection()) { try { DeliveryReceiptDataLayer.GetInstance().Update(connection, obj, _userI); } catch (Exception ex) { throw ex; } } /* using (SqlConnection connection = sqlConnection.GetConnection()) * { * try * { * EditEmployees(obj.DeliveryReceiptID, obj.Employees); * foreach (DeliveryReceiptItemInfoNew item in obj.Items) * { * DeliveryReceiptDataLayer.GetInstance().UpdateDeliveryReceiptItem(connection, item, _userI); * } * } * catch (Exception ex) * { * throw ex; * } * }*/ using (SqlConnection connection = sqlConnection.GetConnection()) { try { DeliveryReceiptDataLayer.GetInstance().DeleteDeliveryReceiptItemUser(connection, obj.DeliveryReceiptID, _userI); if (obj.Employees != null) { foreach (DeliveryReceiptEmployeeInfo item in obj.Employees) { item.DeliveryReceiptID = obj.DeliveryReceiptID; DeliveryReceiptDataLayer.GetInstance().CreateDeliveryReceiptItemUser(connection, item, _userI); } } } catch (Exception ex) { throw ex; } } DocumentService.GetInstance().DeleteDocumentsNotExitsInList(obj.ListDocument, TableFile.DeliveryReceipt.ToString(), obj.DeliveryReceiptID); foreach (var item in files) { DocumentInfo documentInfo = new DocumentInfo(); documentInfo.TableName = TableFile.DeliveryReceipt.ToString(); documentInfo.PreferId = obj.DeliveryReceiptID.ToString(); documentInfo.Link = DateTime.Now.ToString("yyMMddHHmmssfff") + "-" + Utils.ChuyenTVKhongDau(item.FileName); documentInfo.FileName = item.FileName; documentInfo.Length = item.Length.ToString(); documentInfo.Type = item.ContentType; ret = await FilesHelpers.UploadFile(TableFile.DeliveryReceipt.ToString(), obj.DeliveryReceiptID.ToString(), item, documentInfo.Link); DocumentService.GetInstance().InsertDocument(documentInfo, _userI.ToString()); } ret.isSuccess = true; return(ret); }
public List <DeliveryReceiptInfo> Getlist(SqlConnection connection, DeliveryReceiptCriteria criteria, string _userID) { var result = new List <DeliveryReceiptInfo>(); using (var command = new SqlCommand("Select DR.*, P.ProposalCode, D.DepartmentName , D1.DepartmentName as CurDepartmentName" + " from tbl_DeliveryReceipt DR " + " LEFT JOIN tbl_Proposal P on P.ProposalID = DR.ProposalID " + " LEFT JOIN tbl_Department D on D.DepartmentID = P.DepartmentID " + " left join tbl_Department D1 on P.CurDepartmentID = D1.DepartmentID " + " where DR.ProposalID <> 0 ", connection)) { if (criteria.proposalCode != "" && criteria.proposalCode != null) { command.CommandText += " and P.ProposalCode like '%" + criteria.proposalCode + "%' "; } if (criteria.departmentID != 0) { command.CommandText += " and ( P.departmentID = @departmentID "; command.CommandText += " or P.CurDepartmentID = @departmentID ) "; AddSqlParameter(command, "@departmentID", criteria.departmentID, System.Data.SqlDbType.Int); } if (criteria.fromDate != null && criteria.toDate != null) { command.CommandText += " and DR.DateIn between @FromDate and @ToDate "; AddSqlParameter(command, "@FromDate", criteria.fromDate, System.Data.SqlDbType.DateTime); AddSqlParameter(command, "@ToDate", criteria.toDate, System.Data.SqlDbType.DateTime); } if (!string.IsNullOrEmpty(_userID) && _userID != "admin") { command.CommandText += " and (DR.UserAssign = @UserID )"; AddSqlParameter(command, "@UserID", _userID, SqlDbType.VarChar); } if (criteria.pageSize == 0) { criteria.pageSize = 10; } var offSet = criteria.pageIndex * criteria.pageSize; command.CommandText += " order by DR.UpdateTime "; command.CommandText += " OFFSET @OFFSET ROWS FETCH NEXT @PAGESIZE ROWS ONLY "; AddSqlParameter(command, "@OFFSET", offSet, System.Data.SqlDbType.Int); AddSqlParameter(command, "@PAGESIZE", criteria.pageSize, System.Data.SqlDbType.Int); WriteLogExecutingCommand(command); using (var reader = command.ExecuteReader()) { while (reader.Read()) { var info = new DeliveryReceiptInfo(); info.DeliveryReceiptID = GetDbReaderValue <int>(reader["DeliveryReceiptID"]); info.DeliveryReceiptType = GetDbReaderValue <int>(reader["DeliveryReceiptType"]); info.DeliveryReceiptCode = GetDbReaderValue <string>(reader["DeliveryReceiptCode"]); info.DeliveryReceiptDate = GetDbReaderValue <DateTime>(reader["DeliveryReceiptDate"]); info.DeliveryReceiptNumber = GetDbReaderValue <int>(reader["DeliveryReceiptNumber"]); info.ProposalID = GetDbReaderValue <int>(reader["ProposalID"]); info.ProposalCode = GetDbReaderValue <string>(reader["ProposalCode"]); info.DepartmentName = GetDbReaderValue <string>(reader["DepartmentName"]); info.CurDepartmentName = GetDbReaderValue <string>(reader["CurDepartmentName"]); info.DeliveryReceiptPlace = GetDbReaderValue <string>(reader["DeliveryReceiptPlace"]); info.UserU = GetDbReaderValue <string>(reader["UserU"]); info.UpdateTime = GetDbReaderValue <DateTime>(reader["UpdateTime"]); info.CreateTime = GetDbReaderValue <DateTime>(reader["CreateTime"]); result.Add(info); } } return(result); } }
public static MemoryStream GetTemplate(int id, string rootpath, string _userID) { var memoryStream = new MemoryStream(); DeliveryReceiptInfo item = DeliveryReceiptServices.GetInstance().GetDetail(id, _userID); var type = item.DeliveryReceiptType; string fileName = ""; switch (type) { case 1: fileName = @"GiaoNhan34.docx"; break; case 2: fileName = @"GiaoNhanC50.docx"; break; case 3: fileName = @"BBGNNOIBO.docx"; break; default: fileName = @"GiaoNhan34.docx"; break; } string filePath = rootpath + "/" + fileName; using (var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)) fileStream.CopyTo(memoryStream); 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>(); List <string> headers = new List <string>(); List <List <string> > items = new List <List <string> >(); if (type == 1) { headers.Add("STT"); headers.Add("Tên nhãn hiệu, quy cách, phẩm chất nguyên liệu, vật liệu, công cụ, dụng cụ"); headers.Add("Mã số"); headers.Add("Đơn vị tính"); headers.Add("Số lượng"); headers.Add("Đơn giá"); headers.Add("Thành tiền"); headers.Add("Ghi chú"); var index = 1; double totalcost = 0; foreach (DeliveryReceiptItemInfoNew record in item.Items) { List <string> row = new List <string>(); row.Add(index.ToString()); row.Add(record.ItemName); row.Add(""); row.Add(record.ItemUnit); row.Add(record.Amount.ToString()); row.Add(record.ItemPrice.ToString()); row.Add((record.Amount * record.ItemPrice).ToString()); row.Add(WordUtils.checkNull(record.Description)); items.Add(row); totalcost += record.Amount * record.ItemPrice; index++; } Table tableData = CreateTablec34(headers, items, totalcost); string dateInStr = "Ngày " + item.DeliveryReceiptDate.Day + " tháng " + item.DeliveryReceiptDate.Month + " năm " + item.DeliveryReceiptDate.Year; string proposalDateStr = "ngày " + item.ProposalTime.Day + " tháng " + item.ProposalTime.Month + " năm " + item.ProposalTime.Year; foreach (var text in body.Descendants <Text>()) { text.Text = text.Text.Replace("#", ""); text.Text = text.Text.Replace("DeliveryReceiptDate", WordUtils.checkNull(dateInStr)); text.Text = text.Text.Replace("DeliveryReceiptCode", WordUtils.checkNull(item.DeliveryReceiptCode)); text.Text = text.Text.Replace("DeliveryReceiptPlace", WordUtils.checkNull(HardData.location[Int32.Parse(item.DeliveryReceiptPlace)])); text.Text = text.Text.Replace("ProposalCode", WordUtils.checkNull(item.ProposalCode)); text.Text = text.Text.Replace("ProposalTime", WordUtils.checkNull(proposalDateStr)); text.Text = text.Text.Replace("CurDepartmentName", WordUtils.checkNull(item.CurDepartmentName)); text.Text = text.Text.Replace("DepartmentName", WordUtils.checkNull(item.DepartmentName)); if (text.Text == "lstItem") { DocumentFormat.OpenXml.OpenXmlElement textP1 = text.Parent; DocumentFormat.OpenXml.OpenXmlElement textP2 = textP1.Parent; body.InsertAfter(tableData, textP2); textP1.Remove(); } } } else { if (type == 2) { headers.Add("STT"); headers.Add("Tên, ký hiệu quy cách (cấp hạng TSCĐ)"); headers.Add("Số hiệu TSCĐ"); headers.Add("Nước sản xuất"); headers.Add("Năm sản xuất"); headers.Add("Năm đưa vào sử dụng"); headers.Add("Đvt"); headers.Add("Số lượng"); headers.Add("Giá mua (ZSX)"); headers.Add("Chi phí vận chuyển"); headers.Add("Chi phí chạy thử"); headers.Add("Nguyên giá TSCĐ"); headers.Add("TL kỹ thuật kèm theo"); var index = 1; double totalcost = 0; var currentDate = DateTime.Now; foreach (DeliveryReceiptItemInfoNew record in item.Items) { List <string> row = new List <string>(); row.Add(index.ToString()); row.Add(record.ItemName); row.Add(""); row.Add(""); row.Add(""); row.Add(currentDate.Year.ToString()); row.Add(record.ItemUnit); row.Add(record.Amount.ToString()); row.Add(record.ItemPrice.ToString()); row.Add(""); row.Add(""); row.Add((record.Amount * record.ItemPrice).ToString()); row.Add(""); items.Add(row); totalcost += record.Amount * record.ItemPrice; index++; } Table tableData = CreateTablec50(headers, items, totalcost); string dateInStr = "Ngày " + item.DeliveryReceiptDate.Day + " tháng " + item.DeliveryReceiptDate.Month + " năm " + item.DeliveryReceiptDate.Year; string proposalDateStr = "ngày " + item.ProposalTime.Day + " tháng " + item.ProposalTime.Month + " năm " + item.ProposalTime.Year; foreach (var text in body.Descendants <Text>()) { text.Text = text.Text.Replace("#", ""); text.Text = text.Text.Replace("DeliveryReceiptDate", WordUtils.checkNull(dateInStr)); text.Text = text.Text.Replace("DeliveryReceiptCode", WordUtils.checkNull(item.DeliveryReceiptCode)); text.Text = text.Text.Replace("DeliveryReceiptPlace", WordUtils.checkNull(HardData.location[Int32.Parse(item.DeliveryReceiptPlace)])); text.Text = text.Text.Replace("ProposalCode", WordUtils.checkNull(item.ProposalCode)); text.Text = text.Text.Replace("ProposalTime", WordUtils.checkNull(proposalDateStr)); text.Text = text.Text.Replace("CurDepartmentName", WordUtils.checkNull(item.CurDepartmentName)); if (text.Text == "lstIlistItemtem") { DocumentFormat.OpenXml.OpenXmlElement textP1 = text.Parent; DocumentFormat.OpenXml.OpenXmlElement textP2 = textP1.Parent; body.InsertAfter(tableData, textP2); textP1.Remove(); } } } else { headers.Add("STT"); headers.Add("Tên mặt hàng"); headers.Add("Đơn vị tính"); headers.Add("Số lượng"); var index = 1; var currentDate = DateTime.Now; foreach (DeliveryReceiptItemInfoNew record in item.Items) { List <string> row = new List <string>(); row.Add(index.ToString()); row.Add(record.ItemName); row.Add(record.ItemUnit); row.Add(record.Amount.ToString()); index++; items.Add(row); } Table tableData = CreateTableInternal(headers, items); string dateInStr = "Ngày " + item.DeliveryReceiptDate.Day + " tháng " + item.DeliveryReceiptDate.Month + " năm " + item.DeliveryReceiptDate.Year; string proposalDateStr = "ngày " + item.ProposalTime.Day + " tháng " + item.ProposalTime.Month + " năm " + item.ProposalTime.Year; foreach (var text in body.Descendants <Text>()) { text.Text = text.Text.Replace("#", ""); text.Text = text.Text.Replace("currentyear", WordUtils.checkNull(currentDate.Year.ToString())); text.Text = text.Text.Replace("departmentName", WordUtils.checkNull(item.DepartmentName)); text.Text = text.Text.Replace("curDepartmentName", WordUtils.checkNull(item.CurDepartmentName)); if (text.Text == "lstItem") { DocumentFormat.OpenXml.OpenXmlElement textP1 = text.Parent; DocumentFormat.OpenXml.OpenXmlElement textP2 = textP1.Parent; body.InsertAfter(tableData, textP2); textP1.Remove(); } } } } document.Save(); document.Close(); } return(memoryStream); }