Пример #1
0
        private static void UpdateFlightSearchCondition(DatabaseHandlerMain db, FlightSearchCondition f, SqlCommand command)
        {
            try
            {
                var searchConditionUpdateQuery = "Exec [Report].[usp_FlightSearchConditionUpdate] @ConditionID ,@FROM, @TO";
                searchConditionUpdateQuery += ",@SeachStayDuration, @SeachPeriodFrom ,@SeachPeriodTo ,@PreferredAirlineCode ,@TotalAdult";
                searchConditionUpdateQuery += ",@TotalChild ,@TotalInfant ,@CabinClass ,@IsGetCorporateFare,@NextRunDate ,@IsActive";

                command.CommandText = searchConditionUpdateQuery;

                command.Parameters.Clear();

                command.Parameters.Add(new SqlParameter("ConditionID", f.ConditionID));
                command.Parameters.Add(new SqlParameter("FROM", f.FROM ?? (object)DBNull.Value));
                command.Parameters.Add(new SqlParameter("TO", f.TO ?? (object)DBNull.Value));
                command.Parameters.Add(new SqlParameter("SeachStayDuration", f.SeachStayDuration ?? (object)DBNull.Value));
                command.Parameters.Add(new SqlParameter("SeachPeriodFrom", f.SeachPeriodFrom ?? (object)DBNull.Value));
                command.Parameters.Add(new SqlParameter("SeachPeriodTo", f.SeachPeriodTo ?? (object)DBNull.Value));
                command.Parameters.Add(new SqlParameter("PreferredAirlineCode", f.PreferredAirlineCode ?? (object)DBNull.Value));
                command.Parameters.Add(new SqlParameter("TotalAdult", f.TotalAdult ?? (object)DBNull.Value));
                command.Parameters.Add(new SqlParameter("TotalChild", f.TotalChild ?? (object)DBNull.Value));
                command.Parameters.Add(new SqlParameter("TotalInfant", f.TotalInfant ?? (object)DBNull.Value));
                command.Parameters.Add(new SqlParameter("CabinClass", f.CabinClass ?? (object)DBNull.Value));
                command.Parameters.Add(new SqlParameter("IsGetCorporateFare", f.IsGetCorporateFare ?? (object)DBNull.Value));
                command.Parameters.Add(new SqlParameter("NextRunDate", f.NextRunDate));
                command.Parameters.Add(new SqlParameter("IsActive", f.IsActive));

                db.UpdateDataByStoredProcedure(command);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
        private static void InsertFlightSearchBatchService(SqlCommand command, FlightSearchCondition f)
        {
            try
            {
                if (command.Connection == null)
                {
                    command = dbADO.OpenConnection(command);
                }

                FlightSearchBatch batch = new FlightSearchBatch()
                {
                    ConditionID          = f.ConditionID,
                    FROM                 = f.FROM,
                    TO                   = f.TO,
                    SeachStayDuration    = f.SeachStayDuration,
                    SeachPeriodFrom      = f.SeachPeriodFrom,
                    SeachPeriodTo        = f.SeachPeriodTo,
                    PreferredAirlineCode = f.PreferredAirlineCode,
                    TotalAdult           = f.TotalAdult,
                    TotalChild           = f.TotalChild,
                    TotalInfant          = f.TotalInfant,
                    CabinClass           = f.CabinClass,
                    IsGetCorporateFare   = f.IsGetCorporateFare,
                    IsActive             = true
                };
                InsertFlightSearchBatch(dbADO, batch, command);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #3
0
        private static void ProcessFlightConditions(FlightSearchCondition f)
        {
            try
            {
                log.Debug("ProcessFlightConditions Started.");

                DateTime fromPeriod   = f.SeachPeriodFrom ?? DateTime.Today;
                DateTime toPeriod     = f.SeachPeriodTo ?? DateTime.Today;
                int      stayduration = f.SeachStayDuration ?? 0;
                int      totalAdults  = f.TotalAdult ?? 1;
                int      totalChild   = f.TotalChild ?? 0;
                int      totalInfants = f.TotalInfant ?? 0;

                #region Validation
                if (f.SeachPeriodFrom == null || f.SeachPeriodTo == null || f.FROM == null || f.TO == null)
                {
                    log.Debug("Fligh Search Condition not complete. ConditionID = " + f.ConditionID);
                    SendErrorMail("Fligh Search Condition not complete. ConditionID = " + f.ConditionID);
                }

                if ((toPeriod - fromPeriod).TotalDays < 0 || (fromPeriod - DateTime.Now).TotalDays > 365 || DateTime.Now > fromPeriod)
                {
                    log.Debug("Fligh Search Condition Search Period not correct. ConditionID = " + f.ConditionID);
                    SendErrorMail("Fligh Search Condition Search Period not correct. ConditionID = " + f.ConditionID);
                }
                #endregion

                if ((fromPeriod - DateTime.Now).TotalDays < 365 && DateTime.Now < fromPeriod)
                {
                    SqlCommand command = new SqlCommand();

                    try
                    {
                        InsertFlightSearchBatchService(command, f);
                        UpdateFlightSearchConditionService(command, f);

                        command.Transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        command.Transaction.Rollback();
                        throw ex;
                    }
                }

                log.Debug("ProcessFlightConditions Completed.");
            }
            catch (Exception ex)
            {
                log.Debug("Unable to complete ProcessFlightConditions.");
                throw ex;
            }
        }
Пример #4
0
        private static void UpdateFlightSearchConditionService(SqlCommand command, FlightSearchCondition f)
        {
            try
            {
                if (command.Connection == null)
                {
                    command = dbADO.OpenConnection(command);
                }

                f.SeachPeriodFrom = NextMonth(f.SeachPeriodFrom) ?? DateTime.Today;
                f.SeachPeriodTo   = NextMonth(f.SeachPeriodTo) ?? DateTime.Today;
                f.NextRunDate     = NextMonth(f.NextRunDate) ?? DateTime.Today;
                UpdateFlightSearchCondition(dbADO, f, command);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }