private void LoadDatbaseWithHostName() { if (cb_server.Text != "localhost") { return; } new SSequence(this) .Then(() => { FGuest.showWaiting(true); List <string> dbs = busSql.GetListDatabaseNameLocal(); cb_db.Items.Clear(); dbs.ForEach((string name) => cb_db.Items.Add(name)); } ) .callTimeout(500, () => FGuest.showWaiting(false)) .Start(); }
/// <summary> /// Khi người dùng click cấu hình /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btn_config_Click(object sender, EventArgs e) { DTO.DTOSql sqlDeltail = new DTO.DTOSql(); sqlDeltail.AuthWin = dd_auth.selectedValue != TYPE_AUTH_SQL; sqlDeltail.Server = cb_server.Text; sqlDeltail.DB = cb_db.Text; sqlDeltail.User = txb_user.Text; sqlDeltail.Pass = txb_password.Text; SInvokeEvent cb = new SInvokeEvent(this); cb.Wait = (obj) => { FGuest.showWaiting(true); }; cb.Error = (obj) => { SFunction.SetTimeOut( () => { Invoke((Action)(() => FGuest.showWaiting(false))); MessageBox.Show("Cấu hình bị lỗi!"); } , 500); }; cb.Success = (obj) => { SFunction.SetTimeOut( () => { Invoke((Action)(() => FGuest.showWaiting(false))); MessageBox.Show("Cấu hình thành công!"); } , 500); }; busSql.Config(sqlDeltail, cb); }
public string GetreservationNum(string hotelCode, string loginConfirmationNum) { string reservationNum = string.Empty; bool CentralResNumYN = hotelRepo.Get(p => p.Hotel_Code == hotelCode && p.Live == true).CentralResNumYN; FGuest guest = fgRepo.Get(x => x.LoginConfirmationNum == loginConfirmationNum && x.HOTEL_CODE == hotelCode); if (CentralResNumYN) { if (guest.CentralResNum != "" && guest.CentralResNum != null && guest.CentralResNum != "''") { reservationNum = guest.CentralResNum; } else { reservationNum = guest.ConfirmationNum; } } else { reservationNum = guest.ConfirmationNum; } return(reservationNum); }
private bool InsertData(FGuest guest, string plannerEventID, ref List <int> guestPlannerIDList, ref List <int> eUpgradeRequestIDList, string langForSave, string currencyForSave) { bool succeed = false; #region Insert data GuestPlanner unconfirmedRequest = guestPlannerService.GetUnconfirmedRequest(guest.LoginConfirmationNum, plannerEventID); if (unconfirmedRequest != null) { unconfirmedRequest.LastModifiedDate = DateTime.Now; unconfirmedRequest.ShowItinerary = "Y"; if (!string.IsNullOrEmpty(langForSave)) { unconfirmedRequest.LangId = langForSave; } if (!string.IsNullOrEmpty(currencyForSave)) { unconfirmedRequest.CurrencyName = currencyForSave; } guestPlannerService.updateUnconfirmedRequest(unconfirmedRequest); guestPlannerIDList.Add(unconfirmedRequest.ID); succeed = true; } else { #region insert to Table GuestPlanner int id = 0; Int32.TryParse(plannerEventID, out id); string cultureID = "en-US"; PlannerEvent plannerEvent = GetPlannerEvent(id, cultureID); if (null == plannerEvent) { return(false); } GuestPlanner guestPlanner = new GuestPlanner(); guestPlanner.LookupID = Guid.NewGuid(); guestPlanner.RequestID = ""; guestPlanner.ConfirmationNum = guest.ConfirmationNum; guestPlanner.LoginConfirmationNum = guest.LoginConfirmationNum; guestPlanner.Hotel_Code = guest.HOTEL_CODE; guestPlanner.Event = plannerEvent.EventCategory; guestPlanner.Description = plannerEvent.EventDetailDesc; guestPlanner.DescID = plannerEvent.ID.ToString(); guestPlanner.EventDate = guest.ArrivalDate; guestPlanner.EventTime = DateTime.Now.ToString("HH:MM"); guestPlanner.Name = ""; guestPlanner.NumberPeople = 1; guestPlanner.VendorID = null; guestPlanner.RequestTypeID = null; guestPlanner.Other1 = null; guestPlanner.Other2 = null; guestPlanner.Status = "Requested"; guestPlanner.ConfirmStatus = false; guestPlanner.NewConfirmStatus = "Pending"; guestPlanner.ConfirmConcierge = null; guestPlanner.ConfirmDate = null; guestPlanner.ConciergeInitial = "eUpgrade"; guestPlanner.Removed = false; guestPlanner.ShowItinerary = "Y"; guestPlanner.Comments = ""; guestPlanner.CreatedDate = DateTime.Now; guestPlanner.LastModifiedDate = DateTime.Now; guestPlanner.AdditionalInfo = null; if (!string.IsNullOrEmpty(currencyForSave)) { guestPlanner.CurrencyName = currencyForSave; } else { guestPlanner.CurrencyName = plannerEvent.CurrencyName; } guestPlanner.Price = plannerEvent.Price; guestPlanner.USDPrice = plannerEvent.USDPrice; guestPlanner.RevenuePP = plannerEvent.RevenuePP; guestPlanner.ActionTaken = false; guestPlanner.IsNotificationSent = false; guestPlanner.RequestSessionID = Guid.NewGuid(); if (!string.IsNullOrEmpty(langForSave)) { guestPlanner.LangId = langForSave; } else { guestPlanner.LangId = cultureID; } guestPlanner.SMSNotification = false; guestPlanner.USDGratuity = null; guestPlanner.SMSNotifyCell = ""; int guestPlannerID = 0; guestPlannerID = guestPlannerService.AddNewGuestPlanner(guestPlanner); guestPlannerIDList.Add(guestPlannerID); #endregion #region insert to table GustPlanner_Log if (guestPlannerID > 0 && null != guestPlanner) { int guestPlannerLogID = 0; var log = mapper.Map <GuestPlanner_Log>(guestPlanner); guestPlannerLogID = guestPlannerService.AddGuestPlannerLog(log); } #endregion #region insert to Table eUpgradeRequest var eRequest = new eUpgradeRequest(); eRequest.InsertDate = DateTime.Now; eRequest.loginConfirmationNum = guest.LoginConfirmationNum; eRequest.HotelCode = guest.HOTEL_CODE; eRequest.BookedRoomType = plannerEvent.RoomTypeCodeBooked; eRequest.UpgradeRoomType = plannerEvent.RoomTypeCodeUpgrade; eRequest.UpgradeStatus = "Pending"; eRequest.UpgradeCost = guestPlanner.USDPrice; RoomType_Code roomType_Code = roomTypeRepo.Get(x => x.Hotel_Code == guest.HOTEL_CODE && x.RoomCode == plannerEvent.RoomTypeCodeUpgrade); eRequest.UpgradeType = roomType_Code.UpgradeType; eRequest.PerNightCharge = (roomType_Code.PerNightCharge == "Y") ? true : false; string transactionCode = transactionCodeRepo.GetAll().Where(t => t.HotelCode == guest.HOTEL_CODE && t.PerNightCharge == eRequest.PerNightCharge && t.UpgradeType == roomType_Code.UpgradeType).Select(t => t.TransactionCode).FirstOrDefault(); eRequest.TransactionCode = transactionCode; Hotel hotel = hotelService.GetHotelByCode(guest.HOTEL_CODE); if (!string.IsNullOrEmpty(hotel.CenResServiceInterface) && !string.IsNullOrEmpty(hotel.CenResServiceUrl) && !string.IsNullOrEmpty(hotel.CendynPropertyId) && hotel.AutoRequestProcessYN) { eRequest.TotalUpgradeFees = guest.UpgradeFees + guestPlanner.USDPrice.GetValueOrDefault(); } else { eRequest.TotalUpgradeFees = 0; } eRequest.PackageCode = guestPlannerService.GetPackageCode(plannerEvent.RoomTypeCodeUpgrade, guest.HOTEL_CODE); int eUpgradeRequestID = 0; eUpgradeRequestID = guestPlannerService.AddNewEUpgradeRequest(eRequest); eUpgradeRequestIDList.Add(eUpgradeRequestID); #endregion } #endregion return(succeed); }
public bool SaveRoomOptions(string loginConfirmationNum, List <string> requestIDs, string hotelCode, int languageID, bool multiLanguageEnabled, ref bool roomUnavailable, string langForSave, string currencyForSave) { bool succeed = false; List <int> guestPlannerIDList = new List <int>(); List <int> eUpgradeRequestIDList = new List <int>(); List <string> deniedList = new List <string>(); FGuest guest = reservationService.GetFGuestByLoginConfirmationNum(loginConfirmationNum, hotelCode); if (null == guest || guest.Status == "CXL") { return(false); } Hotel hotel = hotelService.GetHotelByCode(hotelCode); if (!string.IsNullOrWhiteSpace(hotel.CendynPropertyId) && !string.IsNullOrWhiteSpace(hotel.CenResServiceInterface) && !string.IsNullOrWhiteSpace(hotel.CenResServiceUrl)) { #region Check Inventory before save data List <eUpgradeOptionDTO> OptionList = GetEventDetail(guest.HOTEL_CODE, guest.LoginConfirmationNum, guest.RoomType, guest.RateType, guest.ArrivalDate, guest.DepartureDate, languageID, multiLanguageEnabled); if (null != OptionList && OptionList.Count > 0) { foreach (var it in requestIDs) { int id = 0; Int32.TryParse(it, out id); PlannerEvent pe = plannerEventRepo.GetAll().Where(x => x.ParentID == id && x.Hotel_Code == guest.HOTEL_CODE).FirstOrDefault(); var availableOption = OptionList.Where(x => x.EventName == pe.RoomTypeCodeUpgrade).FirstOrDefault(); if (availableOption == null) { deniedList.Add(it); } } if (null != deniedList && deniedList.Count > 0) { succeed = false; roomUnavailable = true; return(succeed); } else { //insert data foreach (var item in requestIDs) { succeed = InsertData(guest, item, ref guestPlannerIDList, ref eUpgradeRequestIDList, langForSave, currencyForSave); } } } else { succeed = false; roomUnavailable = true; return(succeed); } #endregion } else { #region Do not check inventory foreach (var item in requestIDs) { //insert data succeed = InsertData(guest, item, ref guestPlannerIDList, ref eUpgradeRequestIDList, langForSave, currencyForSave); } #endregion } #region Update RequestID if (null != guestPlannerIDList && guestPlannerIDList.Count > 0) { succeed = guestPlannerService.UpdatRequestIDs(guestPlannerIDList); //update coloumn requestID of database table 'eUpgradeRequest' string requestID = guestPlannerService.GetRequestID(guestPlannerIDList); if (!string.IsNullOrEmpty(requestID)) { if (null != eUpgradeRequestIDList && eUpgradeRequestIDList.Count > 0) { succeed = guestPlannerService.UpdatRequestIDsOfeUpgradeRequest(eUpgradeRequestIDList, requestID); } } } #endregion #region send out request notification email if (succeed) { foreach (var gpid in guestPlannerIDList) { guestPlannerService.SendRequestNotificationEmail(gpid); } } #endregion return(succeed); }