/// <summary> /// 更新订单表记录 /// </summary> /// <param name="account"></param> /// <param name="tradeNO"></param> /// <param name="flag"></param> /// <returns></returns> public static Result UpdateOrderTB(string account, string tradeNO) { Result result = new Result(); try { result.IsOK = true; result.StateCodeID = 0; PCBEntities pCBEntities = new PCBEntities(); PCB_OrderTB PCBOrderTB = pCBEntities.PCB_OrderTB.FirstOrDefault(p => p.CreateAccount == account && p.OrderNumber == tradeNO); if (PCBOrderTB != null) { PCBOrderTB.IsPay = true; PCBOrderTB.UpdateDateTime = DateTime.Now; pCBEntities.Refresh(System.Data.Objects.RefreshMode.ClientWins, PCBOrderTB); result.IsOK = Convert.ToBoolean(pCBEntities.SaveChanges()); } } catch (Exception ex) { LogHelper.WriteLog(typeof(Common)).Info(ex.StackTrace); result.IsOK = false; result.Description = ex.Message; } return(result); }
/// <summary> /// 删除订单表记录 /// </summary> /// <param name="account"></param> /// <param name="tradeNO"></param> /// <param name="flag"></param> /// <returns></returns> public static Result DelectOrderTB(string account, string tradeNO) { Result result = new Result(); try { result.IsOK = true; result.StateCodeID = 0; PCBEntities pCBEntities = new PCBEntities(); PCB_OrderTB PCBOrderTB = pCBEntities.PCB_OrderTB.FirstOrDefault(p => p.CreateAccount == account && p.OrderNumber == tradeNO && p.IsPay == false); if (PCBOrderTB != null) { pCBEntities.DeleteObject(PCBOrderTB); pCBEntities.SaveChanges(); } else { result.IsOK = false; } } catch (Exception ex) { LogHelper.WriteLog(typeof(Common)).Info(ex.StackTrace); result.IsOK = false; result.Description = ex.Message; } return(result); }
/// <summary> /// 预下单记录 /// </summary> /// <returns></returns> public static Result RecordPreRenewal(string account, string fileCoverId, string tradeNO) { Result result = new Result(); try { PCBEntities pCBEntities = new PCBEntities(); Guid fid = new Guid(fileCoverId); var pcborderTBlist = from order in pCBEntities.PCB_OrderTB where order.CreateAccount == account && order.FileCoverID == fid select order; if (pcborderTBlist.Count() > 0) { pcborderTBlist.ToList()[0].UpdateDateTime = DateTime.Now; pcborderTBlist.ToList()[0].OrderNumber = tradeNO; for (int i = 1; i < pcborderTBlist.Count(); i++) { pCBEntities.DeleteObject(pcborderTBlist.ToList()[i]); } } else { PCB_OrderTB orderTB = new PCB_OrderTB(); orderTB.OrderID = System.Guid.NewGuid(); orderTB.CreateAccount = account; orderTB.CreateDateTime = DateTime.Now; orderTB.FileCoverID = fid; orderTB.IsPay = false; orderTB.OrderNumber = tradeNO; orderTB.OrderPrice = pCBEntities.PCB_FileCoverTB.FirstOrDefault(p => p.FileCoverID == fid).Price; orderTB.UpdateDateTime = DateTime.Now; pCBEntities.AddToPCB_OrderTB(orderTB); } result.IsOK = Convert.ToBoolean(pCBEntities.SaveChanges()); } catch (Exception ex) { LogHelper.WriteLog(typeof(Common)).Info(ex.StackTrace); result.IsOK = false; result.Description = ex.Message; } return(result); }
public Result CheckAndPreCreate(string account, string filecoverID) { Result result = new Result(); try { result.IsOK = true; PCBEntities pcbEntities = new PCBEntities(); Guid fid = new Guid(filecoverID); PCB_FileCoverTB pcbfilecoverTB = pcbEntities.PCB_FileCoverTB.FirstOrDefault(p => p.FileCoverID == fid); if (pcbfilecoverTB == null) { result.IsOK = false; result.Description = "未查询到指定数据"; return(result); } var accessFileList = from accessfile in pcbEntities.PCB_AccessFileTB where accessfile.FileCoverID == fid select new { AccessFileName = accessfile.AccessFileName, AccessFileURL = accessfile.AccessFileURL, FileExtension = accessfile.FileExtension, FileSize = accessfile.FileSize, FileMD5 = accessfile.FileMD5 }; decimal filecoverprice; if (decimal.TryParse(pcbfilecoverTB.Price, out filecoverprice)) { if (filecoverprice > 0) { //金额>0,查询预下单记录 LogHelper.WriteLog(GetType()).Info(filecoverprice.ToString()); PCB_OrderTB pcborderTB = pcbEntities.PCB_OrderTB.FirstOrDefault(p => p.FileCoverID == fid); if (pcborderTB != null) { //LogHelper.WriteLog(GetType()).Info(pcborderTB); //有记录 if (pcborderTB.IsPay) { result.Description = "文件已支付,返回数据类型为:文件下载地址"; result.ExtData = JsonConvert.SerializeObject(accessFileList); } else { result = PreCreate(account, filecoverID); //result.Description = "文件需支付,返回数据类型为:文件价格"; //result.ExtData = pcbfilecoverTB.Price; //pcbEntities.DeleteObject(pcborderTB); //pcbEntities.SaveChanges(); } } else { //LogHelper.WriteLog(GetType()).Info(pcborderTB); //result.ExtData = pcbfilecoverTB.Price; //result.Description = "文件需支付,返回数据类型为:文件价格"; result = PreCreate(account, filecoverID); } } else { //金额==0,返回下载地址 LogHelper.WriteLog(GetType()).Info(filecoverprice.ToString()); result.ExtData = JsonConvert.SerializeObject(accessFileList); result.Description = "文件无需支付,返回数据类型为:文件下载地址"; } } else { throw new Exception("封面金额转换错误,pcbfilecoverTB.Price : " + pcbfilecoverTB.Price); } } catch (Exception ex) { LogHelper.WriteLog(GetType()).Info(ex.StackTrace); result.IsOK = false; result.Description = ex.Message; } return(result); }