Ejemplo n.º 1
0
 public List<FlightRequest> GetFlightRequests(string status)
 {
     List<FlightRequest> flightRequests = new List<FlightRequest>();
     for (int i = 0; i < 20;i++)
     {
         FlightRequest request = new FlightRequest()
                                     {
                                         AirlineBidAmount = 4000,
                                         Email = "*****@*****.**",
                                         FirstName = "Mahesh",
                                         LastName = "Tokle",
                                         FlightNumber = "A1020",
                                         FromAirportName = "Pune - Lohegaon Airport (PNQ)",
                                         Mobile = "7709161990",
                                         Status = RequestStatus.Accepted,
                                         PaxCount = 2,
                                         ProcessedDate = DateTime.Now,
                                         RequestId = "Request" + i,
                                         RequesterBidAmount = 3000,
                                         ToAirportName = "Delhi - Indira Gandhi International Airport (DEL)",
                                         TrainPnr = "TKKJK",
                                         TravelDate = DateTime.Now.AddDays(30),
                                         Passengers = new List<Passenger>()
                                                          {
                                                              new Passenger()
                                                                  {
                                                                      FirstName = "Abhimanyu",
                                                                      LastName = "Chakrawarti",
                                                                      Title = "Mr",
                                                                      DateOfBirth = DateTime.Now.AddYears(-26),
                                                                      Gender = "Male",
                                                                      PassengerId = i.ToString()
                                                                  },
                                                              new Passenger()
                                                                  {
                                                                      FirstName = "Ashish",
                                                                      LastName = "Chaoughule",
                                                                      Title = "Mr",
                                                                      DateOfBirth = DateTime.Now.AddYears(-25),
                                                                      Gender = "Male",
                                                                      PassengerId = (i+1).ToString()
                                                                  }
                                                          }
                                     };
         flightRequests.Add(request);
     }
     return flightRequests;
 }
Ejemplo n.º 2
0
        public bool SaveProcessedRequest(FlightRequest request, out string errorMessage)
        {
            IRequestDataProvider requestDataProvider = RequestDataProviderFactory.GetRequestDataProvider();
            bool result = requestDataProvider.SaveProcessedRequest(request, out errorMessage);

            return result;
        }
Ejemplo n.º 3
0
 public List<FlightRequest> GetFlightRequests()
 {
     List<FlightRequest> flightRequests = new List<FlightRequest>();
     var db = new MySqlDatabase(DbConfiguration.DatabaseRead);
     try
     {
         DataSet dataset = db.ExecuteQuery(CommandBuilder.BuildGetFlightRequestCommand(db.Connection));
         if (dataset != null && dataset.Tables.Count > 0)
         {
             if (dataset.Tables[0].Rows != null && dataset.Tables[0].Rows.Count > 0)
             {
                 foreach (DataRow row in dataset.Tables[0].Rows)
                 {
                     if (!Convert.IsDBNull(row["RequestId"]))
                     {
                         var request = new FlightRequest()
                         {
                             RequestId = row["RequestId"].GetString(),
                             FriendlyRequestId = row["FriendlyRequestId"].GetString(),
                             RequestAddDate = row["AddDate"].GetDate(),
                             FirstName = row["FirstName"].GetString(),
                             LastName = row["LastName"].GetString(),
                             FromAirportName = row["FromAirportName"].GetString(),
                             ToAirportName = row["ToAirportName"].GetString(),
                             TravelDate = row["TravelDate"].GetDate(),
                             RequesterBidAmount = row["BidAmount"].GetDecimal(),
                             AirlineBidAmount = row["AirlineBidAmount"].GetDecimal(),
                             TrainPnr = row["TrainPnr"].GetString(),
                             PaxCount = row["PaxCount"].GetInt(),
                             ProcessedDate = DateTime.Now
                         };
                         flightRequests.Add(request);
                     }
                 }
             }
         }
     }
     catch (Exception ex)
     {
         DBExceptionLogger.LogException(ex, Source, "GetFlightRequests", Severity.Critical);
         throw ex;
     }
     return flightRequests;
 }
Ejemplo n.º 4
0
 private FlightRequest ParseProcessedFlightRequest(MySqlDatabase db, DataRow row)
 {
     var request = new FlightRequest()
     {
         RequestId = row["RequestId"].GetString(),
         FriendlyRequestId = row["FriendlyRequestId"].GetString(),
         RequestAddDate = row["AddDate"].GetDate(),
         IsEmailSent = Convert.ToBoolean(row["IsEmailSent"]),
         FirstName = row["FirstName"].GetString(),
         LastName = row["LastName"].GetString(),
         Email = row["Email"].GetString(),
         Mobile = row["Mobile"].GetString(),
         ContactNumber = row["ContactNumber"].GetString(),
         FromAirportName = row["FromAirportName"].GetString(),
         ToAirportName = row["ToAirportName"].GetString(),
         Passengers = GetPassengers(row["RequestId"].GetString(), db),
         TravelDate = row["TravelDate"].GetDate(),
         RequesterBidAmount = row["BidAmount"].GetDecimal(),
         AirlineBidAmount = row["AirlineBidAmount"].GetDecimal(),
         Status = row["Status"].GetEnum(RequestStatus.Rejected),
         TrainPnr = row["TrainPnr"].GetString(),
         FlightNumber = row["FlightNumber"].GetString(),
         ProcessedDate = row["AddDate"].GetDate(),
     };
     return request;
 }
Ejemplo n.º 5
0
 public bool SaveProcessedRequest(FlightRequest request, out string errorMessage)
 {
     errorMessage = string.Empty;
     try
     {
         using (var connection = new MySqlConnection(DbConfiguration.DatabaseWrite))
         {
             var cmd = new MySqlCommand("spSaveProcessedRequest", connection)
             {
                 CommandType = CommandType.StoredProcedure
             };
             cmd.Parameters.Add(new MySqlParameter("inRequestId", request.RequestId));
             cmd.Parameters.Add(new MySqlParameter("inAirlineBidAmount", request.AirlineBidAmount));
             cmd.Parameters.Add(new MySqlParameter("inFlightNumber", request.FlightNumber));
             cmd.Parameters.Add(new MySqlParameter("inPaxCount", request.PaxCount));
             cmd.Parameters.Add(new MySqlParameter("inRequesterBidAmount", request.RequesterBidAmount));
             cmd.Parameters.Add(new MySqlParameter("inStatus",request.Status.ToString()));
             cmd.Parameters.Add(new MySqlParameter("actionId", MySqlDbType.VarChar));
             cmd.Parameters["actionId"].Direction = ParameterDirection.Output;
             connection.Open();
             cmd.ExecuteNonQuery();
             var actionId = Convert.ToString(cmd.Parameters["actionId"].Value);
             return true;
         }
     }
     catch (Exception ex)
     {
         DBExceptionLogger.LogException(ex, Source, "SaveProcessedRequest", Severity.Critical);
         errorMessage = ex.Message;
         return false;
     }
 }
Ejemplo n.º 6
0
 public bool SaveProcessedRequest(FlightRequest request, out string errorMessage)
 {
     errorMessage = string.Empty;
     return true;
 }
Ejemplo n.º 7
0
 public void SaveProcessedRequestTest()
 {
     IAccountProvider accountProvider = AccountProviderFactory.GetAccountProvider();
     var target = new RequestProvider(accountProvider);
     string errorMessage = string.Empty;
     FlightRequest processedRequest = new FlightRequest()
                                          {
                                              RequestId = request.RequestId,
                                              AirlineBidAmount = 3000,
                                              FlightNumber = "A324",
                                              Status = RequestStatus.Accepted,
                                              PaxCount = 1,
                                              RequesterBidAmount = request.BidAmount,
                                          };
     bool isSuccess = target.SaveProcessedRequest(processedRequest, out errorMessage);
     Assert.IsTrue(isSuccess && string.IsNullOrEmpty(errorMessage), "Failed to save processed request");
 }
Ejemplo n.º 8
0
 public bool SendRequestStatusEmail(FlightRequest request, string flightNumber, string flightTime, string token)
 {
     string contentBody = string.Empty;
     decimal amount = 0;
     string subject = string.Empty;
     string fromAirportCode = request.FromAirportName.Substring(request.FromAirportName.IndexOf("(")+1, 3);
     string toAirportCode = request.ToAirportName.Substring(request.ToAirportName.IndexOf("(")+1, 3);
     switch (request.Status)
     {
         case RequestStatus.Accepted:
             subject = string.Format("UdChalo: Your Requested bid for request {0}({1} to {2}) is Accepted.", request.FriendlyRequestId, fromAirportCode, toAirportCode);
             contentBody = EmailTemplateHelper.RequestAcceptedTemplate;
             amount = request.RequesterBidAmount;
             break;
         case RequestStatus.IncreaseBid:
             amount = request.AirlineBidAmount;
             subject = string.Format("UdChalo: Flight available for request {0}({1} to {2}) for Rs. {3}", request.FriendlyRequestId, fromAirportCode, toAirportCode, (int)amount);
             contentBody = EmailTemplateHelper.IncreasedQuotationTemplate;
             break;
         case RequestStatus.Rejected:
             subject = string.Format("UdChalo: Your Requested bid for request {0}({1} to {2}) is Not Accepted.", request.FriendlyRequestId, fromAirportCode, toAirportCode);
             contentBody = EmailTemplateHelper.RequestRejectedTemplate;
             break;
         case RequestStatus.NoFlight:
             subject = string.Format("UdChalo: No flights on routes for your request {0}({1} to {2}).", request.FriendlyRequestId, fromAirportCode, toAirportCode);
             contentBody = EmailTemplateHelper.NoFlightTemplate;
             break;
         case RequestStatus.New:
             break;
     }
     contentBody = contentBody.Replace(EmailTemplateHelper.Keys.Key_User, request.FirstName);
     contentBody = contentBody.Replace(EmailTemplateHelper.Keys.Key_RequestFriendlyName, request.FriendlyRequestId);
     contentBody = contentBody.Replace(EmailTemplateHelper.Keys.Key_Year, DateTime.Today.Year.ToString());
     if(request.Status == RequestStatus.Accepted || request.Status == RequestStatus.IncreaseBid)
     {
         contentBody = contentBody.Replace(EmailTemplateHelper.Keys.Key_AirlineBid, ((int)amount).ToString());
         contentBody = contentBody.Replace(EmailTemplateHelper.Keys.Key_From, request.FromAirportName);
         contentBody = contentBody.Replace(EmailTemplateHelper.Keys.Key_To, request.ToAirportName);
         contentBody = contentBody.Replace(EmailTemplateHelper.Keys.Key_Date, request.TravelDate.ToShortDateString());
         contentBody = contentBody.Replace(EmailTemplateHelper.Keys.Key_Time, flightTime);
         contentBody = contentBody.Replace(EmailTemplateHelper.Keys.Key_FlightNumber, flightNumber);
         contentBody = contentBody.Replace(EmailTemplateHelper.Keys.Key_RequestedBid, request.RequesterBidAmount.ToString());
         contentBody = contentBody.Replace(EmailTemplateHelper.Keys.Key_AcceptedBid, amount.ToString());
         contentBody = contentBody.Replace(EmailTemplateHelper.Keys.Key_PaxCount, request.Passengers.Count.ToString());
         contentBody = contentBody.Replace(EmailTemplateHelper.Keys.Key_TotalAmount, (amount * request.Passengers.Count).ToString());
         contentBody = contentBody.Replace(EmailTemplateHelper.Keys.Key_TokenUrl, token);
         string travellersContent = string.Empty;
         foreach (Passenger passenger in request.Passengers)
         {
             string travellerContent = "<tr><td width=\"40%\" align=\"left\" valign=\"top\">{FirstName}</td><td width=\"40%\" align=\"left\" valign=\"top\">{LastName}</td><td width=\"20%\" align=\"left\" valign=\"top\">{DOB}</td></tr>";
             travellerContent = travellerContent.Replace(EmailTemplateHelper.Keys.Key_FirstName,
                                                         string.Format("{0} {1}", passenger.Title, passenger.FirstName));
             travellerContent = travellerContent.Replace(EmailTemplateHelper.Keys.Key_LastName, passenger.LastName);
             travellerContent = travellerContent.Replace(EmailTemplateHelper.Keys.Key_DOB, passenger.DateOfBirth.ToShortDateString());
             travellersContent += travellerContent;
         }
         contentBody = contentBody.Replace(EmailTemplateHelper.Keys.Key_Travellers, travellersContent);
     }
     return SendEmailSync(ConfigHelper.CustomerCareEmail, request.Email, subject, contentBody, "SendRequestStatusEmail");
 }