public void Init() { if (!string.IsNullOrEmpty(Remark)) { try { var jsonSerializer = new JavaScriptSerializer(); Partner = jsonSerializer.Deserialize<Partner>(Remark); } catch { throw new Exception("Can't get the Partner of OrderItem_TravelPartner.Remark"); } } else { throw new Exception("Can't get the Partner of OrderItem_TravelPartner.Remark"); } if (ProductGuid == null) throw new Exception("Loading OrderItem failed."); var p = Product.Cache.Load(ProductGuid); if (!p.ProductType.Equals(ProductType.TravelPartner)) throw new Exception("The OrderItem is not the type of TravelPartner."); }
protected void btnSubmit_Click(object sender, EventArgs e) { using (SqlConnection conn = new SqlConnection(DataAccess.ConnectString)) { conn.Open(); SqlTransaction trans = conn.BeginTransaction(); try { Member m = repo.Single<Member>(this.MID); // Update Member Information #region Get Member Nation & Region string _nation = ddlNation.SelectedValue; if (!string.IsNullOrEmpty(_nation)) { if (_nation.Equals("中国")) { m.Nation = _nation; if (!string.IsNullOrEmpty(tbRegion1.Text.Trim())) { if (!string.IsNullOrEmpty(tbRegion2.Text.Trim())) { m.Region = string.Format("{0}|{1}", tbRegion1.Text.Trim(), tbRegion2.Text.Trim()); } else { m.Region = tbRegion1.Text.Trim(); } } else { m.Region = string.Empty; } } else if (!string.IsNullOrEmpty(tbNation.Text.Trim())) { m.Nation = tbNation.Text.Trim(); m.Region = string.Empty; } else { m.Nation = _nation; m.Region = string.Empty; } } else { m.Nation = string.Empty; m.Region = string.Empty; } #endregion if (!string.IsNullOrEmpty(tbIDCardNo.Text.Trim())) m.IDCardNo = tbIDCardNo.Text.Trim(); else throw new Exception("请填写会员身份证号码"); if (!string.IsNullOrEmpty(tbPassportNo.Text.Trim())) m.PassportNo = tbPassportNo.Text.Trim(); else throw new Exception("请填写会员护照编号"); if (!string.IsNullOrEmpty(tbPassportName.Text.Trim())) m.PassportName = tbPassportName.Text.Trim(); else throw new Exception("请填写会员护照姓名"); if (!string.IsNullOrEmpty(tbMobile.Text.Trim())) m.Mobile = tbMobile.Text.Trim(); else throw new Exception("请填写会员手机"); if (!string.IsNullOrEmpty(tbQQ.Text.Trim())) m.QQ = tbQQ.Text.Trim(); else throw new Exception("请填写会员QQ"); if (!string.IsNullOrEmpty(tbEmail.Text.Trim())) m.Email = tbEmail.Text.Trim(); else throw new Exception("请填写会员邮箱"); m.MemberType = MemberType.Match; repo.Update(m); // New Order Order o = new Order(); int _newID = int.MinValue; if (OrderID > 0) { o = repo.Single<Order>(OrderID); } o.Mobile = m.Mobile; o.UpdateTime = DateTime.Now; o.Description = tbOrderDescription.Text.Trim(); o.OrderType = OrderBaseType.Travel; if (OrderID > 0) { repo.Update(o, trans); // used by setting OrderItem foreign key _newID = OrderID; } else { o.MemberID = m.ID; o.MemberName = m.Name; o.Address = m.Address; o.Payment = string.Empty; o.Price = 0; o.Sale = null; o.Deposit = null; o.Status = OrderStatusType.Draft; o.Rate = 0; o.CreateTime = DateTime.Now; o.IsActive = true; o.Remark = string.Empty; //Get the Order ID after Insert new one object _key = null; repo.Insert<Order>(o, out _key, trans); _newID = Convert.ToInt32(_key); } //Remove Order Item of this Order if (OrderID > 0 && o.ID.Equals(OrderID)) { int _count = 0; repo.Delete<OrderItem>(x => x.OrderID.Equals(OrderID), out _count, trans); } //New Order Items //Product pTravelPlan = Product.Cache.Load("2015ATPL"); Product pTravelPartner = Product.Cache.Load("2015ATPA"); if (pTravelPartner == null) throw new Exception("无观赛信息,请联系管理员"); // Get Partner Information to Serialize Json if (cbPartner.Checked) { OrdrItmTravelPartner oiPartner = new OrdrItmTravelPartner(); Partner pa = new Partner(); if (!string.IsNullOrEmpty(tbPartnerName.Text.Trim())) pa.Name = tbPartnerName.Text.Trim(); else throw new Exception("请填写同伴姓名"); if (!string.IsNullOrEmpty(ddlPartnerRelation.SelectedValue)) pa.Relation = int.Parse(ddlPartnerRelation.SelectedValue); else throw new Exception("请选择同伴关系"); if (!string.IsNullOrEmpty(rblPartnerGender.SelectedValue)) pa.Gender = bool.Parse(rblPartnerGender.SelectedValue); else pa.Gender = true; if (!string.IsNullOrEmpty(tbPartnerIDCardNo.Text.Trim())) pa.IDCardNo = tbPartnerIDCardNo.Text.Trim(); else throw new Exception("请填写同伴身份证"); if (!string.IsNullOrEmpty(tbPartnerPassportNo.Text.Trim())) pa.PassportNo = tbPartnerPassportNo.Text.Trim(); else throw new Exception("请填写同伴护照号码"); if (!string.IsNullOrEmpty(tbPartnerPassportName.Text.Trim())) pa.PassportName = tbPartnerPassportName.Text.Trim(); else throw new Exception("请填写同伴护照姓名"); oiPartner.Partner = pa; oiPartner.OrderID = _newID; oiPartner.Size = string.Empty; oiPartner.Quantity = 1; oiPartner.Sale = null; oiPartner.Place(m, pTravelPartner, trans); } // Generate OrderItemTravelPlan OrdrItmTravelPlan2015AsiaTrophy oiPlan = new OrdrItmTravelPlan2015AsiaTrophy(); // Get the value of IsTicket bool _isTicket; if (!string.IsNullOrEmpty(rblIsTicketOnly.SelectedValue)) { _isTicket = rblIsTicketOnly.SelectedValue.Equals("Tour", StringComparison.OrdinalIgnoreCase) ? false : true; } else { throw new Exception("请填写报名方式"); } // Generate Travel Option TravelOption to = new TravelOption(); if (cbMatch1.Checked && cbMatch2.Checked) { to.MatchOption = MatchOption.All; } else if (cbMatch1.Checked && !cbMatch2.Checked) { to.MatchOption = MatchOption.First; } else if (!cbMatch1.Checked && cbMatch2.Checked) { to.MatchOption = MatchOption.Second; } else { throw new Exception("请选择观赛的场次"); } to.IsVisa = cblTravelOption.Items.FindByValue("VISA").Selected; to.IsFlight = cblTravelOption.Items.FindByValue("FLIGHT").Selected; to.IsHotel = cblTravelOption.Items.FindByValue("HOTEL").Selected; to.IsTraining = cblTravelOption.Items.FindByValue("TRAINING").Selected; to.IsParty = cblTravelOption.Items.FindByValue("PARTY").Selected; to.IsSingapore = cblTravelOption.Items.FindByValue("SINGAPORE").Selected; oiPlan.IsTicketOnly = _isTicket; oiPlan.TravelOption = to; oiPlan.OrderID = _newID; oiPlan.Quantity = 1; oiPlan.Sale = null; oiPlan.Place(m, trans); trans.Commit(); ClientScript.RegisterClientScriptBlock(typeof(string), "succeed", string.Format("alert('订单({0})保存成功');window.location.href = 'ServerOrderView.ashx?OrderID={0}'", _newID.ToString()), true); } catch (Exception ex) { trans.Rollback(); ClientScript.RegisterClientScriptBlock(typeof(string), "failed", string.Format("alert('{0}')", ex.Message.ToString()), true); } //conn.Close(); } }
protected void btnSubmit_Click(object sender, EventArgs e) { using (var conn = new SqlConnection(DataAccess.ConnectString)) { conn.Open(); var trans = conn.BeginTransaction(); try { var m = repo.Single<Member>(Mid); // Update Member Information #region Get Member Nation & Region var _nation = ddlNation.SelectedValue; if (!string.IsNullOrEmpty(_nation)) { if (_nation.Equals("中国")) { m.Nation = _nation; if (!string.IsNullOrEmpty(tbRegion1.Text.Trim())) { if (!string.IsNullOrEmpty(tbRegion2.Text.Trim())) { m.Region = $"{tbRegion1.Text.Trim()}|{tbRegion2.Text.Trim()}"; } else { m.Region = tbRegion1.Text.Trim(); } } else { m.Region = string.Empty; } } else if (!string.IsNullOrEmpty(tbNation.Text.Trim())) { m.Nation = tbNation.Text.Trim(); m.Region = string.Empty; } else { m.Nation = _nation; m.Region = string.Empty; } } else { m.Nation = string.Empty; m.Region = string.Empty; } #endregion if (!string.IsNullOrEmpty(tbIDCardNo.Text.Trim())) m.IDCardNo = tbIDCardNo.Text.Trim(); else throw new Exception("请填写会员身份证号码"); if (!string.IsNullOrEmpty(tbPassportNo.Text.Trim())) m.PassportNo = tbPassportNo.Text.Trim(); else throw new Exception("请填写会员护照编号"); if (!string.IsNullOrEmpty(tbPassportName.Text.Trim())) m.PassportName = tbPassportName.Text.Trim(); else throw new Exception("请填写会员护照姓名"); if (!string.IsNullOrEmpty(tbMobile.Text.Trim())) m.Mobile = tbMobile.Text.Trim(); else throw new Exception("请填写会员手机"); if (!string.IsNullOrEmpty(tbQQ.Text.Trim())) m.QQ = tbQQ.Text.Trim(); else throw new Exception("请填写会员QQ"); if (!string.IsNullOrEmpty(tbEmail.Text.Trim())) m.Email = tbEmail.Text.Trim(); else throw new Exception("请填写会员邮箱"); //m.MemberType = MemberType.Match; repo.Update(m); // New Order var o = new Order(); var _newID = int.MinValue; if (OrderID > 0) { o = repo.Single<Order>(OrderID); } o.Mobile = m.Mobile; o.UpdateTime = DateTime.Now; o.Description = tbOrderDescription.Text.Trim(); o.OrderType = OrderBaseType.Travel; if (OrderID > 0) { repo.Update(o, trans); // used by setting OrderItem foreign key _newID = OrderID; } else { o.MemberID = m.ID; o.MemberName = m.Name; o.Address = m.Address; o.Payment = string.Empty; o.Price = 0; o.Sale = null; o.Deposit = null; o.Status = OrderStatusType.Draft; o.Rate = 0; o.CreateTime = DateTime.Now; o.IsActive = true; o.Remark = string.Empty; //Get the Order ID after Insert new one object _key = null; repo.Insert(o, out _key, trans); _newID = Convert.ToInt32(_key); } //Remove Order Item of this Order if (OrderID > 0 && o.ID.Equals(OrderID)) { var count = repo.Query<OrderItem>(x => x.OrderID == OrderID).Delete(trans); } //New Order Items //Product pETPL = Product.Cache.Load("iETPL"); var pETPA = Product.Cache.Load("iETPA"); if (pETPA == null) throw new Exception("无观赛信息,请联系管理员"); // Get Partner Information to Serialize Json if (cbPartner.Checked) { var oiPartner = new OrdrItmTravelPartner(); var pa = new Partner(); if (!string.IsNullOrEmpty(tbPartnerName.Text.Trim())) pa.Name = tbPartnerName.Text.Trim(); else throw new Exception("请填写同伴姓名"); if (!string.IsNullOrEmpty(ddlPartnerRelation.SelectedValue)) pa.Relation = int.Parse(ddlPartnerRelation.SelectedValue); else throw new Exception("请选择同伴关系"); if (!string.IsNullOrEmpty(rblPartnerGender.SelectedValue)) pa.Gender = bool.Parse(rblPartnerGender.SelectedValue); else pa.Gender = true; if (!string.IsNullOrEmpty(tbPartnerIDCardNo.Text.Trim())) pa.IDCardNo = tbPartnerIDCardNo.Text.Trim(); else throw new Exception("请填写同伴身份证"); if (!string.IsNullOrEmpty(tbPartnerPassportNo.Text.Trim())) pa.PassportNo = tbPartnerPassportNo.Text.Trim(); else throw new Exception("请填写同伴护照号码"); if (!string.IsNullOrEmpty(tbPartnerPassportName.Text.Trim())) pa.PassportName = tbPartnerPassportName.Text.Trim(); else throw new Exception("请填写同伴护照姓名"); oiPartner.Partner = pa; oiPartner.OrderID = _newID; oiPartner.Size = string.Empty; oiPartner.Quantity = 1; oiPartner.Sale = null; oiPartner.Place(m, pETPA, trans); } // Generate OrderItemTravelPlan var oiPlan = new OrdrItmTravelPlanLondon(); // Genernate Travel Date if (!string.IsNullOrEmpty(tbFromDate.Text.Trim()) && !string.IsNullOrEmpty(tbToDate.Text.Trim())) { oiPlan.TravelFromDate = DateTime.Parse(tbFromDate.Text.Trim()); oiPlan.TravelToDate = DateTime.Parse(tbToDate.Text.Trim()); } else { throw new Exception("请填写推荐出行时间"); } // Generate Travel Option //string _strTravelOption = string.Empty; var listTravelOption = new List<string>(); for (var i = 0; i < cblTravelOption.Items.Count; i++) { if (cblTravelOption.Items[i].Selected) { listTravelOption.Add(cblTravelOption.Items[i].Value); } } oiPlan.TravelOption = listTravelOption.Count > 0 ? listTravelOption.ToArray() : null; oiPlan.OrderID = _newID; oiPlan.Quantity = 1; oiPlan.Sale = null; oiPlan.Place(m, trans); trans.Commit(); ClientScript.RegisterClientScriptBlock(typeof (string), "succeed", string.Format("alert('订单({0})保存成功');window.location.href = 'ServerOrderView.ashx?OrderID={0}'", _newID), true); } catch (Exception ex) { trans.Rollback(); ClientScript.RegisterClientScriptBlock(typeof (string), "failed", $"alert('{ex.Message}')", true); } //conn.Close(); } }