コード例 #1
0
ファイル: Factory.cs プロジェクト: netthanhhung/Mimosa
        public static BookingPayment BookingPayment(System.Data.IDataReader reader)
        {
            BookingPayment result = null;

            if (null != reader && reader.Read())
            {
                result = new BookingPayment();
                PopulateBookingPayment(result, reader);
            }

            return result;
        }
コード例 #2
0
ファイル: Factory.cs プロジェクト: netthanhhung/Mimosa
        public static void PopulateBookingPayment(BookingPayment input, System.Data.IDataReader reader)
        {
            PopulateRecord(input, reader);
            input.RecordId = Utilities.ToNInt(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.BookingPaymentId]);
            input.BookingId = Utilities.ToInt(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.BookingId]);
            input.DateStart = Utilities.ToDateTime(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.DateStart]);
            input.DateEnd = Utilities.ToDateTime(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.DateEnd]);
            input.RoomPrice = Utilities.ToDecimal(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.RoomPrice]);
            input.EquipmentPrice = Utilities.ToDecimal(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.EquipmentPrice]);
            input.ServicePrice = Utilities.ToDecimal(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.ServicePrice]);
            input.TotalPrice = Utilities.ToDecimal(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.TotalPrice]);
            input.CustomerPaid = Utilities.ToDecimal(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.CustomerPaid]);
            input.Payment = Utilities.ToBool(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.Payment]);
            input.MoneyLeft = input.TotalPrice - input.CustomerPaid;
            input.SiteId = Utilities.ToInt(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.SiteId]);
            input.SiteName = Utilities.ToString(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.SiteName]);
            input.RoomId = Utilities.ToInt(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.RoomId]);
            input.RoomName = Utilities.ToString(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.RoomName]);
            input.CustomerId = Utilities.ToInt(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.CustomerId]);
            input.CustomerName = Utilities.ToString(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.CustomerName]);
            input.Customer2Id = Utilities.ToNInt(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.Customer2Id]);
            input.Customer2Name = Utilities.ToString(reader[Mimosa.Apartment.Common.BookingPayment.ColumnNames.Customer2Name]);

            if (input.RecordId > 0)
            {
                input.BookingPaymentId = Convert.ToInt32(input.RecordId.Value);
            }
        }
コード例 #3
0
        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();
        }
コード例 #4
0
 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);
 }
コード例 #5
0
        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);
                }
            }
        }
コード例 #6
0
        private string BuildBookingPaymentContent(BookingPayment paymentItem)
        {
            StringBuilder strBuilder = new StringBuilder();

            return strBuilder.ToString();
        }