UpdateRoomAsDirty() public method

public UpdateRoomAsDirty ( Microsoft.Practices.EnterpriseLibrary.Data.Database db, DbTransaction transaction ) : bool
db Microsoft.Practices.EnterpriseLibrary.Data.Database
transaction System.Data.Common.DbTransaction
return bool
        private bool SaveData(Int64 reservationId)
        {
            bool result = false;

            DbConnection connection = null;
            DbTransaction transaction = null;

            try
            {
                Database db = DatabaseFactory.CreateDatabase(Constants.HBMCONNECTIONSTRING);
                connection = db.CreateConnection();
                connection.Open();
                transaction = connection.BeginTransaction();

                ResMan.Reservation reservation = new GenRes.Reservation();
                reservation.ReservationId = reservationId;
                reservation.CompanyId = Master.CurrentCompany.CompanyId;

                reservation.CustomerId = Convert.ToInt32(cmbCustomer.Value);
                reservation.SourceId = Convert.ToInt32(cmbSource.Value);
                reservation.CheckInDate = Convert.ToDateTime(dtCheckingDate.Text);
                reservation.CheckOutDate = Convert.ToDateTime(dtCheckOutDate.Text);

                reservation.StatusId = Convert.ToInt32(cmbResStatus.SelectedItem.Value.ToString());

                reservation.RoomTotal = Convert.ToDecimal(txtRoomTotal.Text.Trim());
                reservation.ServiceTotal = Convert.ToDecimal(txtServiceTotal.Text.Trim());
                reservation.NetTotal = Convert.ToDecimal(txtNetTotal.Text.Trim());
                reservation.Discount = Convert.ToDecimal(txtDiscount.Text.Trim());
                reservation.TaxTypeId = Convert.ToInt32(cmbTax.Value);
                reservation.TaxAmount = Convert.ToDecimal(txtTaxTotal.Text.Trim());
                reservation.Total = Convert.ToDecimal(txtTotal.Text.Trim());
                reservation.PaidAmount = Convert.ToDecimal(txtPaidAmount.Text.Trim());
                reservation.Balance = Convert.ToDecimal(txtBalance.Text.Trim());
                reservation.TaxPercentage = Convert.ToDecimal(hdnTaxPercent.Value == string.Empty ? "0" : hdnTaxPercent.Value);
                reservation.CreatedUser = Master.LoggedUser.UsersId;
                reservation.UpdatedUser = Master.LoggedUser.UsersId;

                if (Session[Constants.SESSION_RESERVATION_ROOMINFORMATION] != null)
                {
                    reservation.ReservationRoomDataSet = (DataSet)Session[Constants.SESSION_RESERVATION_ROOMINFORMATION];
                }
                else
                {
                    reservationRoom.ReservationId = reservationId;
                    reservation.ReservationRoomDataSet = reservationRoom.SelectAllDataSetByReseervationId();
                }

                if (Session[Constants.SESSION_RESERVATION_ADDTIONALSERVICE] != null)
                {
                    reservation.ReservationAdditionalServiceDataSet = (DataSet)Session[Constants.SESSION_RESERVATION_ADDTIONALSERVICE];
                }
                else
                {
                    reservationAdditionalService.ReservationId = reservationId;
                    reservation.ReservationAdditionalServiceDataSet = reservationAdditionalService.SelectAllDataSetByReservationID();
                }

                if (Session[Constants.SESSION_RESERVATION_PAYMENTINFORMATION] != null)
                {
                    reservation.ReservationPaymentDataSet = (DataSet)Session[Constants.SESSION_RESERVATION_PAYMENTINFORMATION];
                }
                else
                {
                    reservationPayments.ReservationId = reservationId;
                    reservation.ReservationPaymentDataSet = reservationPayments.SelectAllDataSetByReservationID();
                }

                reservation.Save(db, transaction);

                if (reservation.StatusId == (int)HBM.Common.Enums.HBMStatus.CheckOut)
                {
                    if (Session[Constants.SESSION_RESERVATION_ROOMINFORMATION] != null)
                    {
                        DataSet roomsToMakeDrity = (DataSet)Session[Constants.SESSION_RESERVATION_ROOMINFORMATION];

                        if (roomsToMakeDrity != null && roomsToMakeDrity.Tables.Count > 0 && roomsToMakeDrity.Tables[0] != null && roomsToMakeDrity.Tables[0].Rows.Count > 0)
                        {
                            for (int i = 0; i <= roomsToMakeDrity.Tables[0].Rows.Count - 1; i++)
                            {
                                Room dirtyroom = new Room();
                                dirtyroom.RoomId = Convert.ToInt32(roomsToMakeDrity.Tables[0].Rows[i]["RoomId"].ToString());
                                dirtyroom.UpdatedUser = Master.LoggedUser.UsersId;
                                dirtyroom.UpdateRoomAsDirty(db, transaction);
                            }

                        }

                    }

                }

                transaction.Commit();

                this.hdnReservationId.Value = reservation.ReservationId.ToString();

                result = true;
            }
            catch (System.Exception)
            {
                transaction.Rollback();
            }

            return result;
        }