void ReleaseDesignerOutlets() { if (AddReceiptsButton != null) { AddReceiptsButton.Dispose(); AddReceiptsButton = null; } if (ReceiptInfo != null) { ReceiptInfo.Dispose(); ReceiptInfo = null; } if (ReceiptName != null) { ReceiptName.Dispose(); ReceiptName = null; } if (ReceiptsProjectNumber != null) { ReceiptsProjectNumber.Dispose(); ReceiptsProjectNumber = null; } if (ReceiptsProjectTitle != null) { ReceiptsProjectTitle.Dispose(); ReceiptsProjectTitle = null; } }
public override (ReceiptInfo, DeviceStatus) PrintReversalReceipt(ReversalReceipt reversalReceipt) { var receiptInfo = new ReceiptInfo(); // Receipt header var(_, deviceStatus) = OpenReversalReceipt( reversalReceipt.Reason, reversalReceipt.ReceiptNumber, reversalReceipt.ReceiptDateTime, reversalReceipt.FiscalMemorySerialNumber, reversalReceipt.UniqueSaleNumber, reversalReceipt.Operator, reversalReceipt.OperatorPassword); if (!deviceStatus.Ok) { AbortReceipt(); deviceStatus.AddInfo($"Error occured while opening new fiscal reversal receipt"); return(receiptInfo, deviceStatus); } (receiptInfo, deviceStatus) = PrintReceiptBody(reversalReceipt, true); if (!deviceStatus.Ok) { AbortReceipt(); deviceStatus.AddInfo($"Error occured while printing reversal receipt body"); return(receiptInfo, deviceStatus); } return(receiptInfo, deviceStatus); }
public PastHistoryDetailPage(CaseInfo currentCase) { _currentCase = currentCase; InitializeComponent(); Emergency = _currentCase.CaseTypeLabelText; CaseDate.Text = _currentCase.CaseDateTime.ToString(); Description.Text = _currentCase.CaseDescription; uih.GetHelperInfoByID(_currentCase.HelperID); UserPro helper = uih.GetHelperInfo(); HelperImage.Source = helper.Icon; HelperName.Text = helper.FirstName; HelperRating.Text = bcc.StarNoToStarSign(helper.Rating); HelperLanguage.Text = helper.FLanguage + "/" + helper.SLanguage; ReceiptInfo _receipt = uih.GetReceiptByID(_currentCase.ReceiptID); ServiceFee.Text = _receipt.ServiceFee.ToString(); EquipmentFee.Text = _receipt.EqFee.ToString(); CycbisFee.Text = _receipt.Surcharge.ToString(); Tax.Text = _receipt.Tax.ToString(); Total.Text = (_receipt.EqFee + _receipt.ServiceFee + _receipt.Surcharge + _receipt.Tax).ToString(); PaymentNum.Text = _receipt.PaymentName; CaseDateTime.Text = _currentCase.CaseDateTime.ToString(); }
public async void ReprintSelectedReceipt(object selectedReceipt) { ReceiptInfo receiptToProceed = selectedReceipt as ReceiptInfo; log.Debug("ReprintReceiptViewModel: Go to ReprintReceiptDataViewModel and reprint receipt for invoiceNo:{0}.", receiptToProceed.InvoiceNumber); await this.navigationService.Navigate <ReprintReceiptDataViewModel, string>(receiptToProceed.InvoiceNumber); }
public Business(string eventId, int amount, string current, int transactionCount, ReceiptInfo receiptInfo) { EventId = eventId; Amount = amount; Currency = current; TransactionCount = transactionCount; ReceiptInfo = receiptInfo; }
public void Unsubscribe(object receipt) { ReceiptInfo r = receipt as ReceiptInfo; Action <string, EventBase> d; if (null != r && subscribers_.TryGetValue(r.name_, out d)) { subscribers_[r.name_] = (Action <string, EventBase>)Delegate.Remove(d, r.delegate_); } }
public void Unsubscribe(object receipt) { ReceiptInfo r = receipt as ReceiptInfo; Delegate d; if (null != r && subscribers_.TryGetValue(r.name_, out d)) { subscribers_[r.name_] = Delegate.Remove(d, r.delegate_); } }
public void RemoveLitener(object receipt) { ReceiptInfo r = receipt as ReceiptInfo; Delegate d; if (null != r && listeners_.TryGetValue(r.name_, out d)) { listeners_[r.name_] = Delegate.Remove(d, r.delegate_); } }
internal PurchaseResponseCallback(CMsgClientPurchaseResponse body) { Result = (EResult)body.eresult; PurchaseResult = (EPurchaseResult)body.purchase_result_details; using (MemoryStream ms = new MemoryStream(body.purchase_receipt_info)) { if (ReceiptInfo.TryReadAsBinary(ms)) { foreach (KeyValue lineItem in ReceiptInfo["lineitems"].Children) { Items.Add((uint)lineItem["PackageID"].AsUnsignedLong(), lineItem["ItemDescription"].AsString()); } } } }
public override (ReceiptInfo, DeviceStatus) PrintReceipt(Receipt receipt) { var receiptInfo = new ReceiptInfo(); // Abort all unfinished or erroneus receipts AbortReceipt(); var(fiscalMemorySerialNumber, deviceStatus) = GetFiscalMemorySerialNumber(); if (!deviceStatus.Ok) { return(receiptInfo, deviceStatus); } receiptInfo.FiscalMemorySerialNumber = fiscalMemorySerialNumber; // Receipt header (_, deviceStatus) = OpenReceipt( receipt.UniqueSaleNumber, receipt.Operator, receipt.OperatorPassword ); if (!deviceStatus.Ok) { AbortReceipt(); deviceStatus.AddInfo($"Error occured while opening new fiscal receipt"); return(receiptInfo, deviceStatus); } try { deviceStatus = PrintReceiptBody(receipt); if (!deviceStatus.Ok) { return(receiptInfo, deviceStatus); } } catch (StandardizedStatusMessageException e) { AbortReceipt(); deviceStatus = new DeviceStatus(); deviceStatus.AddError(e.Code, e.Message); return(receiptInfo, deviceStatus); } return(GetLastReceiptInfo()); }
internal ReceiptInfo GetReceiptByID(string receiptID) { ReceiptInfo tmp = new ReceiptInfo(); //建立数据库连接 MySqlConnection conn = new MySqlConnection(connStr); try { //建立连接,打开数据库 conn.Open(); string sqlstr = "SELECT ServiceFee,EqFee,Tax,Surcharges,PayTime FROM Receipts WHERE ReceiptID = @para1"; MySqlCommand cmd = new MySqlCommand(sqlstr, conn); //通过设置参数的形式给SQL 语句串值 cmd.Parameters.AddWithValue("para1", receiptID); //cmd.Parameters.AddWithValue("para2", password); MySqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { tmp.ServiceFee = reader.GetDouble(0); tmp.EqFee = reader.GetDouble(1); tmp.Tax = reader.GetDouble(2); tmp.Surcharge = reader.GetDouble(3); tmp.PaymentDateTime = reader.GetDateTime(4); tmp.PaymentName = "7785-9085-3425-8797"; } if (tmp != null) { return(tmp); } } catch (Exception ex) { Console.WriteLine(ex.ToString()); } finally { conn.Close(); //关闭连接 } return(tmp); }
public override (ReceiptInfo, DeviceStatus) PrintReceipt(Receipt receipt) { var receiptInfo = new ReceiptInfo(); var(fiscalMemorySerialNumber, deviceStatus) = GetFiscalMemorySerialNumber(); if (!deviceStatus.Ok) { return(receiptInfo, deviceStatus); } receiptInfo.FiscalMemorySerialNumber = fiscalMemorySerialNumber; // Receipt header (_, deviceStatus) = OpenReceipt(receipt.UniqueSaleNumber); if (!deviceStatus.Ok) { AbortReceipt(); deviceStatus.Statuses.Add($"Error occured while opening new fiscal receipt"); return(receiptInfo, deviceStatus); } try { deviceStatus = PrintReceiptBody(receipt); if (!deviceStatus.Ok) { return(receiptInfo, deviceStatus); } } catch (ArgumentNullException e) { AbortReceipt(); deviceStatus = new DeviceStatus(); deviceStatus.Statuses.Add($"Error occured while printing receipt items"); deviceStatus.Errors.Add(e.Message); return(receiptInfo, deviceStatus); } return(GetLastReceiptInfo()); }
public static void SendToOtherStation(object state) { ReceiptInfo ri = (ReceiptInfo)state; if (CommonData.localSettings.OtherPackingStationPort == 0) { return; } try { Byte[] request = Encoding.ASCII.GetBytes(string.Format("\x02{0},{1},{2}\x03", ri.orderNum, ri.materialNum, ri.qtyPacked)); var client = new TcpClient(CommonData.localSettings.OtherPackingStationAddr, CommonData.localSettings.OtherPackingStationPort); var stream = client.GetStream(); stream.Write(request, 0, request.Length); } catch (IOException) { } catch (SocketException) { } }
public override (ReceiptInfo, DeviceStatus) PrintReceipt(Receipt receipt) { var receiptInfo = new ReceiptInfo(); // Abort all unfinished or erroneus receipts AbortReceipt(); var(fiscalMemorySerialNumber, deviceStatus) = GetFiscalMemorySerialNumber(); if (!deviceStatus.Ok) { return(receiptInfo, deviceStatus); } receiptInfo.FiscalMemorySerialNumber = fiscalMemorySerialNumber; // Opening receipt (_, deviceStatus) = OpenReceipt( receipt.UniqueSaleNumber, receipt.Operator, receipt.OperatorPassword ); if (!deviceStatus.Ok) { AbortReceipt(); deviceStatus.AddInfo($"Error occured while opening new fiscal receipt"); return(receiptInfo, deviceStatus); } // Printing receipt's body deviceStatus = PrintReceiptBody(receipt); if (!deviceStatus.Ok) { AbortReceipt(); deviceStatus.AddInfo($"Error occured while printing receipt items"); return(receiptInfo, deviceStatus); } // Get the receipt date and time (current fiscal device date and time) DateTime?dateTime; (dateTime, deviceStatus) = GetDateTime(); if (!dateTime.HasValue || !deviceStatus.Ok) { AbortReceipt(); return(receiptInfo, deviceStatus); } receiptInfo.ReceiptDateTime = dateTime.Value; // Get receipt amount decimal?receiptAmount; (receiptAmount, deviceStatus) = GetReceiptAmount(); if (!receiptAmount.HasValue || !deviceStatus.Ok) { (_, deviceStatus) = AbortReceipt(); return(receiptInfo, deviceStatus); } receiptInfo.ReceiptAmount = receiptAmount.Value; // Closing receipt string closeReceiptResponse; (closeReceiptResponse, deviceStatus) = CloseReceipt(); if (!deviceStatus.Ok) { (_, deviceStatus) = AbortReceipt(); deviceStatus.AddInfo($"Error occurred while closing the receipt"); return(receiptInfo, deviceStatus); } // Get receipt number string lastDocumentNumberResponse; (lastDocumentNumberResponse, deviceStatus) = GetLastDocumentNumber(closeReceiptResponse); if (!deviceStatus.Ok) { (_, deviceStatus) = AbortReceipt(); deviceStatus.AddInfo($"Error occurred while reading last document number"); return(receiptInfo, deviceStatus); } receiptInfo.ReceiptNumber = lastDocumentNumberResponse; return(receiptInfo, deviceStatus); }
public virtual (ReceiptInfo, DeviceStatus) PrintReceiptBody(Receipt receipt, bool reversalReceipt = false) { var receiptInfo = new ReceiptInfo(); var(fiscalMemorySerialNumber, deviceStatus) = GetFiscalMemorySerialNumber(); if (!deviceStatus.Ok) { return(receiptInfo, deviceStatus); } receiptInfo.FiscalMemorySerialNumber = fiscalMemorySerialNumber; if (receipt.Items == null || receipt.Items.Count == 0) { deviceStatus.AddError("E410", "Receipt.Items must be not null or empty"); return(receiptInfo, deviceStatus); } uint itemNumber = 0; // Receipt items foreach (var item in receipt.Items) { itemNumber++; if (item.Type == ItemType.Comment) { (_, deviceStatus) = AddComment(receipt.UniqueSaleNumber, item.Text); if (!deviceStatus.Ok) { deviceStatus.AddInfo($"Error occurred in Item {itemNumber}"); return(receiptInfo, deviceStatus); } } else { if (item.PriceModifierValue < 0m) { throw new StandardizedStatusMessageException("PriceModifierValue amount must be positive number", "E403"); } if (item.PriceModifierValue != 0m && item.PriceModifierType == PriceModifierType.None) { throw new StandardizedStatusMessageException("PriceModifierValue must be 0 if priceModifierType is None", "E403"); } try { (_, deviceStatus) = AddItem( receipt.UniqueSaleNumber, item.Text, item.UnitPrice, item.TaxGroup, item.Quantity, item.PriceModifierValue, item.PriceModifierType, reversalReceipt); } catch (StandardizedStatusMessageException e) { deviceStatus = new DeviceStatus(); deviceStatus.AddError(e.Code, e.Message); } if (!deviceStatus.Ok) { deviceStatus.AddInfo($"Error occurred in Item {itemNumber}"); return(receiptInfo, deviceStatus); } } } // Get receipt number and amount string receiptNumber; decimal?receiptAmount; (receiptNumber, receiptAmount, deviceStatus) = GetReceiptNumberAndAmount(); if (!deviceStatus.Ok) { return(receiptInfo, deviceStatus); } receiptInfo.ReceiptNumber = receiptNumber; receiptInfo.ReceiptAmount = receiptAmount ?? 0m; // Receipt payments if (receipt.Payments == null || receipt.Payments.Count == 0) { deviceStatus = FullPayment(); if (!deviceStatus.Ok) { deviceStatus.AddInfo($"Error occurred while making full payment in cash"); return(receiptInfo, deviceStatus); } } else { uint paymentNumber = 0; foreach (var payment in receipt.Payments) { paymentNumber++; if (payment.PaymentType == PaymentType.Change) { continue; } try { (_, deviceStatus) = AddPayment(payment.Amount, payment.PaymentType); } catch (StandardizedStatusMessageException e) { deviceStatus = new DeviceStatus(); deviceStatus.AddError(e.Code, e.Message); } if (!deviceStatus.Ok) { deviceStatus.AddInfo($"Error occurred in Payment {paymentNumber}"); return(receiptInfo, deviceStatus); } } } // Get the receipt date and time (current fiscal device date and time) DateTime?dateTime; (dateTime, deviceStatus) = GetDateTime(); if (!deviceStatus.Ok) { return(receiptInfo, deviceStatus); } receiptInfo.ReceiptDateTime = dateTime ?? DateTime.Now; if (deviceStatus.Ok) { deviceStatus = FullPayment(); } return(receiptInfo, deviceStatus); }
public void AddNew(Receipts Receipt, List <ReceiptDetails> lst_RD, List <ReceiptsCard> lst_Card, ReceiptInfo ri, ReceiptMember rm, ref string ReceiptID) { ReceiptID = ""; string[][] prm_R = { new string[] { "ReceiptId", "" }, new string[] { "Note", Receipt.Note }, //new string[] {"NoOfCustumers",Receipt.NoOfCustumers}, new string[] { "NoOfCustumers", "0" }, new string[] { "CreatedBy", Receipt.CreatedBy }, new string[] { "Status", Receipt.Status }, new string[] { "TotalTax", double.Parse(Receipt.TotalTax).ToString() }, new string[] { "TotalAmount", double.Parse(Receipt.TotalAmount).ToString() }, new string[] { "TotalAmountBeforeTax", double.Parse(Receipt.TotalAmountBeforeTax).ToString() }, new string[] { "DiscountAmount", double.Parse(Receipt.DiscountAmount).ToString() }, new string[] { "TotalMoney", double.Parse(Receipt.TotalMoney).ToString() }, new string[] { "CashPayAmt", double.Parse(Receipt.CashPayAmt).ToString() }, new string[] { "CardPayAmt", double.Parse(Receipt.CardPayAmt).ToString() }, new string[] { "ReturnAmt", double.Parse(Receipt.ReturnAmt).ToString() }, new string[] { "ServiceCostAmount", double.Parse(Receipt.ServiceCostAmount).ToString() } }; string[][][] prm_RD = new string[lst_RD.Count][][]; int i = 0; foreach (ReceiptDetails rdt in lst_RD) //'TotalAmmount' { string[][] prm = { new string[] { "ReceiptId", "" }, new string[] { "ProductId", rdt.ProductId }, new string[] { "PromotionId", rdt.PromotionId }, new string[] { "CreatedBy", rdt.CreatedBy }, new string[] { "Status", rdt.Status }, new string[] { "Qty", double.Parse(rdt.Qty).ToString() }, new string[] { "Price", double.Parse(rdt.Price).ToString() }, new string[] { "TotalAmountBeforeTax", double.Parse(rdt.TotalAmountBeforeTax).ToString() }, new string[] { "TaxAmount", double.Parse(rdt.TaxAmount).ToString() }, new string[] { "TotalAmount", double.Parse(rdt.TotalAmount).ToString() }, new string[] { "RefOrderId", rdt.RefOrderId }, new string[] { "DeskId", rdt.DeskId } }; prm_RD[i] = prm; i++; } string[][][] prm_Card = null; if (lst_Card == null || lst_Card.Count == 0) { prm_Card = null; } else { i = 0; prm_Card = new string[lst_Card.Count][][]; foreach (ReceiptsCard rc in lst_Card) { string[][] prm = { new string[] { "ReceiptId", "" }, new string[] { "CardNo", rc.CardNo }, new string[] { "CardHolderName", rc.CardHolderName }, new string[] { "ExpiredDate", rc.ExpiredDate }, new string[] { "CreatedBy", rc.CreatedBy }, new string[] { "TotalAmount", double.Parse(rc.TotalAmount).ToString() }, new string[] { "Bank", rc.Bank }, new string[] { "CardType", rc.CardType }, new string[] { "TerminalId", rc.TerminalId }, new string[] { "MerchantId", rc.MerchantId }, new string[] { "TransType", rc.TransType }, new string[] { "BatchNo", rc.BatchNo }, new string[] { "TraceNo", rc.TraceNo }, new string[] { "RefNo", rc.RefNo }, new string[] { "AppCode", rc.AppCode } }; prm_Card[i] = prm; i++; } } /////// string[][] prm_RI = { }; if (ri != null) { string[][] prm = { new string[] { "ReceiptId", "" }, new string[] { "CustomerName", ri.CustomerName }, new string[] { "Address", ri.Address }, new string[] { "Phone", ri.Phone }, new string[] { "Note", ri.Note } }; prm_RI = prm; } else { prm_RI = null; } //////////////// string[][] prm_RM = { }; if (rm != null) { string[][] prm = { new string[] { "ReceiptId", "" }, new string[] { "MemberId", rm.MemberId }, new string[] { "Score", null }, new string[] { "CreatedBy", rm.CreatedBy } }; prm_RM = prm; } else { prm_RM = null; } Program.destopService.Tran_Insert_Receipt(Program.Username, Program.Password, ref errorString, prm_R, prm_RD, prm_Card, prm_RM, prm_RI, ref res, ref ReceiptID); }
public Entities.Order SubmitOrder(Guid userId, Entities.Order order) { var user = DbSession.Users.GetSingle(u => u.ID == userId); if (user == null) { throw new Exception("当前用户不存在"); } // 计算运费 decimal freight = 10; decimal books_total = 0; foreach (var item in order.OrderItems) { var book = DbSession.Books.GetSingle(b => b.ID == item.BookID); books_total += book.SellingPrice.GetValueOrDefault() * (decimal)item.Quantity; } if (books_total >= 78) { freight = 0; } // 处理订单地址 ReceiptInfo receipt = DbSession.ReceiptInfos.GetSingle(r => r.ID == order.Receipt.ID); if (receipt == null) { receipt = new ReceiptInfo { ID = Guid.NewGuid(), Address = order.Receipt.Address, ReceiptName = order.Receipt.ReceiptName, Phone = order.Receipt.Phone, Email = order.Receipt.Email }; user.Receipts.Add(receipt); } // 生成订单主体 var newOrder = new Order { ID = Guid.NewGuid(), NO = DateTime.Now.ToString("yyyyMMddHHmm") + new Random().Next(0, 100), Freight = freight, OrderPrice = books_total + freight, SubmitDate = DateTime.Now, State = OrderState.Submitted, ReceiptID = receipt.ID, UserID = user.ID, ShipDate = null, IsAudited = false, AuditDate = null, AuditUserID = null }; DbSession.Orders.Add(newOrder, false); // 生成订单明细 newOrder = user.Orders.FirstOrDefault(o => o.ID == newOrder.ID); foreach (var item in order.OrderItems) { var book = DbSession.Books.GetSingle(b => b.ID == item.BookID); var newItem = new OrderItem { BookID = book.ID, Quantity = item.Quantity, UnitPrice = book.SellingPrice.GetValueOrDefault() }; newOrder.OrderItems.Add(newItem); } // 生成订单跟踪 OderTrace trace = new OderTrace { ID = Guid.NewGuid(), Description = "客户" + user.Name + "提交了订单", SubmittedUserID = user.ID, SubmitTime = DateTime.Now }; newOrder.Traces.Add(trace); // 删除购物车商品 foreach (var item in order.OrderItems) { var cartItem = user.ShoppingCart.CartItems.FirstOrDefault(i => i.BookID == item.BookID); if (cartItem == null) { continue; } DbSession.CartItems.Delete(cartItem, false); } DbSession.SaveChanges(); return(newOrder); }
public IDictionary <string, object> Post(BookingDetail objbookingDetail) { Dictionary <string, object> ReceiptInfoDetails = new Dictionary <string, object>(); List <ReceiptInfo> objListReceiptInfo = new List <ReceiptInfo>(); List <PendingROIDInfo> objListPendingROIDInfo = new List <PendingROIDInfo>(); List <AdvanceReceiptInfo> objListAdvanceReceiptInfo = new List <AdvanceReceiptInfo>(); try { string strXml = "<ebooking><actionname>" + objbookingDetail.Parametername + "</actionname>" + "<loguserid>" + objbookingDetail.UserId + "</loguserid>" + "<roid>" + objbookingDetail.ROID + "</roid>" + "<revenuecentreid>" + objbookingDetail.RevenueCentreID + "</revenuecentreid></ebooking>"; DataSet objds = objHomeDAL.GeteBookingControlData(strXml); DataTable objdt = objds.Tables[0]; DataTable objdt1 = objds.Tables[1]; DataTable objdt2 = objds.Tables[2]; ReceiptInfo objReceiptInfo; if (objdt.Rows.Count > 0) { foreach (DataRow dr in objdt.Rows) { objReceiptInfo = new ReceiptInfo(); objReceiptInfo.AgencyID = Convert.ToString(dr["AgencyID"]); objReceiptInfo.ClientID = Convert.ToString(dr["ClientID"]); objReceiptInfo.ClientName = Convert.ToString(dr["ClientName"]); objReceiptInfo.CasualAddress = Convert.ToString(dr["CasualAddress"]); objReceiptInfo.City = Convert.ToString(dr["City"]); objReceiptInfo.Zip = Convert.ToString(dr["zip"]); objReceiptInfo.Phone = Convert.ToString(dr["Phone"]); objReceiptInfo.AgencyName = Convert.ToString(dr["AgencyName"]); objListReceiptInfo.Add(objReceiptInfo); } } PendingROIDInfo objPendingROIDInfo; if (objdt1.Rows.Count > 0) { foreach (DataRow dr in objdt1.Rows) { objPendingROIDInfo = new PendingROIDInfo(); objPendingROIDInfo.ROID = Convert.ToString(dr["ROID"]); objPendingROIDInfo.Net = Convert.ToString(dr["Net"]); objListPendingROIDInfo.Add(objPendingROIDInfo); } } AdvanceReceiptInfo objAdvanceReceiptInfo; if (objdt2.Rows.Count > 0) { foreach (DataRow dr in objdt2.Rows) { objAdvanceReceiptInfo = new AdvanceReceiptInfo(); objAdvanceReceiptInfo.ReceiptID = Convert.ToString(dr["ReceiptID"]); objAdvanceReceiptInfo.BalanceAmount = Convert.ToDouble(dr["BalanceAmount"]); objListAdvanceReceiptInfo.Add(objAdvanceReceiptInfo); } } ReceiptInfoDetails.Add("ReceiptInfo", objListReceiptInfo); ReceiptInfoDetails.Add("PendingROIDInfo", objListPendingROIDInfo); ReceiptInfoDetails.Add("AdvanceReceiptInfo", objListAdvanceReceiptInfo); } catch (Exception ex) { } return(ReceiptInfoDetails); }
public static ReceiptsAll GetAllInfo(string ReceiptID) { ReceiptsAll res = new ReceiptsAll(); DataSet ds = new DataSet(); string[][] param = { new string[] { "p_ReceiptId", ReceiptID }, }; string errorString = ""; string cnStr = GetConnectionString(); DataStoreProcQuery_Param(cnStr, "spSelect_Receipt_AllInfo", ref ds, param, ref errorString); if (string.IsNullOrEmpty(errorString) && ds.Tables.Count > 0) { if (ds.Tables[0].Rows.Count > 0) { DataTable dt = ds.Tables[0]; DataRow dr = dt.Rows[0]; Receipts rc = new Receipts(); rc.ReceiptId = dr["ReceiptId"].ToString(); rc.CreatedBy = dr["CreatedBy"].ToString(); rc.CreatedDate = dr["CreatedDate"].ToString(); rc.TotalAmountBeforeTax = double.Parse(dr["TotalAmountBeforeTax"].ToString()).ToString("0,0"); rc.TotalTax = double.Parse(dr["TotalTax"].ToString()).ToString("0,0"); rc.TotalAmount = double.Parse(dr["TotalAmount"].ToString()).ToString("0,0"); rc.DiscountAmount = double.Parse(dr["DiscountAmount"].ToString()).ToString("0,0"); rc.TotalMoney = double.Parse(dr["TotalMoney"].ToString()).ToString("0,0"); rc.CashPayAmt = double.Parse(dr["CashPayAmt"].ToString()).ToString("0,0"); rc.CardPayAmt = double.Parse(dr["CardPayAmt"].ToString()).ToString("0,0"); rc.ReturnAmt = double.Parse(dr["ReturnAmt"].ToString()).ToString("0,0"); res.receipt = rc; } ///// if (ds.Tables[1].Rows.Count > 0) { DataTable dt = ds.Tables[1]; List <ReceiptDetails> lst = new List <ReceiptDetails>(); foreach (DataRow dr in dt.Rows) { ReceiptDetails rc = new ReceiptDetails(); rc.ReceiptId = dr["ReceiptId"].ToString(); rc.ProductId = dr["ProductId"].ToString(); rc.ProductName = GetProductName(dr["ProductId"].ToString()); rc.Qty = double.Parse(dr["Qty"].ToString()).ToString("0,0"); rc.Price = double.Parse(dr["Price"].ToString()).ToString("0,0"); rc.TotalAmountBeforeTax = double.Parse(dr["TotalAmountBeforeTax"].ToString()).ToString("0,0"); rc.TaxAmount = double.Parse(dr["TaxAmount"].ToString()).ToString("0,0"); rc.TotalAmount = double.Parse(dr["TotalAmount"].ToString()).ToString("0,0"); lst.Add(rc); } res.lst_Detail = lst; } ///thẻ if (ds.Tables[2].Rows.Count > 0) { DataTable dt = ds.Tables[2]; List <ReceiptsCard> lst = new List <ReceiptsCard>(); foreach (DataRow dr in dt.Rows) { ReceiptsCard rc = new ReceiptsCard(); rc.ReceiptId = dr["ReceiptId"].ToString(); rc.CardNo = dr["CardNo"].ToString(); rc.CardHolderName = dr["CardHolderName"].ToString(); rc.ExpiredDate = dr["ExpiredDate"].ToString(); rc.CardType = dr["CardType"].ToString(); rc.Bank = dr["Bank"].ToString(); rc.TotalAmount = double.Parse(dr["TotalAmount"].ToString()).ToString("0,0"); lst.Add(rc); } res.lst_card = lst; } // ReceiptInfo if (ds.Tables[3].Rows.Count > 0) { DataTable dt = ds.Tables[3]; DataRow dr = dt.Rows[0]; ReceiptInfo rc = new ReceiptInfo(); rc.ReceiptId = dr["ReceiptId"].ToString(); rc.CustomerName = dr["CustomerName"].ToString(); rc.Address = dr["Address"].ToString(); rc.Phone = dr["Phone"].ToString(); rc.Note = dr["Note"].ToString(); res.receiptInfo = rc; } // ReceiptMember if (ds.Tables[4].Rows.Count > 0) { DataTable dt = ds.Tables[4]; DataRow dr = dt.Rows[0]; ReceiptMember rc = new ReceiptMember(); rc.ReceiptId = dr["ReceiptId"].ToString(); rc.MemberId = dr["MemberId"].ToString(); rc.CreatedBy = dr["CreatedBy"].ToString(); DataTable dte = GetMemberInfo(dr["MemberId"].ToString()); if (dte != null) { DataRow drr = dte.Rows[0]; rc.MemberCode = drr["MemberCode"].ToString(); rc.ObjectId = drr["ObjectId"].ToString(); rc.NumberOfVissits = drr["NumberOfVissits"].ToString(); rc.LastestDate = drr["LastestDate"].ToString(); rc.MemberType = drr["MemberType"].ToString(); rc.MemberScore = drr["MemberScore"].ToString(); rc.ObjectGroup = drr["ObjectGroup"].ToString(); rc.ObjectType = drr["ObjectType"].ToString(); rc.Tel = drr["Tel"].ToString(); rc.Email = drr["Email"].ToString(); rc.MemberCode = drr["Gender"].ToString(); rc.FullName = drr["FullName"].ToString(); rc.TemAdd = drr["TemAdd"].ToString(); } res.receiptMember = rc; } } else { res = null; } return(res); }
public ReceiptsAll GetAllInfo(string ReceiptID) { ReceiptsAll res = new ReceiptsAll(); DataSet ds = new DataSet(); string[][] param = { new string[] { "p_ReceiptId", ReceiptID }, }; Program.destopService.DataStoreProcQuery_Param(Program.Username, Program.Password, "spSelect_Receipt_AllInfo", ref ds, param, ref errorString); if (string.IsNullOrEmpty(errorString) && ds.Tables.Count > 0) { if (ds.Tables[0].Rows.Count > 0) { DataTable dt = ds.Tables[0]; DataRow dr = dt.Rows[0]; Receipts rc = new Receipts(); rc.ReceiptId = dr["ReceiptId"].ToString(); rc.CreatedBy = dr["CreatedBy"].ToString(); rc.CreatedDate = Convert.ToDateTime(dr["CreatedDate"].ToString()).ToString("dd/MM/yy H:s"); rc.TotalAmountBeforeTax = double.Parse(dr["TotalAmountBeforeTax"].ToString()).ToString("0,0"); rc.TotalTax = double.Parse(dr["TotalTax"].ToString()).ToString("0,0"); rc.TotalAmount = double.Parse(dr["TotalAmount"].ToString()).ToString("0,0"); rc.DiscountAmount = double.Parse(dr["DiscountAmount"].ToString()).ToString("0,0"); rc.TotalMoney = double.Parse(dr["TotalMoney"].ToString()).ToString("0,0"); rc.CashPayAmt = double.Parse(dr["CashPayAmt"].ToString()).ToString("0,0"); rc.CardPayAmt = double.Parse(dr["CardPayAmt"].ToString()).ToString("0,0"); rc.ReturnAmt = double.Parse(dr["ReturnAmt"].ToString()).ToString("0,0"); rc.ServiceCostAmount = double.Parse(dr["ServiceCostAmount"].ToString()).ToString("0,0"); res.receipt = rc; } ///// if (ds.Tables[1].Rows.Count > 0) { Tuple <string, string> result; DataTable dt = ds.Tables[1]; List <ReceiptDetails> lst = new List <ReceiptDetails>(); foreach (DataRow dr in dt.Rows) { ReceiptDetails rc = new ReceiptDetails(); rc.ReceiptId = dr["ReceiptId"].ToString(); rc.ProductId = dr["ProductId"].ToString(); if (dr["ProductId"].ToString() != "DISCOUNT") { result = GetProductInfoForReceipt(dr["ProductId"].ToString()); //rc.ProductName = GetProductName(dr["ProductId"].ToString()); rc.ProductName = result.Item1; rc.IsBuffet = result.Item2; } else { rc.ProductName = dr["ProductId"].ToString(); rc.IsBuffet = "0"; } rc.Qty = double.Parse(dr["Qty"].ToString()).ToString("0,0"); rc.Price = double.Parse(dr["Price"].ToString()).ToString("0,0"); rc.TotalAmountBeforeTax = double.Parse(dr["TotalAmountBeforeTax"].ToString()).ToString("0,0"); rc.TaxAmount = double.Parse(dr["TaxAmount"].ToString()).ToString("0,0"); rc.TotalAmount = double.Parse(dr["TotalAmount"].ToString()).ToString("0,0"); lst.Add(rc); } //Duyệt lại lst va set theo thu tu List <ReceiptDetails> lstNew = new List <ReceiptDetails>(); //Lấy sp khác buffet foreach (ReceiptDetails rd in lst) { ReceiptDetails rds = new ReceiptDetails(); if (rd.IsBuffet != "1") { rds.ReceiptId = rd.ReceiptId; rds.ProductId = rd.ProductId; rds.ProductName = rd.ProductName; rds.IsBuffet = rd.IsBuffet; rds.Qty = rd.Qty; rds.Price = rd.Price; rds.TotalAmountBeforeTax = rd.TotalAmountBeforeTax; rds.TaxAmount = rd.TaxAmount; rds.TotalAmount = rd.TotalAmount; lstNew.Add(rds); } } if (lst.Count > lstNew.Count) { //Lấy sp là buffet và price != 0 foreach (ReceiptDetails rd in lst) { ReceiptDetails rds1 = new ReceiptDetails(); if (rd.IsBuffet == "1" && double.Parse(rd.Price) > 0) { rds1.ReceiptId = rd.ReceiptId; rds1.ProductId = rd.ProductId; rds1.ProductName = rd.ProductName; rds1.IsBuffet = rd.IsBuffet; rds1.Qty = rd.Qty; rds1.Price = rd.Price; rds1.TotalAmountBeforeTax = rd.TotalAmountBeforeTax; rds1.TaxAmount = rd.TaxAmount; rds1.TotalAmount = rd.TotalAmount; lstNew.Add(rds1); } } foreach (ReceiptDetails rd in lst) { ReceiptDetails rds2 = new ReceiptDetails(); if (rd.IsBuffet == "1" && double.Parse(rd.Price) == 0) { rds2.ReceiptId = rd.ReceiptId; rds2.ProductId = rd.ProductId; rds2.ProductName = rd.ProductName; rds2.IsBuffet = rd.IsBuffet; rds2.Qty = rd.Qty; rds2.Price = rd.Price; rds2.TotalAmountBeforeTax = rd.TotalAmountBeforeTax; rds2.TaxAmount = rd.TaxAmount; rds2.TotalAmount = rd.TotalAmount; lstNew.Add(rds2); } } } res.lst_Detail = lstNew; } ///thẻ if (ds.Tables[2].Rows.Count > 0) { DataTable dt = ds.Tables[2]; List <ReceiptsCard> lst = new List <ReceiptsCard>(); foreach (DataRow dr in dt.Rows) { ReceiptsCard rc = new ReceiptsCard(); rc.ReceiptId = dr["ReceiptId"].ToString(); rc.CardNo = dr["CardNo"].ToString(); rc.CardHolderName = dr["CardHolderName"].ToString(); rc.ExpiredDate = dr["ExpiredDate"].ToString(); rc.CardType = dr["CardType"].ToString(); rc.Bank = dr["Bank"].ToString(); rc.TotalAmount = double.Parse(dr["TotalAmount"].ToString()).ToString("0,0"); lst.Add(rc); } res.lst_card = lst; } // ReceiptInfo if (ds.Tables[3].Rows.Count > 0) { DataTable dt = ds.Tables[3]; DataRow dr = dt.Rows[0]; ReceiptInfo rc = new ReceiptInfo(); rc.ReceiptId = dr["ReceiptId"].ToString(); rc.CustomerName = dr["CustomerName"].ToString(); rc.Address = dr["Address"].ToString(); rc.Phone = dr["Phone"].ToString(); rc.Note = dr["Note"].ToString(); res.receiptInfo = rc; } // ReceiptMember if (ds.Tables[4].Rows.Count > 0) { DataTable dt = ds.Tables[4]; DataRow dr = dt.Rows[0]; ReceiptMember rc = new ReceiptMember(); rc.ReceiptId = dr["ReceiptId"].ToString(); rc.MemberId = dr["MemberId"].ToString(); rc.CreatedBy = dr["CreatedBy"].ToString(); DataTable dte = GetMemberInfo(dr["MemberId"].ToString()); if (dte != null) { DataRow drr = dte.Rows[0]; rc.MemberCode = drr["MemberCode"].ToString(); rc.ObjectId = drr["ObjectId"].ToString(); rc.NumberOfVissits = drr["NumberOfVissits"].ToString(); rc.LastestDate = drr["LastestDate"].ToString(); rc.MemberType = drr["MemberType"].ToString(); rc.MemberScore = drr["MemberScore"].ToString(); rc.ObjectGroup = drr["ObjectGroup"].ToString(); rc.ObjectType = drr["ObjectType"].ToString(); rc.Tel = drr["Tel"].ToString(); rc.Email = drr["Email"].ToString(); rc.MemberCode = drr["Gender"].ToString(); rc.FullName = drr["FullName"].ToString(); rc.TemAdd = drr["TemAdd"].ToString(); } res.receiptMember = rc; } } else { res = null; } return(res); }