public OrderSession(order_session session) { this.SessionGuid = session.session_guid; this.SessionId = session.id; this.SaleOrderNo = session.sale_order_no; this.SaleOrderStatus = session.sale_order_status; this.POSInvoiceNo = session.pos_invice_no; this.POSOrderNo = session.pos_order_no; this.POSStatus = session.pos_order_status; this.POSSessionKey = session.pos_order_key; }
private OrderSession SaveSessionOrder(POSAirPortClassesDataContext _posDB, OrderHeader order, df_header_onl new_order) { // order_session db save var new_session_order = new order_session(); new_session_order.session_guid = Guid.NewGuid(); new_session_order.sale_agent_code = order.NewOrder.AgentCode; new_session_order.sale_order_no = order.NewOrder.OrderNo; new_session_order.sale_order_status = "Create"; new_session_order.sale_invoice_no = order.NewOrder.InvoiceNo; new_session_order.sale_platform = "online"; var obj_key = new OrderKey(); obj_key.Date = new_order.data_date.Date.ToString(); obj_key.DocNO = new_order.doc_no.ToString(); obj_key.MacNo = new_order.machine_no.Trim(); new_session_order.pos_order_key = JsonConvert.SerializeObject(obj_key); new_session_order.pos_order_no = new_order.machine_no.Trim() + "-" + new_order.doc_no; new_session_order.pos_order_status = new_order.LastStatus; new_session_order.pos_invice_no = new_order.machine_no.Trim() + "-" + new_order.runno; new_session_order.create_date = DateTime.Now; new_session_order.modified_date = DateTime.Now; _omDB.order_sessions.InsertOnSubmit(new_session_order); _omDB.SubmitChanges(); // order_tran db save var new_tren_order = new order_transaction(); new_tren_order.create_date = DateTime.Now; new_tren_order.session_id = new_session_order.id; new_tren_order.datail = "Create Sale Order Online [" + new_session_order.sale_order_no + "] <---> POS Order [" + new_session_order.pos_order_no + "]"; _omDB.order_transactions.InsertOnSubmit(new_tren_order); _omDB.SubmitChanges(); SaveLogInterface(_posDB, order, new_session_order); return(new OrderSession(new_session_order)); }
private void SaveLogInterface(POSAirPortClassesDataContext _posDB, OrderHeader order, order_session new_session_order) { // order_header db save var new_order_header = new order_header(); new_order_header.session_id = new_session_order.id; new_order_header.order_type = order.Flight.Terminal; new_order_header.member_id = order.NewOrder.MemberID; new_order_header.full_name = order.Billing.FirstName + " " + order.Billing.LastName; new_order_header.passport_no = order.Billing.PassportNo; new_order_header.country = order.Billing.CountryCode; new_order_header.airport_code = order.Flight.AirportCode; new_order_header.terminal_code = order.Flight.Terminal; new_order_header.airline_code = order.Flight.AirlineCode; new_order_header.flight_code = order.Flight.FlightCode; new_order_header.flight_no = order.Flight.FlightCode; //new_order_header.flight_ new_order_header.reference_1 = ""; new_order_header.reference_2 = ""; new_order_header.reference_3 = ""; new_order_header.remark = ""; new_order_header.create_date = DateTime.Now; _omDB.order_headers.InsertOnSubmit(new_order_header); _omDB.SubmitChanges(); // db save new order_detail and order_discount foreach (var item in order.Items.Select((value, index) => new { Value = value, Index = index })) { order_detail new_item = new order_detail(); new_item.header_id = new_order_header.id; new_item.line_no = item.Index + 1; new_item.sub_order_type = "I"; new_item.article_code = item.Value.MaterialCode; new_item.quantity = item.Value.Quantity; new_item.selling_price = item.Value.SellingPrice; new_item.total_amt = item.Value.Amount; new_item.dis_rate = item.Value.DiscountRate; new_item.dis_amt = item.Value.Discount; new_item.dis_pro_code = item.Value.PromoCode; new_item.sp_dis_amt = item.Value.SPDiscount; new_item.sp_dis_rate = item.Value.SPDiscountRate; new_item.sp_dis_pro_code = item.Value.SPPromoCode; new_item.net_amt = item.Value.TotalNet; new_item.reference_1 = ""; new_item.reference_2 = ""; new_item.reference_3 = ""; _omDB.order_details.InsertOnSubmit(new_item); _omDB.SubmitChanges(); } // new df_payment_onl var master_paymath = _posDB.df_paymeths.ToList(); foreach (var payment in order.Payments.Select((value, index) => new { Value = value, Index = index })) { decimal amt_curr = 0; var paymath = master_paymath.FirstOrDefault(x => x.method_code.Trim() == payment.Value.Code.Trim()); if (paymath != null) { if (paymath.check_voucher || paymath.is_cashcard) { amt_curr = 0; } else { amt_curr = payment.Value.Amount * 1; } } order_payment new_payment = new order_payment(); new_payment.header_id = new_order_header.id; new_payment.payment_type = payment.Value.Code; new_payment.paymemt_agent = ""; new_payment.paymemt_session_id = ""; new_payment.paymemt_ref_no = ""; new_payment.payment_code = payment.Value.Code; new_payment.paymemt_amt = payment.Value.Amount; new_payment.paymemt_datetime = DateTime.Now; _omDB.order_payments.InsertOnSubmit(new_payment); _omDB.SubmitChanges(); } }