Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
        /// <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);
        }
Beispiel #4
0
        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);
        }