protected void rptRoomTypes_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.DataItem is RoomTypex) { RoomTypex type = (RoomTypex)e.Item.DataItem; Literal litRoomName = (Literal)e.Item.FindControl("litRoomName"); litRoomName.Text = _currentClass.Name + " " + type.Name; //TODO: CRUISE INFO SailsPriceConfig config = Module.SailsPriceConfigGet(_currentClass, type, _trip, null, TripOption.Option1, DateTime.Today, BookingType.Double, null); Literal litPrice = (Literal)e.Item.FindControl("litPrice"); //litPrice.Text = Module.ApplyPriceFor(config.NetPrice,CurrentPolicies).ToString("$#,0"); } }
public void Save() { foreach (RepeaterItem rptClassItem in rptRoomClass.Items) { Repeater rptRoomTypeCell = rptClassItem.FindControl("rptRoomTypeCell") as Repeater; Label labelRoomClassId = rptClassItem.FindControl("labelRoomClassId") as Label; if (labelRoomClassId != null && labelRoomClassId.Text != string.Empty && rptRoomTypeCell != null) { RoomClass roomClass = Module.RoomClassGetById(Convert.ToInt32(labelRoomClassId.Text)); #region -- Kiểm tra tính hợp lệ của bảng giá -- foreach (RepeaterItem priceItem in rptRoomTypeCell.Items) { TextBox txtCellPrice = priceItem.FindControl("textBoxPrice") as TextBox; //Kiểm tra xem textboxPrice có enable ko ( không nghĩa là o tồn tại giá kiểu class và type đó) if (txtCellPrice != null && txtCellPrice.Enabled) { double price; //kiểm tra xem price có hợp lệ ko _isValid = double.TryParse(txtCellPrice.Text, out price); if (!_isValid) { break; } } } #endregion //Nếu bảng giá hợp lệ thì lưu if (_isValid) { //Module.SaveOrUpdate(Table); TextBox txtSingle = rptClassItem.FindControl("txtSingle") as TextBox; TextBox txtSingleVND = rptClassItem.FindControl("txtSingleVND") as TextBox; double single = 0; double singleVND = 0; if (txtSingle != null && !string.IsNullOrEmpty(txtSingle.Text)) { single = Convert.ToDouble(txtSingle.Text); } if (txtSingleVND != null && !string.IsNullOrEmpty(txtSingleVND.Text)) { singleVND = Convert.ToDouble(txtSingleVND.Text); } foreach (RepeaterItem priceItem in rptRoomTypeCell.Items) { Label labelRoomTypeId = priceItem.FindControl("labelRoomTypeId") as Label; Label labelSailsPriceConfigId = priceItem.FindControl("labelSailsPriceConfigId") as Label; TextBox textBoxPrice = priceItem.FindControl("textBoxPrice") as TextBox; TextBox textBoxPriceVND = priceItem.FindControl("textBoxPriceVND") as TextBox; RoomTypex roomType = null; #region Lấy về RoomType tương ứng để chuẩn bị lưu if (labelRoomTypeId != null && labelRoomTypeId.Text != string.Empty) { if (Convert.ToInt32(labelRoomTypeId.Text) > 0) { roomType = Module.RoomTypexGetById(Convert.ToInt32(labelRoomTypeId.Text)); } } #endregion if (textBoxPrice != null && textBoxPrice.Enabled && textBoxPrice.Text != string.Empty && textBoxPriceVND != null && textBoxPriceVND.Enabled && textBoxPriceVND.Text != string.Empty) { double price; double priceVND; //Check giá người dùng nhập vào if (!double.TryParse(textBoxPrice.Text, out price)) { _isValid = false; break; } if (!double.TryParse(textBoxPriceVND.Text, out priceVND)) { _isValid = false; break; } Domain.SailsPriceConfig rPrice; if (SailsPriceTableTemplate != null) { rPrice = new SailsPriceConfig(); rPrice.RoomType = roomType; rPrice.RoomClass = roomClass; rPrice.TripOption = Option; rPrice.Trip = Trip; rPrice.SpecialPrice = single; rPrice.SpecialPriceVND = singleVND; rPrice.NetPrice = price; rPrice.NetPriceVND = priceVND; rPrice.Table = SailsPriceTable; rPrice.Trip = Trip; rPrice.TripOption = Option; rPrice.Cruise = ActiveCruise; Module.SaveOrUpdate(rPrice); } else { if (labelSailsPriceConfigId != null && !string.IsNullOrEmpty(labelSailsPriceConfigId.Text) && Convert.ToInt32(labelSailsPriceConfigId.Text) > 0) { //update rPrice = Module.SailsPriceConfigGetById(Convert.ToInt32(labelSailsPriceConfigId.Text)); } else { //insert rPrice = new Domain.SailsPriceConfig(); rPrice.RoomType = roomType; rPrice.RoomClass = roomClass; rPrice.TripOption = Option; rPrice.Trip = Trip; } rPrice.SpecialPrice = single; rPrice.SpecialPriceVND = singleVND; rPrice.NetPrice = price; rPrice.NetPriceVND = priceVND; rPrice.Table = SailsPriceTable; rPrice.Trip = Trip; rPrice.TripOption = Option; rPrice.Cruise = ActiveCruise; Module.SaveOrUpdate(rPrice); } } } } } } }