Example #1
0
        public IEnumerable <PNRHistory> Query()
        {
            List <PNRHistory> pnrHistories = default(List <PNRHistory>);

            string sql = @"select ThreadId, GenerateTime, PNRCode, OfficeNo, Status from PNRHistories ";

            using (var dbOperator = new DbOperator(Provider, ConnectionString))
            {
                using (var reader = dbOperator.ExecuteReader(sql))
                {
                    pnrHistories = new List <PNRHistory>();
                    while (reader.Read())
                    {
                        int        threadId     = reader.GetInt32(0);
                        DateTime   generateTime = reader.GetDateTime(1);
                        string     pnrCode      = reader.GetString(2);
                        string     officeNo     = reader.GetString(3);
                        byte       status       = reader.GetByte(4);
                        PNRHistory pnrHistory   = new PNRHistory(threadId, generateTime, pnrCode, officeNo, status);
                        pnrHistories.Add(pnrHistory);
                    }
                }
            }
            return(pnrHistories);
        }
Example #2
0
        IEnumerable <PNRHistory> IHistoryRepository.Query(DateTime startTime, DateTime endTime)
        {
            List <PNRHistory> pnrHistories = default(List <PNRHistory>);

            string sql = @"select ThreadId, GenerateTime, PNRCode, OfficeNo, Status " +
                         @" from PNRHistories " +
                         @" where GenerateTime between @StartTime and @EndTime";

            using (var dbOperator = new DbOperator(Provider, ConnectionString))
            {
                dbOperator.AddParameter("StartTime", startTime);
                dbOperator.AddParameter("EndTime", endTime);
                using (var reader = dbOperator.ExecuteReader(sql))
                {
                    pnrHistories = new List <PNRHistory>();
                    while (reader.Read())
                    {
                        int        threadId     = reader.GetInt32(0);
                        DateTime   generateTime = reader.GetDateTime(1);
                        string     pnrCode      = reader.GetString(2);
                        string     officeNo     = reader.GetString(3);
                        byte       status       = reader.GetByte(4);
                        PNRHistory pnrHistory   = new PNRHistory(threadId, generateTime, pnrCode, officeNo, status);
                        pnrHistories.Add(pnrHistory);
                    }
                }
            }
            return(pnrHistories);
        }
Example #3
0
        public PNRHistory Query(string pnrHistoryPNRCode)
        {
            PNRHistory pnrHistory = null;
            // 编码有可能重复,提取时间最近的一个;
            string sql = @"select top 1 ThreadId, GenerateTime, PNRCode, OfficeNo, Status from PNRHistories " +
                         @" where PNRCode = @PNRCode order by GenerateTime desc";

            using (var dbOperator = new DbOperator(Provider, ConnectionString))
            {
                dbOperator.AddParameter("PNRCode", pnrHistoryPNRCode);
                using (var reader = dbOperator.ExecuteReader(sql))
                {
                    if (reader.Read())
                    {
                        int      threadId     = reader.GetInt32(0);
                        DateTime generateTime = reader.GetDateTime(1);
                        string   pnrCode      = reader.GetString(2);
                        string   officeNo     = reader.GetString(3);
                        byte     status       = reader.GetByte(4);
                        pnrHistory = new PNRHistory(threadId, generateTime, pnrCode, officeNo, status);
                    }
                }
            }
            return(pnrHistory);
        }
Example #4
0
        /// <summary>
        /// 机票预定
        /// </summary>
        /// <param name="reservationInfo">预订信息</param>
        /// <param name="oemId"> </param>
        /// <param name="officeNumber"> </param>
        /// <returns></returns>
        public static ExecuteResult <ReservedPnr> ReserveTickets(ReservationInfo reservationInfo, Guid oemId)
        {
            if (reservationInfo == null)
            {
                throw new ArgumentException("预订信息不能为空");
            }

            const ConfigUseType type = ConfigUseType.Reserve;
            var userName             = GetUserName(oemId, type);
            var officeNumber         = GetOfficeNumber(oemId, type);

            if (userName == null || officeNumber == null)
            {
                return(new ExecuteResult <ReservedPnr>
                {
                    Result = null,
                    Success = false,
                    Message = "OEM未设置可用配置,且没有设置使用平台配置。"
                });
            }

            var repository    = Factory.CreateCommandRepository();
            var executeResult = repository.Book(reservationInfo, officeNumber, userName);

            if (executeResult.Success)
            {
                var reservedPnr = executeResult.Result;
                var pnrHistory  = new PNRHistory(0, DateTime.Now, reservedPnr.PnrPair.PNR, reservedPnr.OfficeNo, 1);
                HistoryService.Save(pnrHistory);
                PidManagementService.SaveCounter(oemId, HasUsePlatformConfig(oemId, type));
            }

            return(executeResult);
        }
Example #5
0
        public int Update(PNRHistory history)
        {
            string sql = @"update PNRHistories set Status = @Status where ThreadId = @ThreadId and GenerateTime = @GenerateTime";

            using (var dbOperator = new DbOperator(Provider, ConnectionString))
            {
                dbOperator.AddParameter("Status", history.Status);
                dbOperator.AddParameter("ThreadId", history.ThreadId);
                dbOperator.AddParameter("GenerateTime", history.GenerateTime);
                return(dbOperator.ExecuteNonQuery(sql));
            }
        }
Example #6
0
        public int Insert(PNRHistory history)
        {
            string sql = @"insert into PNRHistories(ThreadId, GenerateTime, PNRCode, OfficeNo, Status)" +
                         @"values(@ThreadId, @GenerateTime, @PNRCode, @OfficeNo, 1)";

            using (var dbOperator = new DbOperator(Provider, ConnectionString))
            {
                dbOperator.AddParameter("ThreadId", history.ThreadId);
                dbOperator.AddParameter("GenerateTime", history.GenerateTime);
                dbOperator.AddParameter("PNRCode", history.PNRCode);
                dbOperator.AddParameter("OfficeNo", history.OfficeNo);
                dbOperator.AddParameter("Status", history.Status);
                return(dbOperator.ExecuteNonQuery(sql));
            }
        }
Example #7
0
        public static int Save(PNRHistory pnrHistory)
        {
            var repository = Factory.CreateHistoryRepository();

            return(repository.Insert(pnrHistory));
        }
Example #8
0
        public static int Update(PNRHistory history)
        {
            IHistoryRepository repository = Factory.CreateHistoryRepository();

            return(repository.Update(history));
        }