public IEnumerable <Route> GetRouteById(int id, string lang = "en") { IEnumerable <Route> routeList = databasePlaceholder.Get(id, lang); //if (routeList.Count() == 0) //{ // throw new HttpResponseException(HttpStatusCode.NotFound); //} return(routeList); }
public Route GetRouteById(int id, string lang) { Route route = databasePlaceholder.Get(id, lang); if (route == null) { throw new HttpResponseException(HttpStatusCode.NotFound); } return(route); }
public string MakePayment(int RouteId) { //var routeToMakePayment = _routeService.getRouteDetail(RouteId); //var customerInfor = _customerService.FindCustomerById(routeToMakePayment.CutomerId); //var creditCardToMakePayment = _creditCardService.GetCardToPayment(routeToMakePayment.CustomerId); var routeToMakePayment = _routeRepository.Get(x => x.Id == RouteId); var customerInfor = _customerRepository.Get(x => x.Id == routeToMakePayment.CustomerId); var creditCardToMakePayment = _creditCardRepository.Get(x => x.Deleted == false && x.CustomerId == routeToMakePayment.CustomerId && x.Isdefault == true); //Stripe charge money StripeConfiguration.SetApiKey(SETTING.Value.SecretStripe); var options = new ChargeCreateOptions { Amount = Convert.ToInt64(routeToMakePayment.TotalAmount * 100), Currency = "usd", Description = customerInfor.FullName.ToUpper() + "-" + customerInfor.Email + "-" + customerInfor.PhoneNumber + " buy Route Code: " + routeToMakePayment.Code, SourceId = creditCardToMakePayment.CardId, // obtained with Stripe.js, CustomerId = customerInfor.StripeId, }; var service = new ChargeService(); service.ExpandBalanceTransaction = true; Charge charge = service.Create(options); PaymentCreateViewModel model = new PaymentCreateViewModel(); model.RouteId = routeToMakePayment.Id; model.CreditCartId = creditCardToMakePayment.Id; model.Description = "You bought route " + routeToMakePayment.Code + ". Thank you for using our service."; model.Amount = routeToMakePayment.TotalAmount; model.Status = PaymentStatus.Success; model.StripeChargeId = charge.Id; model.FeeAmount = Convert.ToDecimal(charge.BalanceTransaction.Fee) / 100; var payment = _mapper.Map <PaymentCreateViewModel, Payment>(model); //map từ ViewModel qua Model _paymentRepository.Add(payment); _unitOfWork.CommitChanges(); return(""); }
public IEnumerable <Route> GetRouteByID(int id, string lang = "", string active = "") { //Route route = databasePlaceholder.Get(id, lang, active); IEnumerable <Route> routeList = databasePlaceholder.Get(id, lang, active); if (routeList.Count() == 0) { throw new HttpResponseException(HttpStatusCode.NotFound); } return(routeList); }
public IActionResult GetBestRoute([FromRoute] string origin, string destination) { var routes = _repository.Get(); var bestRoute = RouteService.BestRouteProcess(routes.Find(q => q.AirportName == origin), routes.Find(q => q.AirportName == destination)); var result = new RouteVM() { RoutePathDescription = bestRoute.RoutePathDescription, TotalCost = bestRoute.TotalCost }; return(Ok(JsonSerializer.Serialize(result))); }
/// <summary> /// Zeigt eine Liste der Bewertungen für Route <paramref name="id"/> an. /// </summary> /// <param name="id"></param> /// <returns></returns> public ActionResult BewertungsListe(int id) { var route = _RouteRepository.Get(id); return(View("BewertungsListe", route)); }
public RoutingService(IRouteRepository routeRepository) { _routeRepository = routeRepository; _routeConfigurations = _routeRepository.Get(); }
public async Task <IEnumerable <Route> > Get() { return(await repo.Get()); }
/// <summary> /// Return the driver with the given id /// </summary> /// <param name="id"></param> /// <returns></returns> public DriverInfo GetDriverById(int id) { return(repository.Get(id)); }
//Payment public void SendEmailReceiptForBuyer(int routeId) { try { var apiKey = SETTING.Value.SendGridKey; var client = new SendGridClient(apiKey); string emailTemplateHtml = _hostingEnvironment.ContentRootPath + "\\EmailTemplate\\EmailTemplate.html"; string ticketTemplatehtml = _hostingEnvironment.ContentRootPath + "\\EmailTemplate\\TicketsTemplate.html"; string body = string.Empty; string ticketList = string.Empty; var route = _routeRepository.Get(r => r.Id == routeId); var customer = _customerRepository.Get(c => c.Id == route.CustomerId); //using streamreader for reading my htmltemplate using (StreamReader reader = new StreamReader(emailTemplateHtml)) { body = reader.ReadToEnd(); } var customerEmail = _customerRepository.Get(c => c.Id == route.CustomerId).Email; var customerName = customer.FullName; var customerPhone = customer.PhoneNumber; var routeCode = route.Code; var totalAmount = route.TotalAmount; var date = DateTime.UtcNow; var routeTickets = _routeTicketRepository.GetAllQueryable().Where(r => r.RouteId == routeId); List <TicketRowViewModel> tickets = new List <TicketRowViewModel>(); foreach (var routeTicket in routeTickets) { var ticket = _ticketRepository.Get(t => t.Id == routeTicket.TicketId); var ticketRowViewModel = _mapper.Map <Ticket, TicketRowViewModel>(ticket); tickets.Add(ticketRowViewModel); } //replacing the required things body = body.Replace("{routeCode}", routeCode); body = body.Replace("{customerName}", customerName); body = body.Replace("{customerEmail}", customerEmail); body = body.Replace("{customerPhone}", customerPhone); body = body.Replace("{Date}", date.ToString()); body = body.Replace("{subTotal}", totalAmount.ToString()); body = body.Replace("{Total}", totalAmount.ToString()); body = body.Replace("{Term}", SETTING.Value.Term); body = body.Replace("{Title}", SETTING.Value.Title); body = body.Replace("{fromName}", SETTING.Value.FromName); body = body.Replace("{fromEmail}", SETTING.Value.FromEmail); body = body.Replace("{Street}", SETTING.Value.Street); body = body.Replace("{City}", SETTING.Value.City); body = body.Replace("{addressNumber}", SETTING.Value.AddressNumber); body = body.Replace("{phoneNumber}", SETTING.Value.PhoneNumber); body = body.Replace("{bussinessNumber}", SETTING.Value.BussinessNumber); foreach (var ticket in tickets) { using (StreamReader reader = new StreamReader(ticketTemplatehtml)) { var ticketRow = reader.ReadToEnd(); var departureStation = _stationRepository.Get(s => s.Id == ticket.DepartureStationId).Name; var arrivalStation = _stationRepository.Get(s => s.Id == ticket.ArrivalStationId).Name; ticketRow = ticketRow.Replace("{ticketCode}", ticket.TicketCode); ticketRow = ticketRow.Replace("{Description}", ticket.Description); ticketRow = ticketRow.Replace("{departureCity}", ticket.DepartureCity); ticketRow = ticketRow.Replace("{departureStation}", departureStation); ticketRow = ticketRow.Replace("{departureTime}", ticket.DepartureDateTime.ToString()); ticketRow = ticketRow.Replace("{arrivalCity}", ticket.ArrivalCity); ticketRow = ticketRow.Replace("{arrivalStation}", arrivalStation); ticketRow = ticketRow.Replace("{arrivalTime}", ticket.ArrivalDateTime.ToString()); ticketRow = ticketRow.Replace("{Amount}", ticket.SellingPrice.ToString()); ticketList += ticketRow; } } body = body.Replace("{ticketList}", ticketList); var from = new EmailAddress(SETTING.Value.FromEmail, SETTING.Value.FromName); var subject = routeCode + " - Receipt - Payment"; var to = new EmailAddress(customerEmail, customerName); var plainTextContent = ""; var htmlContent = body; var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent); client.SendEmailAsync(msg); } catch (Exception) { } }