public static string getFeeInfo(int orderID) { return(FeeController.getFeesJSON(orderID)); }
protected void btnOrder_Click(object sender, EventArgs e) { try { DateTime currentDate = DateTime.Now; string username = Request.Cookies["usernameLoginSystem"].Value; var acc = AccountController.GetByUsername(username); if (acc != null) { if (acc.RoleID == 0 || acc.RoleID == 2) { #region Lấy thông tin khởi tạo Order // Change user string UserHelp = ""; if (username != hdfUsernameCurrent.Value) { UserHelp = username; username = hdfUsernameCurrent.Value; } int AgentID = Convert.ToInt32(acc.AgentID); int OrderType = hdfOrderType.Value.ToInt(); string AdditionFee = "0"; string DisCount = "0"; int CustomerID = 0; string CustomerPhone = Regex.Replace(txtPhone.Text.Trim(), @"[^\d]", ""); string CustomerName = txtFullname.Text.Trim().ToLower().ToTitleCase(); string CustomerEmail = ""; string CustomerAddress = txtAddress.Text.Trim().ToTitleCase(); int ProvinceID = hdfProvinceID.Value.ToInt(0); int DistrictID = hdfDistrictID.Value.ToInt(0); int WardID = hdfWardID.Value.ToInt(0); var checkCustomer = CustomerController.GetByPhone(CustomerPhone); string kq = ""; #region Cập nhật thông tin khách hàng if (checkCustomer != null) { CustomerID = checkCustomer.ID; kq = CustomerController.Update(CustomerID, CustomerName, checkCustomer.CustomerPhone, CustomerAddress, "", checkCustomer.CustomerLevelID.Value, checkCustomer.Status.Value, checkCustomer.CreatedBy, currentDate, username, false, checkCustomer.Zalo, checkCustomer.Facebook, checkCustomer.Note, checkCustomer.Nick, checkCustomer.Avatar, checkCustomer.ShippingType.Value, checkCustomer.PaymentType.Value, checkCustomer.TransportCompanyID.Value, checkCustomer.TransportCompanySubID.Value, checkCustomer.CustomerPhone2, ProvinceID, DistrictID, WardID); } else { kq = CustomerController.Insert(CustomerName, CustomerPhone, CustomerAddress, CustomerEmail, 0, 0, currentDate, username, false, "", "", "", "", "", 0, 0, 0, 0, "", ProvinceID, DistrictID, WardID); if (kq.ToInt(0) > 0) { CustomerID = kq.ToInt(0); } } #endregion string totalPrice = hdfTotalPrice.Value.ToString(); string totalPriceNotDiscount = hdfTotalPriceNotDiscount.Value; int PaymentStatus = 3; int ExcuteStatus = 2; int PaymentType = 1; int ShippingType = 1; bool IsHidden = false; int WayIn = 1; double DiscountPerProduct = Convert.ToDouble(pDiscount.Value); double TotalDiscount = Convert.ToDouble(pDiscount.Value) * Convert.ToDouble(hdfTotalQuantity.Value); string FeeShipping = pFeeShip.Value.ToString(); double GuestPaid = Convert.ToDouble(pGuestPaid.Value); double GuestChange = Convert.ToDouble(totalPrice) - GuestPaid; var couponID = hdfCouponID.Value.ToInt(0); var couponValue = hdfCouponValue.Value.ToDecimal(0); tbl_Order order = new tbl_Order() { AgentID = AgentID, OrderType = OrderType, AdditionFee = AdditionFee, DisCount = DisCount, CustomerID = CustomerID, CustomerName = CustomerName, CustomerPhone = CustomerPhone, CustomerAddress = CustomerAddress, CustomerEmail = CustomerEmail, TotalPrice = totalPrice, TotalPriceNotDiscount = totalPriceNotDiscount, PaymentStatus = PaymentStatus, ExcuteStatus = ExcuteStatus, IsHidden = IsHidden, WayIn = WayIn, CreatedDate = currentDate, CreatedBy = username, DiscountPerProduct = DiscountPerProduct, TotalDiscount = TotalDiscount, FeeShipping = FeeShipping, GuestPaid = GuestPaid, GuestChange = GuestChange, PaymentType = PaymentType, ShippingType = ShippingType, OrderNote = String.Empty, DateDone = DateTime.Now, OtherFeeName = String.Empty, OtherFeeValue = 0, PostalDeliveryType = 1, UserHelp = UserHelp, CouponID = couponID, CouponValue = couponValue }; var ret = OrderController.InsertOnSystem(order); int OrderID = ret.ID; #endregion #region Khởi tạo Other Fee if (!String.IsNullOrEmpty(hdfOtherFees.Value)) { JavaScriptSerializer serializer = new JavaScriptSerializer(); var fees = serializer.Deserialize <List <Fee> >(hdfOtherFees.Value); if (fees != null) { foreach (var fee in fees) { fee.OrderID = ret.ID; fee.CreatedBy = acc.ID; fee.CreatedDate = DateTime.Now; fee.ModifiedBy = acc.ID; fee.ModifiedDate = DateTime.Now; } FeeController.Update(ret.ID, fees); } } #endregion #region Cập nhật Coupon if (order.CouponID.HasValue && order.CouponID.Value > 0) { CouponController.updateStatusCouponCustomer(CustomerID, order.CouponID.Value, false); } #endregion if (OrderID > 0) { #region Khởi tạo chi tiết đơn hàng ProductPOS POS = JsonConvert.DeserializeObject <ProductPOS>(hdfListProduct.Value); List <tbl_OrderDetail> orderDetails = new List <tbl_OrderDetail>(); List <tbl_StockManager> stockManager = new List <tbl_StockManager>(); // Reverser POS.productPOS.Reverse(); foreach (ProductGetOut item in POS.productPOS) { orderDetails.Add( new tbl_OrderDetail() { AgentID = AgentID, OrderID = OrderID, SKU = item.SKU, ProductID = item.ProductType == 1 ? item.ProductID : 0, ProductVariableID = item.ProductType == 1 ? 0 : item.ProductVariableID, ProductVariableDescrition = item.ProductVariableSave, Quantity = item.QuantityInstock, Price = item.Giabanle, Status = 1, DiscountPrice = 0, ProductType = item.ProductType, CreatedDate = currentDate, CreatedBy = username, IsCount = true } ); int parentID = item.ProductID; var variable = ProductVariableController.GetByID(item.ProductVariableID); if (variable != null) { parentID = Convert.ToInt32(variable.ProductID); } stockManager.Add( new tbl_StockManager() { AgentID = AgentID, ProductID = item.ProductType == 1 ? item.ProductID : 0, ProductVariableID = item.ProductType == 1 ? 0 : item.ProductVariableID, Quantity = item.QuantityInstock, QuantityCurrent = 0, Type = 2, NoteID = "Xuất kho bán POS", OrderID = OrderID, Status = 3, SKU = item.SKU, CreatedDate = currentDate, CreatedBy = username, MoveProID = 0, ParentID = parentID } ); } OrderDetailController.Insert(orderDetails); #endregion // Cập nhật lại sô lượng và giá vố vào đơn hàng OrderController.updateQuantityCOGS(OrderID); // Cập nhật lại thông tin kho hàng StockManagerController.Insert(stockManager); #region Khởi tạo đơn hàng đổi trả string refund = hdSession.Value; if (refund != "1") { string[] RefundID = refund.Split('|'); var update = RefundGoodController.UpdateStatus(RefundID[0].ToInt(), username, 2, OrderID); var updateor = OrderController.UpdateRefund(OrderID, RefundID[0].ToInt(), username); } #endregion // Hoàn thành khởi tạo đơn hàng nên gán lại giá trị trang lúc ban đầu hdStatusPage.Value = "Create"; ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "$(function () { HoldOn.close(); printInvoice(" + OrderID + ") });", true); } } } } catch (Exception) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "script", "$(function () { handleErrorSubmit(); });", true); } }
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!!!"; } }
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!!!"; } }
protected void btnOrder_Click(object sender, EventArgs e) { DateTime currentDate = DateTime.Now; string username = Request.Cookies["usernameLoginSystem"].Value; var acc = AccountController.GetByUsername(username); if (acc != null) { if (acc.RoleID == 0 || acc.RoleID == 2) { int AgentID = Convert.ToInt32(acc.AgentID); int OrderType = hdfOrderType.Value.ToInt(); string AdditionFee = "0"; string DisCount = "0"; int CustomerID = 0; string CustomerPhone = Regex.Replace(txtPhone.Text.Trim(), @"[^\d]", ""); string CustomerName = txtFullname.Text.Trim().ToLower().ToTitleCase(); string Nick = txtNick.Text.Trim(); string CustomerAddress = txtAddress.Text.Trim().ToTitleCase(); string Zalo = ""; string Facebook = txtFacebook.Text.Trim(); int PaymentStatus = ddlPaymentStatus.SelectedValue.ToInt(); int ExcuteStatus = ddlExcuteStatus.SelectedValue.ToInt(); int PaymentType = ddlPaymentType.SelectedValue.ToInt(); int ShippingType = ddlShippingType.SelectedValue.ToInt(); int ProvinceID = hdfProvinceID.Value.ToInt(0); int DistrictID = hdfDistrictID.Value.ToInt(0); int WardID = hdfWardID.Value.ToInt(0); int TransportCompanyID = ddlTransportCompanyID.SelectedValue.ToInt(0); int TransportCompanySubID = hdfTransportCompanySubID.Value.ToInt(0); var checkCustomer = CustomerController.GetByPhone(CustomerPhone); if (checkCustomer != null) { CustomerID = checkCustomer.ID; string kq = CustomerController.Update(CustomerID, CustomerName, checkCustomer.CustomerPhone, CustomerAddress, "", checkCustomer.CustomerLevelID.Value, checkCustomer.Status.Value, checkCustomer.CreatedBy, currentDate, username, false, Zalo, Facebook, checkCustomer.Note, Nick, checkCustomer.Avatar, checkCustomer.ShippingType.Value, checkCustomer.PaymentType.Value, checkCustomer.TransportCompanyID.Value, checkCustomer.TransportCompanySubID.Value, checkCustomer.CustomerPhone2, ProvinceID, DistrictID, WardID); } else { string kq = CustomerController.Insert(CustomerName, CustomerPhone, CustomerAddress, "", 0, 0, currentDate, username, false, Zalo, Facebook, "", Nick, "", ShippingType, PaymentType, TransportCompanyID, TransportCompanySubID, "", ProvinceID, DistrictID, WardID); if (kq.ToInt(0) > 0) { CustomerID = kq.ToInt(); } } string totalPrice = hdfTotalPrice.Value.ToString(); string totalPriceNotDiscount = hdfTotalPriceNotDiscount.Value; double DiscountPerProduct = Convert.ToDouble(pDiscount.Value); double TotalDiscount = Convert.ToDouble(pDiscount.Value) * Convert.ToDouble(hdfTotalQuantity.Value); string FeeShipping = pFeeShip.Value.ToString(); bool IsHidden = false; int WayIn = 1; string datedone = ""; if (ExcuteStatus == 2) { datedone = DateTime.Now.ToString(); } var couponID = hdfCouponID.Value.ToInt(0); var couponValue = hdfCouponValue.Value.ToDecimal(0); var orderNew = new tbl_Order() { AgentID = AgentID, OrderType = OrderType, AdditionFee = AdditionFee, DisCount = DisCount, CustomerID = CustomerID, CustomerName = CustomerName, CustomerPhone = CustomerPhone, CustomerAddress = CustomerAddress, CustomerEmail = String.Empty, TotalPrice = totalPrice, TotalPriceNotDiscount = totalPriceNotDiscount, PaymentStatus = PaymentStatus, ExcuteStatus = ExcuteStatus, IsHidden = IsHidden, WayIn = WayIn, CreatedDate = currentDate, CreatedBy = username, DiscountPerProduct = Convert.ToDouble(pDiscount.Value), TotalDiscount = TotalDiscount, FeeShipping = FeeShipping, PaymentType = PaymentType, ShippingType = ShippingType, GuestPaid = 0, GuestChange = 0, TransportCompanyID = TransportCompanyID, TransportCompanySubID = TransportCompanySubID, OtherFeeName = String.Empty, OtherFeeValue = 0, PostalDeliveryType = 1, CouponID = couponID, CouponValue = couponValue }; if (!String.IsNullOrEmpty(datedone)) { orderNew.DateDone = Convert.ToDateTime(datedone); } var ret = OrderController.Insert(orderNew); // Insert Other Fee if (!String.IsNullOrEmpty(hdfOtherFees.Value)) { JavaScriptSerializer serializer = new JavaScriptSerializer(); var fees = serializer.Deserialize <List <Fee> >(hdfOtherFees.Value); if (fees != null) { foreach (var fee in fees) { fee.OrderID = ret.ID; fee.CreatedBy = acc.ID; fee.CreatedDate = DateTime.Now; fee.ModifiedBy = acc.ID; fee.ModifiedDate = DateTime.Now; } FeeController.Update(ret.ID, fees); } } // Insert Transfer Bank var bankID = ddlBank.SelectedValue.ToInt(0); if (bankID != 0) { BankTransferController.Create(ret, bankID, acc); } // Inactive code coupon if (orderNew.CouponID.HasValue && orderNew.CouponID.Value > 0) { CouponController.updateStatusCouponCustomer(CustomerID, orderNew.CouponID.Value, false); } int OrderID = ret.ID; if (OrderID > 0) { var orderDetails = new List <tbl_OrderDetail>(); var stockManager = new List <tbl_StockManager>(); string list = hdfListProduct.Value; var items = list.Split(';').Where(x => !String.IsNullOrEmpty(x)).ToList(); if (items.Count > 0) { items.Reverse(); } foreach (var item in items) { string[] itemValue = item.Split(','); int ProductID = itemValue[0].ToInt(); int ProductVariableID = itemValue[11].ToInt(); string SKU = itemValue[1].ToString(); int ProductType = itemValue[2].ToInt(); // Tìm parentID int parentID = ProductID; var variable = ProductVariableController.GetByID(ProductVariableID); if (variable != null) { parentID = Convert.ToInt32(variable.ProductID); } string ProductVariableName = itemValue[3]; string ProductVariableValue = itemValue[4]; double Quantity = Convert.ToDouble(itemValue[5]); string ProductName = itemValue[6]; string ProductImageOrigin = itemValue[7]; string ProductVariable = itemValue[8]; double Price = Convert.ToDouble(itemValue[9]); string ProductVariableSave = itemValue[10]; orderDetails.Add(new tbl_OrderDetail() { AgentID = AgentID, OrderID = OrderID, SKU = SKU, ProductID = ProductID, ProductVariableID = ProductVariableID, ProductVariableDescrition = ProductVariableSave, Quantity = Quantity, Price = Price, Status = 1, DiscountPrice = 0, ProductType = ProductType, CreatedDate = currentDate, CreatedBy = username, IsCount = true }); stockManager.Add( new tbl_StockManager { AgentID = AgentID, ProductID = ProductID, ProductVariableID = ProductVariableID, Quantity = Quantity, QuantityCurrent = 0, Type = 2, NoteID = "Xuất kho khi tạo đơn", OrderID = OrderID, Status = 3, SKU = SKU, CreatedDate = currentDate, CreatedBy = username, MoveProID = 0, ParentID = parentID, }); } OrderDetailController.Insert(orderDetails); OrderController.updateQuantityCOGS(OrderID); StockManagerController.Insert(stockManager); string refund = hdSession.Value; if (refund != "1") { string[] RefundID = refund.Split('|'); var update = RefundGoodController.UpdateStatus(RefundID[0].ToInt(), username, 2, OrderID); var updateor = OrderController.UpdateRefund(OrderID, RefundID[0].ToInt(), username); } PJUtils.ShowMessageBoxSwAlertCallFunction("Tạo đơn hàng thành công", "s", true, "redirectTo(" + OrderID + ")", Page); } } } }