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; } }
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; } }
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; } }
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; } }