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; }
public bool SaveProcessedRequest(FlightRequest request, out string errorMessage) { IRequestDataProvider requestDataProvider = RequestDataProviderFactory.GetRequestDataProvider(); bool result = requestDataProvider.SaveProcessedRequest(request, out errorMessage); return result; }
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; }
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; }
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; } }
public bool SaveProcessedRequest(FlightRequest request, out string errorMessage) { errorMessage = string.Empty; return true; }
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"); }
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"); }