public void LoadData() { int ID = Request.QueryString["id"].ToInt(0); int mergeprint = 0; if (Request.QueryString["merge"] != null) { mergeprint = Request.QueryString["merge"].ToInt(0); } if (ID > 0) { var order = OrderController.GetByID(ID); if (order != null) { string error = ""; string Print = ""; double TotalQuantity = 0; double TotalOrder = 0; var orderdetails = OrderDetailController.GetByIDSortBySKU(ID); var numberOfOrders = OrderController.GetByCustomerID(Convert.ToInt32(order.CustomerID)); var customer = CustomerController.GetByID(Convert.ToInt32(order.CustomerID)); if (orderdetails.Count > 0) { printItemList(ref ID, ref mergeprint, ref TotalQuantity, ref TotalOrder, ref Print); string productPrint = ""; string shtml = ""; productPrint += "<div class='body'>"; productPrint += "<div class='table-1'>"; string mergeAlert = ""; if (mergeprint == 1) { mergeAlert += "<p class='merge-alert'>(Đã gộp sản phẩm)<p>"; } productPrint += "<h1>HÓA ĐƠN #" + order.ID + mergeAlert + "</h1>"; productPrint += "<table>"; productPrint += "<colgroup>"; productPrint += "<col class='col-left'/>"; productPrint += "<col class='col-right'/>"; productPrint += "</colgroup>"; productPrint += "<tbody>"; productPrint += "<tr>"; productPrint += "<td>Khách hàng</td>"; productPrint += "<td>" + order.CustomerName.ToTitleCase() + "</td>"; productPrint += "</tr>"; if (!string.IsNullOrEmpty(customer.Nick)) { if (order.ShippingType != 1) { productPrint += "<tr>"; productPrint += "<td>Nick</td>"; productPrint += "<td>" + customer.Nick.ToTitleCase() + "</td>"; productPrint += "</tr>"; } } productPrint += "<tr>"; productPrint += "<td>Điện thoại</td>"; productPrint += "<td>" + order.CustomerPhone + "</td>"; productPrint += "</tr>"; if (order.ExcuteStatus == 2 && !string.IsNullOrEmpty(order.DateDone.ToString())) { productPrint += "<tr>"; productPrint += "<td>Ngày hoàn tất</td>"; string datedone = string.Format("{0:dd/MM/yyyy HH:mm}", order.DateDone); productPrint += "<td>" + datedone + "</td>"; productPrint += "</tr>"; } else { error += "Đơn hàng chưa hoàn tất"; } productPrint += "<tr>"; productPrint += "<td>Nhân viên</td>"; productPrint += "<td>" + order.CreatedBy + "</td>"; productPrint += "</tr>"; if (!string.IsNullOrEmpty(order.OrderNote)) { productPrint += "<tr>"; productPrint += "<td>Ghi chú</td>"; productPrint += "<td>" + order.OrderNote + "</td>"; productPrint += "</tr>"; } productPrint += "</tbody>"; productPrint += "</table>"; productPrint += "</div>"; productPrint += "<div class='table-2'>"; productPrint += "<table>"; productPrint += "<colgroup>"; productPrint += "<col class='soluong' />"; productPrint += "<col class='gia' />"; productPrint += "<col class='tong' />"; productPrint += "</colgroup>"; productPrint += "<thead>"; productPrint += "<th>Số lượng</th>"; productPrint += "<th>Giá</th>"; productPrint += "<th>Tổng</th>"; productPrint += "</thead>"; productPrint += "<tbody>"; productPrint += Print; productPrint += "</tbody>"; productPrint += "</table>"; productPrint += "</div>"; productPrint += "<div class='table-3'>"; productPrint += "<table>"; productPrint += "<tr>"; productPrint += "<td colspan='2'>Số lượng</td>"; productPrint += "<td>" + TotalQuantity + " </td>"; productPrint += "</tr>"; productPrint += "<tr>"; productPrint += "<td colspan='2'>Thành tiền</td>"; productPrint += "<td>" + string.Format("{0:N0}", TotalOrder) + " </td>"; productPrint += "</tr>"; double TotalPrice = TotalOrder; if (order.DiscountPerProduct > 0) { var TotalDiscount = Convert.ToDouble(order.DiscountPerProduct) * Convert.ToDouble(TotalQuantity); TotalOrder = TotalOrder - TotalDiscount; TotalPrice = TotalPrice - TotalDiscount; productPrint += "<tr>"; productPrint += "<td colspan='2'>Chiết khấu mỗi cái </td>"; productPrint += "<td>" + string.Format("{0:N0}", Convert.ToDouble(order.DiscountPerProduct)) + " </td>"; productPrint += "</tr>"; productPrint += "<tr>"; productPrint += "<td colspan='2'>Trừ tổng chiết khấu</td>"; productPrint += "<td>-" + string.Format("{0:N0}", TotalDiscount) + " </td>"; productPrint += "</tr>"; productPrint += "<tr>"; productPrint += "<td colspan='2'>Sau chiết khấu</td>"; productPrint += "<td>" + string.Format("{0:N0}", TotalOrder) + " </td>"; productPrint += "</tr>"; } if (order.RefundsGoodsID != null) { var refund = RefundGoodController.GetByID(Convert.ToInt32(order.RefundsGoodsID)); if (refund != null) { TotalOrder = TotalOrder - Convert.ToDouble(refund.TotalPrice); productPrint += "<tr>"; productPrint += "<td colspan='2'>Trừ hàng trả (đơn " + order.RefundsGoodsID + ")</td>"; productPrint += "<td>-" + string.Format("{0:N0}", Convert.ToDouble(refund.TotalPrice)) + " </td>"; productPrint += "</tr>"; productPrint += "<tr>"; productPrint += "<td colspan='2'>Tổng tiền còn lại</td>"; productPrint += "<td>" + string.Format("{0:N0}", TotalOrder) + " </td>"; productPrint += "</tr>"; } else { error += "Không tìm thấy đơn hàng đổi trả " + order.RefundsGoodsID.ToString(); } } if (Convert.ToDouble(order.FeeShipping) > 0) { TotalOrder = TotalOrder + Convert.ToDouble(order.FeeShipping); TotalPrice = TotalPrice + Convert.ToDouble(order.FeeShipping); productPrint += "<tr>"; productPrint += "<td colspan='2'>Phí vận chuyển</td>"; productPrint += "<td>" + string.Format("{0:N0}", Convert.ToDouble(order.FeeShipping)) + " </td>"; productPrint += "</tr>"; } // Check fee var fees = FeeController.getFeeInfo(ID); foreach (var fee in fees) { TotalOrder = TotalOrder + Convert.ToDouble(fee.Price); TotalPrice = TotalPrice + Convert.ToDouble(fee.Price); productPrint += "<tr>"; productPrint += "<td colspan='2'>" + fee.Name + "</td>"; productPrint += "<td>" + string.Format("{0:N0}", Convert.ToDouble(fee.Price)) + " </td>"; productPrint += "</tr>"; } // Giảm giá if (order.CouponID.HasValue && order.CouponID.Value > 0) { var coupon = CouponController.getCoupon(order.CouponID.Value); TotalOrder = TotalOrder - Convert.ToDouble(coupon.Value); TotalPrice = TotalPrice - Convert.ToDouble(coupon.Value); productPrint += "<tr>"; productPrint += String.Format("<td colspan='2'>Mã giảm giá: {0}</td>", coupon.Code); productPrint += String.Format("<td>-{0:N0} </td>", Convert.ToDouble(coupon.Value)); productPrint += "</tr>"; } if (TotalPrice != Convert.ToDouble(order.TotalPrice)) { error += "Đơn hàng tính sai tổng tiền"; } productPrint += "<tr>"; productPrint += "<td class='strong' colspan='2'>TỔNG TIỀN</td>"; productPrint += "<td class='strong'>" + string.Format("{0:N0}", TotalOrder) + " </td>"; productPrint += "</tr>"; productPrint += "</tbody>"; productPrint += "</table>"; productPrint += "</div>"; productPrint += "</div>"; string address = ""; string phone = ""; string facebook = ""; var agent = AgentController.GetByID(Convert.ToInt32(order.AgentID)); if (agent != null) { address = agent.AgentAddress; phone = agent.AgentPhone; facebook = agent.AgentFacebook; } var acc = AccountController.GetByUsername(order.CreatedBy); if (acc != null) { var accountInfo = AccountInfoController.GetByUserID(acc.ID); if (accountInfo != null) { if (!string.IsNullOrEmpty(accountInfo.Phone)) { phone = accountInfo.Phone; } } } string dateOrder = string.Format("{0:dd/MM/yyyy HH:mm}", order.DateDone); shtml += "<div class='hoadon'>"; shtml += "<div class='all'>"; if (numberOfOrders.Count < 4) { shtml += "<div class='head'>"; shtml += "<div class='logo'><div class='img'><img src='App_Themes/Ann/image/logo.png' /></div></div>"; shtml += "<div class='info'>"; shtml += "<div class='ct'>"; shtml += "<div class='ct-title'></div>"; shtml += "<div class='ct-detail'> " + address + "</div>"; shtml += "</div>"; shtml += "<div class='ct'>"; shtml += "<div class='ct-title'> </div>"; shtml += "<div class='ct-detail'> " + phone + "</div>"; shtml += "</div>"; shtml += "<div class='ct'>"; shtml += "<div class='ct-title'></div>"; shtml += "<div class='ct-detail'>http://ann.com.vn</div>"; shtml += "</div>"; shtml += "</div>"; shtml += "</div>"; } shtml += productPrint; if (numberOfOrders.Count < 4) { var config = ConfigController.GetByTop1(); string rule = ""; if (order.OrderType == 2) { rule = config.ChangeGoodsRule; } else { rule = config.RetailReturnRule; } shtml += "<div class='footer'><h3>CẢM ƠN QUÝ KHÁCH! HẸN GẶP LẠI !</h3></div> "; shtml += "<div class='footer'>" + rule + "</div> "; } else { shtml += "<div class='footer'>"; shtml += "<p>ANN rất vui khi quý khách đã mua " + numberOfOrders.Count + " đơn hàng!</p>"; shtml += "</div>"; } shtml += "</div>"; shtml += "</div>"; if (error != "") { ltrPrintInvoice.Text = "Xảy ra lỗi: " + error; ltrPrintEnable.Text = ""; } else { ltrPrintInvoice.Text = shtml; ltrPrintEnable.Text = "<div class='print-enable true'></div>"; } } } else { ltrPrintInvoice.Text = "Không tìm thấy đơn hàng " + ID; } } else { ltrPrintInvoice.Text = "Xảy ra lỗi!!!"; } }
public void LoadData() { int ID = Request.QueryString["id"].ToInt(0); int mergeprint = 0; if (Request.QueryString["merge"] != null) { mergeprint = Request.QueryString["merge"].ToInt(0); } if (ID > 0) { var order = OrderController.GetByID(ID); if (order != null) { #region Lấy ghi chú đơn hàng cũ var oldOrders = OrderController.GetAllNoteByCustomerID(Convert.ToInt32(order.CustomerID), ID); if (oldOrders.Count() > 1) { StringBuilder notestring = new StringBuilder(); foreach (var item in oldOrders) { notestring.AppendLine(String.Format("<li>Đơn <strong><a href='/thong-tin-don-hang?id={0}' target='_blank'>{0}</a></strong> (<em>{1}<em>): {2}</li>", item.ID, item.DateDone, item.OrderNote)); } StringBuilder notehtml = new StringBuilder(); notehtml.AppendLine("<div id='old-order-note'>"); notehtml.AppendLine(" <h2>" + oldOrders.Count() + " đơn hàng cũ gần nhất có ghi chú:</h2>"); notehtml.AppendLine(" <ul>"); notehtml.AppendLine(String.Format("{0}", notestring)); notehtml.AppendLine(" </ul>"); notehtml.AppendLine("</div>"); ltrOldOrderNote.Text = notehtml.ToString(); } #endregion ltrCopyInvoiceURL.Text = "<a href='javascript:;' onclick='copyInvoiceURL(" + order.ID + ", " + order.CustomerID + ")' title='Copy link hóa đơn' class='btn btn-violet h45-btn'>Copy link hóa đơn</a>"; string error = ""; string Print = ""; double TotalQuantity = 0; double TotalOrder = 0; var orderdetails = OrderDetailController.GetByIDSortBySKU(ID); var numberOfOrders = OrderController.GetByCustomerID(Convert.ToInt32(order.CustomerID)); if (orderdetails.Count > 0) { printItemList(ref ID, ref mergeprint, ref TotalQuantity, ref TotalOrder, ref Print); string productPrint = ""; string shtml = ""; productPrint += "<div class=\"body\">"; productPrint += "<div class=\"table-1\">"; productPrint += "<h1>XÁC NHẬN ĐƠN HÀNG #" + order.ID + "</h1>"; productPrint += "<div class=\"note\">"; productPrint += "<p>- Lưu ý, hình ảnh sản phẩm có thể hiển thị không đúng màu.</p>"; productPrint += "<p>- Quý khách vui lòng kiểm tra thuộc tính sản phẩm (Màu, Size).</p>"; productPrint += "<p>- Nếu có sai sót, quý khách vui lòng thông báo cho nhân viên.</p>"; productPrint += "</div>"; productPrint += "<table>"; productPrint += "<colgroup >"; productPrint += "<col class=\"col-left\"/>"; productPrint += "<col class=\"col-right\"/>"; productPrint += "</colgroup>"; productPrint += "<tbody>"; productPrint += "<tr>"; productPrint += "<td>Khách hàng</td>"; productPrint += "<td class=\"customer-name\">" + order.CustomerName + "</td>"; productPrint += "</tr>"; productPrint += "<tr>"; productPrint += "<td>Điện thoại</td>"; productPrint += "<td>" + order.CustomerPhone + "</td>"; productPrint += "</tr>"; productPrint += "<tr>"; productPrint += "<td>Ngày tạo</td>"; string date = string.Format("{0:dd/MM/yyyy HH:mm}", order.CreatedDate); productPrint += "<td>" + date + "</td>"; productPrint += "</tr>"; if (!string.IsNullOrEmpty(order.DateDone.ToString())) { productPrint += "<tr>"; productPrint += "<td>Hoàn tất</td>"; string datedone = string.Format("{0:dd/MM/yyyy HH:mm}", order.DateDone); productPrint += "<td>" + datedone + "</td>"; } productPrint += "</tr>"; productPrint += "<tr>"; productPrint += "<td>Nhân viên</td>"; productPrint += "<td>" + order.CreatedBy + "</td>"; productPrint += "</tr>"; if (!string.IsNullOrEmpty(order.OrderNote)) { productPrint += "<tr>"; productPrint += "<td>Ghi chú</td>"; productPrint += "<td>" + order.OrderNote + "</td>"; productPrint += "</tr>"; } productPrint += "</tbody>"; productPrint += "</table>"; productPrint += "</div>"; productPrint += "<div class=\"table-2\">"; productPrint += "<table>"; productPrint += "<colgroup>"; productPrint += "<col class=\"order-item\" />"; if (mergeprint == 0) { productPrint += "<col class=\"image\" />"; } productPrint += "<col class=\"name\" />"; productPrint += "<col class=\"quantity\" />"; productPrint += "<col class=\"price\" />"; productPrint += "<col class=\"subtotal\"/>"; productPrint += "</colgroup>"; productPrint += "<thead>"; productPrint += "<th>#</th>"; if (mergeprint == 0) { productPrint += "<th>Hình ảnh</th>"; } productPrint += "<th>Sản phẩm</th>"; productPrint += "<th>SL</th>"; productPrint += "<th>Giá</th>"; productPrint += "<th>Tổng</th>"; productPrint += "</thead>"; productPrint += "<tbody>"; productPrint += Print; productPrint += "<tr>"; string colspan = "5"; if (mergeprint == 1) { colspan = "4"; } productPrint += "<td colspan=\"" + colspan + "\" class=\"align-right\">Số lượng</td>"; productPrint += "<td>" + TotalQuantity + "</td>"; productPrint += "</tr>"; productPrint += "<tr>"; productPrint += "<td colspan=\"" + colspan + "\" class=\"align-right\">Thành tiền</td>"; productPrint += "<td>" + string.Format("{0:N0}", TotalOrder) + "</td>"; productPrint += "</tr>"; double TotalPrice = TotalOrder; if (order.DiscountPerProduct > 0) { var TotalDiscount = Convert.ToDouble(order.DiscountPerProduct) * Convert.ToDouble(TotalQuantity); TotalOrder = TotalOrder - TotalDiscount; TotalPrice = TotalPrice - TotalDiscount; productPrint += "<tr>"; productPrint += "<td colspan=\"" + colspan + "\" class=\"align-right\">Chiết khấu mỗi cái </td>"; productPrint += "<td>" + string.Format("{0:N0}", Convert.ToDouble(order.DiscountPerProduct)) + "</td>"; productPrint += "</tr>"; productPrint += "<tr>"; productPrint += "<td colspan=\"" + colspan + "\" class=\"align-right\">Trừ tổng chiết khấu</td>"; productPrint += "<td>-" + string.Format("{0:N0}", TotalDiscount) + "</td>"; productPrint += "</tr>"; productPrint += "<tr>"; productPrint += "<td colspan=\"" + colspan + "\" class=\"align-right\">Sau chiết khấu</td>"; productPrint += "<td>" + string.Format("{0:N0}", TotalOrder) + "</td>"; productPrint += "</tr>"; } if (order.RefundsGoodsID != null && order.RefundsGoodsID != 0) { var refund = RefundGoodController.GetByID(Convert.ToInt32(order.RefundsGoodsID)); if (refund != null) { TotalOrder = TotalOrder - Convert.ToDouble(refund.TotalPrice); productPrint += "<tr>"; productPrint += "<td colspan=\"" + colspan + "\" class=\"align-right\">Trừ hàng trả (đơn " + order.RefundsGoodsID + ")</td>"; productPrint += "<td>-" + string.Format("{0:N0}", Convert.ToDouble(refund.TotalPrice)) + "</td>"; productPrint += "</tr>"; productPrint += "<tr>"; productPrint += "<td colspan=\"" + colspan + "\" class=\"align-right\">Tổng tiền còn lại</td>"; productPrint += "<td>" + string.Format("{0:N0}", TotalOrder) + "</td>"; productPrint += "</tr>"; } else { error += "Không tìm thấy đơn hàng đổi trả " + order.RefundsGoodsID.ToString(); } } if (Convert.ToDouble(order.FeeShipping) > 0) { TotalOrder = TotalOrder + Convert.ToDouble(order.FeeShipping); TotalPrice = TotalPrice + Convert.ToDouble(order.FeeShipping); productPrint += "<tr>"; productPrint += "<td colspan=\"" + colspan + "\" class=\"align-right\">Phí vận chuyển</td>"; productPrint += "<td>" + string.Format("{0:N0}", Convert.ToDouble(order.FeeShipping)) + "</td>"; productPrint += "</tr>"; } // Check fee var fees = FeeController.getFeeInfo(ID); foreach (var fee in fees) { TotalOrder = TotalOrder + Convert.ToDouble(fee.Price); TotalPrice = TotalPrice + Convert.ToDouble(fee.Price); productPrint += "<tr>"; productPrint += "<td colspan=\"" + colspan + "\" class=\"align-right\">" + fee.Name + "</td>"; productPrint += "<td>" + string.Format("{0:N0}", Convert.ToDouble(fee.Price)) + "</td>"; productPrint += "</tr>"; } // Giảm giá if (order.CouponID.HasValue && order.CouponID.Value > 0) { var coupon = CouponController.getCoupon(order.CouponID.Value); TotalOrder = TotalOrder - Convert.ToDouble(coupon.Value); TotalPrice = TotalPrice - Convert.ToDouble(coupon.Value); productPrint += "<tr>"; productPrint += String.Format("<td colspan='{0}' class='align-right'>Mã giảm giá: {1}</td>", colspan, coupon.Code); productPrint += String.Format("<td>-{0:N0}</td>", Convert.ToDouble(coupon.Value)); productPrint += "</tr>"; } if (TotalPrice != Convert.ToDouble(order.TotalPrice)) { error += "Đơn hàng tính sai tổng tiền"; } productPrint += "<tr>"; productPrint += "<td colspan=\"" + colspan + "\" class=\"strong align-right\">TỔNG CỘNG</td>"; productPrint += "<td class=\"strong\">" + string.Format("{0:N0}", TotalOrder) + "</td>"; productPrint += "</tr>"; productPrint += "</tbody>"; productPrint += "</table>"; productPrint += "</div>"; productPrint += "</div>"; string dateOrder = string.Format("{0:dd/MM/yyyy HH:mm}", order.DateDone); shtml += "<div class=\"print-order-image\">"; shtml += "<div class=\"all print print-0\">"; if (numberOfOrders.Count < 4) { shtml += "<div class=\"head\">"; string address = ""; string phone = ""; var agent = AgentController.GetByID(Convert.ToInt32(order.AgentID)); if (agent != null) { address = agent.AgentAddress; phone = agent.AgentPhone; } var acc = AccountController.GetByUsername(order.CreatedBy); if (acc != null) { var accountInfo = AccountInfoController.GetByUserID(acc.ID); if (accountInfo != null) { if (!string.IsNullOrEmpty(accountInfo.Phone)) { phone = accountInfo.Phone; } } } shtml += "<div class=\"logo\"><img src=\"App_Themes/Ann/image/logo.png\" /></div>"; shtml += "<div class=\"info\">"; shtml += "<div class=\"ct\">"; shtml += "<div class=\"ct-title\"></div>"; shtml += "<div class=\"ct-detail\"> " + address + "</div>"; shtml += "</div>"; shtml += "<div class=\"ct\">"; shtml += "<div class=\"ct-title\"> </div>"; shtml += "<div class=\"ct-detail\"> " + phone + "</div>"; shtml += "</div>"; shtml += "</div>"; shtml += "</div>"; } shtml += productPrint; shtml += "</div>"; shtml += "</div>"; if (error != "") { ltrPrintInvoice.Text = "Xảy ra lỗi: " + error; } else { ltrPrintInvoice.Text = shtml; } } } else { ltrPrintInvoice.Text = "Không tìm thấy đơn hàng " + ID; } } else { ltrPrintInvoice.Text = "Xảy ra lỗi!!!"; } }