public async Task <IActionResult> DeleteBookingPayment(int id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } BookingPayment booking = new BookingPayment() { Id = id }; _repo.Delete(booking); try { await _repo.SaveAll(); } catch (Exception ex) { throw ex; } return(Ok()); }
private string BuildBookingPaymentContent(BookingPayment paymentItem) { StringBuilder strBuilder = new StringBuilder(); return(strBuilder.ToString()); }
public ActionResult Payment(BookingPayment bookingPayment) { Event e = _eventRequester.Get(bookingPayment.EventId); bool enoughTickets = e.Tickets >= bookingPayment.TicketsPurchased; int? ticketsRemaining = e.Tickets - bookingPayment.TicketsPurchased; try { if (enoughTickets) { //if (SessionManager.User.Id != 0 && !(SessionManager.User.Token is null)) //{ // _apiTokenRequester.GetAllWithToken<G.PaymentMethod>("paymentMethod/all/" + SessionManager.User.Id, SessionManager.User.Token); //} if (_apiTokenRequester.UpdateWithToken(new Event(e.Id, e.Name, e.Type, e.Organizer, e.Date, e.Location, ticketsRemaining, e.Price, e.Description) , "event/" + bookingPayment.EventId, SessionManager.User.Token)) { _apiTokenRequester.CreateWithToken(new G.Booking() { UserId = bookingPayment.UserId, EventId = bookingPayment.EventId, PurchaseDate = DateTime.Now, TicketsPurchased = bookingPayment.TicketsPurchased, TicketsPrice = bookingPayment.TicketsPrice, Amount = bookingPayment.Amount }, "booking", SessionManager.User.Token); } if (_apiTokenRequester.GetAllWithToken <G.PaymentMethod>("paymentMethod/all/" + SessionManager.User.Id, SessionManager.User.Token) .Where(p => p.CardNumber == bookingPayment.CardNumber) .FirstOrDefault() is null) { _apiTokenRequester.CreateWithToken(new G.PaymentMethod { UserId = bookingPayment.UserId, CardHolder = bookingPayment.CardHolder, CardNumber = bookingPayment.CardNumber, ExpirationDate = bookingPayment.ExpirationDate, CVVnumber = bookingPayment.CVVnumber }, "paymentMethod", SessionManager.User.Token); } TempData["Message"] = "Booking successfully completed"; return(RedirectToAction("Index", "Booking")); } ViewBag.Message = $"Only {e.Tickets} ticket(s) remaining"; return(View(bookingPayment)); } catch { return(View("Error")); } }
void BookingPaymentItem_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { BookingPayment item = sender as BookingPayment; if (item != null && e.PropertyName != "IsChanged") { item.IsChanged = true; item.UpdatedBy = Globals.UserLogin.UserName; } }
void gvwBookingPayment_CellEditEnded(object sender, GridViewCellEditEndedEventArgs e) { if (e.NewData != null && e.Cell.ParentRow.Item != null) { BookingPayment currentRow = (BookingPayment)e.Cell.ParentRow.Item; string columnName = e.Cell.Column.UniqueName; if (currentRow != null && columnName == "CustomerPaid") { currentRow.MoneyLeft = currentRow.TotalPrice - currentRow.CustomerPaid; } } }
public async Task <IActionResult> PostBookingPayment([FromBody] BookingPayment model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _repo.Insert(model); await _repo.SaveAll(); return(NoContent()); }
void btnEmail_Click(object sender, RoutedEventArgs e) { BookingPayment paymentItem = this.DataContext as BookingPayment; if (paymentItem != null) { List <BookingPayment> paymentList = new List <BookingPayment>(); paymentList.Add(paymentItem); Globals.IsBusy = true; DataServiceHelper.SendBookingPaymentMailAsync(paymentList, SendBookingPaymentMailCompleted); } }
private void SendOnePaymentMail(SmtpClient smtpClient, BookingPayment paymentItem) { MailMessage message = new MailMessage(); List <Customer> customers = ApartmentMethods.ListCustomer(null, paymentItem.CustomerId, null, null, null, false, null, null, true); string email = string.Empty; if (customers.Count > 0 && customers[0].ContactInformation != null && !string.IsNullOrEmpty(customers[0].ContactInformation.Email)) { email = customers[0].ContactInformation.Email; } if (!string.IsNullOrEmpty(email)) { string dateFormat = "dd-MMM-yyyy"; string moneyFormat = "C0"; message.To.Add(new MailAddress(email)); string subject = string.Format("Payment Details from {0} to {1}", paymentItem.DateStart.ToString(dateFormat), paymentItem.DateEnd.ToString(dateFormat)); message.Subject = subject; message.IsBodyHtml = true; using (FileStream stream = File.OpenRead(HttpContext.Current.Server.MapPath("/EmailTemplates/MonthlyPayment.htm"))) { StringBuilder strb = new StringBuilder(); byte[] b = new byte[stream.Length]; UTF8Encoding temp = new UTF8Encoding(true); while (stream.Read(b, 0, b.Length) > 0) { strb.Append(temp.GetString(b)); } string content = strb.ToString(); CultureInfo customCultureInfo = new CultureInfo(MimosaSettings.GloblaCulture()); customCultureInfo.NumberFormat = (new CultureInfo(MimosaSettings.NumberFormatCulture())).NumberFormat; customCultureInfo.DateTimeFormat = (new CultureInfo(MimosaSettings.DateTimeFormatCulture())).DateTimeFormat; Thread.CurrentThread.CurrentCulture = customCultureInfo; content = string.Format(content, paymentItem.CustomerName, subject, paymentItem.SiteName, paymentItem.RoomName, paymentItem.DateStart.ToString(dateFormat), paymentItem.DateEnd.ToString(dateFormat), paymentItem.RoomPrice.ToString(moneyFormat), paymentItem.EquipmentPrice.ToString(moneyFormat), paymentItem.ServicePrice.ToString(moneyFormat), paymentItem.TotalPrice.ToString(moneyFormat), paymentItem.CustomerPaid.ToString(moneyFormat), paymentItem.MoneyLeft.ToString(moneyFormat)); message.Body = content; smtpClient.Send(message); } } }
public BookingPayment AddBookingPayment(BookingPayment bookingPayment) { try { var booking = Context.BookingPayments.Add(bookingPayment); Context.SaveChanges(); return(booking.Entity); } catch (Exception ex) { Logger.LogError($"Failed to add the booking payment with ID {bookingPayment.BookingId} to the database.", ex); throw; } }
private void BookingPaymentDetail_Click(object sender, RoutedEventArgs e) { HyperlinkButton button = sender as HyperlinkButton; if (button != null) { BookingPayment bookingPayment = button.DataContext as BookingPayment; if (bookingPayment != null) { ucPaymentDetails.BindData(bookingPayment); uiPopupPaymentDetails.Header = string.Format(ResourceHelper.GetReourceValue("BookingPaymentPage_uiPopupPaymentDetails"), DateHelper.DateToString(bookingPayment.DateStart), DateHelper.DateToString(bookingPayment.DateEnd)); uiPopupPaymentDetails.ShowDialog(); } } }
public void UpdateBookingPayment(BookingPayment bookingPayment) { try { //var currentBookingPayment = Context.BookingPayments.AsNoTracking().SingleOrDefault(x => x.Id == controleMethode.Id); var currentBookingPayment = Context.BookingPayments.SingleOrDefault(x => x.BookingId == bookingPayment.BookingId); if (currentBookingPayment != null) { Context.BookingPayments.Update(bookingPayment); Context.SaveChanges(); } } catch (Exception ex) { Logger.LogError($"Cannot update the booking payment with ID {bookingPayment.BookingId}.", ex); throw; } }
private void ExportPaymentDetails() { BookingPayment paymentItem = this.DataContext as BookingPayment; if (paymentItem != null) { SaveFileDialog objSFD = new SaveFileDialog() { DefaultExt = "csv", Filter = "CSV Files (*.csv)|*.csv|Excel XML (*.xml)|*.xml|All files (*.*)|*.*", FilterIndex = 1 }; if (objSFD.ShowDialog() == true) { string strFormat = objSFD.SafeFileName.Substring(objSFD.SafeFileName.IndexOf('.') + 1).ToUpper(); StringBuilder strBuilder = new StringBuilder(); BuildPaymentContent(paymentItem, strBuilder, strFormat); string title = "PaymentDetails_" + DateHelper.DateToString(paymentItem.DateStart, "YYYY-MM-DD") + "_" + DateHelper.DateToString(paymentItem.DateEnd, "YYYY-MM-DD"); ReportHelper.ExportStringToFile(objSFD, title, strFormat, strBuilder); } } }
public void BindData(BookingPayment paymentItem) { this.DataContext = paymentItem; DataServiceHelper.ListBookingRoomEquipmentDetailAsync(null, null, paymentItem.BookingId, paymentItem.DateStart, paymentItem.DateEnd, ListBookingRoomEquipmentDetailCompleted); DataServiceHelper.ListBookingRoomServiceDetailAsync(null, null, paymentItem.BookingId, paymentItem.DateStart, paymentItem.DateEnd, ListBookingRoomServiceDetailCompleted); }
private void BuildPaymentContent(BookingPayment paymentItem, StringBuilder strBuilder, string strFormat) { List <string> lstFields = new List <string>(); lstFields.Add(ReportHelper.FormatField("Site:", strFormat)); lstFields.Add(ReportHelper.FormatField(paymentItem.SiteName, strFormat)); ReportHelper.BuildStringOfRow(strBuilder, lstFields, strFormat); lstFields.Clear(); lstFields.Add(ReportHelper.FormatField(lblRoom.Text, strFormat)); lstFields.Add(ReportHelper.FormatField(paymentItem.RoomName, strFormat)); ReportHelper.BuildStringOfRow(strBuilder, lstFields, strFormat); lstFields.Clear(); lstFields.Add(ReportHelper.FormatField(lblCustomer1.Text, strFormat)); lstFields.Add(ReportHelper.FormatField(paymentItem.CustomerName, strFormat)); ReportHelper.BuildStringOfRow(strBuilder, lstFields, strFormat); lstFields.Clear(); lstFields.Add(ReportHelper.FormatField(lblCustomer2.Text, strFormat)); lstFields.Add(ReportHelper.FormatField(paymentItem.Customer2Name, strFormat)); ReportHelper.BuildStringOfRow(strBuilder, lstFields, strFormat); lstFields.Clear(); lstFields.Add(ReportHelper.FormatField(lblRoomPrice.Text, strFormat)); lstFields.Add(ReportHelper.FormatValueColumn(paymentItem.RoomPrice, "0.0", strFormat)); ReportHelper.BuildStringOfRow(strBuilder, lstFields, strFormat); lstFields.Clear(); lstFields.Add(ReportHelper.FormatField(lblEquipmentPrice.Text, strFormat)); lstFields.Add(ReportHelper.FormatValueColumn(paymentItem.EquipmentPrice, "0.0", strFormat)); ReportHelper.BuildStringOfRow(strBuilder, lstFields, strFormat); lstFields.Clear(); List <BookingRoomEquipmentDetail> equipmentDetails = gvwEquipmentDetails.ItemsSource as List <BookingRoomEquipmentDetail>; if (equipmentDetails != null && equipmentDetails.Count > 0) { ReportHelper.AddEmptyColumn(lstFields, 1, strFormat); lstFields.Add(ReportHelper.FormatField(gvwEquipmentDetails.Columns[0].Header.ToString(), strFormat)); lstFields.Add(ReportHelper.FormatField(gvwEquipmentDetails.Columns[1].Header.ToString(), strFormat)); lstFields.Add(ReportHelper.FormatField(gvwEquipmentDetails.Columns[2].Header.ToString(), strFormat)); lstFields.Add(ReportHelper.FormatField(gvwEquipmentDetails.Columns[3].Header.ToString(), strFormat)); lstFields.Add(ReportHelper.FormatField(gvwEquipmentDetails.Columns[4].Header.ToString(), strFormat)); lstFields.Add(ReportHelper.FormatField(gvwEquipmentDetails.Columns[5].Header.ToString(), strFormat)); lstFields.Add(ReportHelper.FormatField(gvwEquipmentDetails.Columns[6].Header.ToString(), strFormat)); lstFields.Add(ReportHelper.FormatField(gvwEquipmentDetails.Columns[7].Header.ToString(), strFormat)); ReportHelper.BuildStringOfRow(strBuilder, lstFields, strFormat); lstFields.Clear(); foreach (BookingRoomEquipmentDetail item in equipmentDetails) { ReportHelper.AddEmptyColumn(lstFields, 1, strFormat); lstFields.Add(ReportHelper.FormatField(item.Equipment, strFormat)); lstFields.Add(ReportHelper.FormatField(item.DateStart.Value.ToString("dd-MMM-yyyy"), strFormat)); lstFields.Add(ReportHelper.FormatField(item.DateEnd.Value.ToString("dd-MMM-yyyy"), strFormat)); lstFields.Add(ReportHelper.FormatField(item.Unit, strFormat)); lstFields.Add(ReportHelper.FormatValueColumn(item.Quantity, "0.0", strFormat)); lstFields.Add(ReportHelper.FormatValueColumn(item.Price, "0.0", strFormat)); lstFields.Add(ReportHelper.FormatValueColumn(item.TotalPrice, "0.0", strFormat)); lstFields.Add(ReportHelper.FormatField(item.Description, strFormat)); ReportHelper.BuildStringOfRow(strBuilder, lstFields, strFormat); lstFields.Clear(); } } lstFields.Add(ReportHelper.FormatField(lblServicePrice.Text, strFormat)); lstFields.Add(ReportHelper.FormatValueColumn(paymentItem.ServicePrice, "0.0", strFormat)); ReportHelper.BuildStringOfRow(strBuilder, lstFields, strFormat); lstFields.Clear(); List <BookingRoomServiceDetail> serviceDetails = gvwServiceDetails.ItemsSource as List <BookingRoomServiceDetail>; if (serviceDetails != null && serviceDetails.Count > 0) { ReportHelper.AddEmptyColumn(lstFields, 1, strFormat); lstFields.Add(ReportHelper.FormatField(gvwServiceDetails.Columns[0].Header.ToString(), strFormat)); lstFields.Add(ReportHelper.FormatField(gvwServiceDetails.Columns[1].Header.ToString(), strFormat)); lstFields.Add(ReportHelper.FormatField(gvwServiceDetails.Columns[2].Header.ToString(), strFormat)); lstFields.Add(ReportHelper.FormatField(gvwServiceDetails.Columns[3].Header.ToString(), strFormat)); lstFields.Add(ReportHelper.FormatField(gvwServiceDetails.Columns[4].Header.ToString(), strFormat)); lstFields.Add(ReportHelper.FormatField(gvwServiceDetails.Columns[5].Header.ToString(), strFormat)); lstFields.Add(ReportHelper.FormatField(gvwServiceDetails.Columns[6].Header.ToString(), strFormat)); lstFields.Add(ReportHelper.FormatField(gvwServiceDetails.Columns[7].Header.ToString(), strFormat)); ReportHelper.BuildStringOfRow(strBuilder, lstFields, strFormat); lstFields.Clear(); foreach (BookingRoomServiceDetail item in serviceDetails) { ReportHelper.AddEmptyColumn(lstFields, 1, strFormat); lstFields.Add(ReportHelper.FormatField(item.Service, strFormat)); lstFields.Add(ReportHelper.FormatField(item.DateStart.Value.ToString("dd-MMM-yyyy"), strFormat)); lstFields.Add(ReportHelper.FormatField(item.DateEnd.Value.ToString("dd-MMM-yyyy"), strFormat)); lstFields.Add(ReportHelper.FormatField(item.Unit, strFormat)); lstFields.Add(ReportHelper.FormatValueColumn(item.Quantity, "0.0", strFormat)); lstFields.Add(ReportHelper.FormatValueColumn(item.Price, "0.0", strFormat)); lstFields.Add(ReportHelper.FormatValueColumn(item.TotalPrice, "0.0", strFormat)); lstFields.Add(ReportHelper.FormatField(item.Description, strFormat)); ReportHelper.BuildStringOfRow(strBuilder, lstFields, strFormat); lstFields.Clear(); } } lstFields.Add(ReportHelper.FormatField(lblTotalPrice.Text, strFormat)); lstFields.Add(ReportHelper.FormatValueColumn(paymentItem.TotalPrice, "0.0", strFormat)); ReportHelper.BuildStringOfRow(strBuilder, lstFields, strFormat); lstFields.Clear(); lstFields.Add(ReportHelper.FormatField(lblTotalLeft.Text, strFormat)); lstFields.Add(ReportHelper.FormatValueColumn(paymentItem.MoneyLeft, "0.0", strFormat)); ReportHelper.BuildStringOfRow(strBuilder, lstFields, strFormat); lstFields.Clear(); }