public Alading.Entity.Consumer GetNewConsumer() { //TODO: (WXC) 将界面上的用户信息封装成对象 Alading.Entity.Consumer consumer = new Alading.Entity.Consumer(); //属性赋值... //第一组属性 consumer.source = selectedSource; switch (selectedGrade) { case 0: consumer.vip = false; consumer.is_dealer = false; break; case 1: consumer.vip = true; consumer.is_dealer = false; break; case 2: consumer.vip = false; consumer.is_dealer = true; break; } consumer.nick = txConsumerName.Text; consumer.alipay = txZhifubao.Text; consumer.score = Convert.ToInt32(txJifen.Text); consumer.level = cbLevel.SelectedIndex; //第二组属性 consumer.buyer_name = txBuyer.Text; consumer.location_city = cbCity.Text; consumer.location_state = cbProvince.Text; consumer.buyer_zip = txZipcode.Text; consumer.location_district = cbCounty.Text; consumer.location_address = txAddr.Text; //第三组属性 consumer.mobilephone = txMobile.Text; consumer.email = txEmail.Text; consumer.phone = txTel.Text; consumer.comments = htDesc.PrintingRichEditControl.Text; consumer.buyer_wangwang = txWangwang.Text; return(consumer); }
private void BuildEmailRecord(Alading.Entity.Consumer consumer) { string content = BuildEmailContent(consumer, Shop); //databuffer.Rows.Add( // 0, //Id // Guid.NewGuid().ToString(), //VisitCode // consumer.nick, //ConsumerNick // "邮件", //Type // EmailSubject, //Subject // content, //Content // DateTime.Now, //VisitTime // consumer.email, //Receiver // "待发送", //Status // taskcode //TaskCode // ); System.Data.DataRow row = databuffer.NewRow(); row["A30P1"] = Guid.NewGuid().ToString(); row["A30P2"] = consumer.nick; row["A30P3"] = "邮件"; row["A30P4"] = EmailSubject; row["A30P5"] = BuildEmailContent(consumer, Shop); row["A30P6"] = TaskStartTime; row["A30P7"] = consumer.email; row["A30P8"] = "待发送"; row["A30P9"] = taskcode; databuffer.Rows.Add(row); }
public void RemoveItem(Alading.Entity.Consumer item) { int index = consumerList.FindIndex(c => c.nick == item.nick); if (index >= 0) { consumerList.RemoveAt(index); } }
public void StepNext() { if (Receivers.Count > 0 && currentIndex < Receivers.Count) { Alading.Entity.Consumer currentObject = Receivers[currentIndex]; BuildEmailRecord(currentObject); currentIndex++; } }
private string BuildEmailContent(Alading.Entity.Consumer consumer, Alading.Entity.Shop shop) { StringBuilder sb = new StringBuilder(EmailContentTemplate); string addr = string.Format("{0} {1} {2} {3} {4}", consumer.location_country, consumer.location_state, consumer.location_city, consumer.location_district, consumer.location_address); sb.Replace("@收货人@", consumer.buyer_name); sb.Replace("@收货地址@", addr); sb.Replace("@邮政编码@", consumer.buyer_zip); sb.Replace("@联系电话@", consumer.phone); sb.Replace("@客户昵称@", consumer.nick); sb.Replace("@客户地址@", addr); sb.Replace("@客户邮编@", consumer.buyer_zip); sb.Replace("@客户电话@", consumer.phone); sb.Replace("@客户手机@", consumer.mobilephone); sb.Replace("@客户邮箱@", consumer.email); if (shop != null) { string shopAddr = string.Format("{0} {1} {2} {3} {4}", shop.seller_country, shop.seller_state, shop.seller_city, shop.seller_district, shop.seller_address); sb.Replace("@店主昵称@", shop.nick); sb.Replace("@店主地址@", shopAddr); sb.Replace("@店主邮编@", shop.seller_zip); sb.Replace("@店主电话@", shop.seller_tel); sb.Replace("@店主手机@", shop.seller_mobile); sb.Replace("@店铺名称@", shop.title); } else { sb.Replace("@店主昵称@", string.Empty); sb.Replace("@店主地址@", string.Empty); sb.Replace("@店主邮编@", string.Empty); sb.Replace("@店主电话@", string.Empty); sb.Replace("@店主手机@", string.Empty); sb.Replace("@店铺名称@", string.Empty); } sb.Replace("@系统日期@", DateTime.Today.ToShortDateString()); sb.Replace("@系统时间@", DateTime.Now.ToLongTimeString()); return sb.ToString(); }
public void AddItem(Alading.Entity.Consumer item) { int index = consumerList.FindIndex(c => c.nick == item.nick); if (index >= 0) { consumerList[index] = item; } else { consumerList.Add(item); } }
private void btNewConsumer_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { //TODO: (WXC) 添加客户 ConsumerAdd consumerAdd = new ConsumerAdd(); if (DialogResult.OK == consumerAdd.ShowDialog()) { Alading.Entity.Consumer consumer = consumerAdd.GetNewConsumer(); Alading.Core.Enum.ReturnType result = Alading.Business.ConsumerService.AddConsumer(consumer); if (result == Alading.Core.Enum.ReturnType.Success) { LoadStrategy = new LoadAllConsumer(); LoadAllConsumer(); } //do when insert data is failed else { XtraMessageBox.Show("保存数据失败!"); } } }
private void gvConsumerView_RowClick(object sender, DevExpress.XtraGrid.Views.Grid.RowClickEventArgs e) { //选中客户 int[] rows = gvConsumerView.GetSelectedRows(); if (rows.Length > 0) { selectedConsumer = consumerList[rows[0]]; btSave.Enabled = true; btSendText.Enabled = true; btSendMail.Enabled = true; //加载用户基本信息 FillConsumerInfo(); //导入客户地址信息 consumerAddressList = Alading.Business.ConsumerAddressService.GetConsumerAddress(c => c.buyer_nick == selectedConsumer.nick); gcAddrGrid.DataSource = null; gcAddrGrid.DataSource = consumerAddressList; //导入客户交易记录 consumerTradeList = Alading.Business.TradeService.GetTrade(c => c.buyer_nick == selectedConsumer.nick); gcTradGrid.DataSource = null; gcTradGrid.DataSource = consumerTradeList; //导入客户回访记录 consumerVisitList = Alading.Business.ConsumerVisitService.GetConsumerVisit(c => c.ConsumerNick == selectedConsumer.nick); gcVisitGrid.DataSource = null; gcVisitGrid.DataSource = consumerVisitList; } else { btSave.Enabled = false; btSendText.Enabled = false; btSendMail.Enabled = false; } }
void w_DoWork(object sender, DoWorkEventArgs e) { BackgroundWorker worker = sender as BackgroundWorker; SycTaskArgs task = e.Argument as SycTaskArgs; foreach (var p in task.PageNoList) { #region get trade information //这里改成mainWorker,即主线程取消子线程工作全部停止 if (mainWorker.CancellationPending) { e.Cancel = true; return; } TradeReq request = new TradeReq(); TradeRsp response = null; request.Status = null; request.PageSize = task.PageSize; request.PageNo = p; request.StartCreated = task.QueryBeginTime.ToString("yyyy-MM-dd HH:mm:ss"); request.EndCreated = task.QueryEndTime.ToString("yyyy-MM-dd HH:mm:ss"); string sessionkey = SystemHelper.GetSessionKey(task.ShopNick); response = TopService.TradesSoldGet(sessionkey, request); #endregion #region if getting trade failed do next if (response == null || response.Trades == null) { lock (vlock) { sub_done += task.PageSize; } continue; } #endregion foreach (var t in response.Trades.Trade) { //if (worker.CancellationPending) //这里改成mainWorker,即主线程取消子线程工作全部停止 if (mainWorker.CancellationPending) { e.Cancel = true; return; } lock (vlock) { sub_done++; } TradeRsp fulltrade = TopService.TradeFullinfoGet(sessionkey, t.Tid); #region if getting trade detail failed do next if (fulltrade == null || fulltrade.Trade == null) { ReportState state = new ReportState { Total = sub_total, Current = sub_done, Message = string.Format("同步客户 {0} 失败:无法获取交易信息!", t.BuyerNick), }; worker.ReportProgress(0, state); continue; } #endregion UserRsp buyer = TopService.UserGet(sessionkey, fulltrade.Trade.BuyerNick, fulltrade.Trade.AlipayNo); #region if getting buyer detail failed do next if (buyer == null || buyer.User == null) { ReportState state = new ReportState { Total = sub_total, Current = sub_done, Message = string.Format("同步客户 {0} 失败:无法获取买家信息!", t.BuyerNick), }; worker.ReportProgress(0, state); continue; } #endregion Alading.Entity.Consumer consumer = Alading.Business.ConsumerService.GetConsumer(fulltrade.Trade.BuyerNick); if (consumer == null) { #region Consumer is not existed and save it consumer = new Alading.Entity.Consumer(); consumer.nick = buyer.User.Nick; consumer.sex = buyer.User.Sex; consumer.buyer_zip = buyer.User.Location.Zip; consumer.location_city = buyer.User.Location.City; consumer.location_state = buyer.User.Location.State; consumer.location_district = buyer.User.Location.District; consumer.location_address = buyer.User.Location.Address; consumer.location_country = buyer.User.Location.Address; consumer.birthday = buyer.User.Birthday; consumer.credit = buyer.User.BuyerCredit.ToString(); consumer.level = buyer.User.BuyerCredit.Level; consumer.score = buyer.User.BuyerCredit.Score; consumer.status = buyer.User.Status; consumer.created = DateTime.Parse(buyer.User.Created); consumer.last_visit = buyer.User.LastVisit; consumer.mobilephone = fulltrade.Trade.ReceiverMobile; consumer.phone = fulltrade.Trade.ReceiverPhone; consumer.email = fulltrade.Trade.BuyerEmail; consumer.buyer_name = fulltrade.Trade.ReceiverName; consumer.alipay = fulltrade.Trade.AlipayNo; ReturnType result = Alading.Business.ConsumerService.AddConsumer(consumer); if (result == ReturnType.Success) { ReportState state = new ReportState { Total = sub_total, Current = sub_done, Message = string.Format("同步客户 {0} 信息成功!", consumer.nick), }; worker.ReportProgress(1, state); Alading.Entity.ConsumerAddress addr = Alading.Business.ConsumerAddressService.GetConsumerAddress( c => c.tid == fulltrade.Trade.Tid).FirstOrDefault(); if (addr == null) { addr = new Alading.Entity.ConsumerAddress { buyer_nick = fulltrade.Trade.BuyerNick, location_address = fulltrade.Trade.ReceiverAddress, location_city = fulltrade.Trade.ReceiverCity, location_country = buyer.User.Location.Country, location_district = fulltrade.Trade.ReceiverDistrict, location_state = fulltrade.Trade.ReceiverState, location_zip = fulltrade.Trade.ReceiverZip, receiver_mobile = fulltrade.Trade.ReceiverMobile, receiver_name = fulltrade.Trade.ReceiverName, receiver_phone = fulltrade.Trade.ReceiverPhone, receiver_zip = fulltrade.Trade.ReceiverZip, tid = fulltrade.Trade.Tid, }; result = Alading.Business.ConsumerAddressService.AddConsumerAddress(addr); if (result == ReturnType.Success) { state = new ReportState { Total = sub_total, Current = sub_done, Message = string.Format("同步客户 {0} 地址信息成功!", consumer.nick), }; worker.ReportProgress(1, state); } else { state = new ReportState { Total = sub_total, Current = sub_done, Message = string.Format("同步客户 {0} 地址信息失败:数据保存失败!", consumer.nick), }; worker.ReportProgress(1, state); } } } else { ReportState state = new ReportState { Total = sub_total, Current = sub_done, Message = string.Format("同步客户 {0} 信息失败:数据保存失败!", consumer.nick), }; worker.ReportProgress(1, state); continue; } #endregion } else { #region Consumer existed and update address information ReportState state0 = new ReportState { Total = sub_total, Current = sub_done, Message = string.Format("客户 {0} 已存在!", consumer.nick), }; worker.ReportProgress(0, state0); Alading.Entity.ConsumerAddress addr = Alading.Business.ConsumerAddressService.GetConsumerAddress( c => c.tid == fulltrade.Trade.Tid).FirstOrDefault(); if (addr == null) { addr = new Alading.Entity.ConsumerAddress { buyer_nick = fulltrade.Trade.BuyerNick, location_address = fulltrade.Trade.ReceiverAddress, location_city = fulltrade.Trade.ReceiverCity, location_country = buyer.User.Location.Country, location_district = fulltrade.Trade.ReceiverDistrict, location_state = fulltrade.Trade.ReceiverState, location_zip = fulltrade.Trade.ReceiverZip, receiver_mobile = fulltrade.Trade.ReceiverMobile, receiver_name = fulltrade.Trade.ReceiverName, receiver_phone = fulltrade.Trade.ReceiverPhone, receiver_zip = fulltrade.Trade.ReceiverZip, tid = fulltrade.Trade.Tid, }; ReturnType result = Alading.Business.ConsumerAddressService.AddConsumerAddress(addr); if (result == ReturnType.Success) { ReportState state = new ReportState { Total = sub_total, Current = sub_done, Message = string.Format("同步客户 {0} 地址信息成功!", consumer.nick), }; worker.ReportProgress(1, state); } else { ReportState state = new ReportState { Total = sub_total, Current = sub_done, Message = string.Format("同步客户 {0} 地址信息失败:数据保存失败!", consumer.nick), }; worker.ReportProgress(1, state); } } #endregion } } } }
public bool ContainItem(Alading.Entity.Consumer item) { return(consumerList.Find(c => c.nick == item.nick) != null); }