//UpdateByToomType public bool UpdateByRoomType(NewRoomTypeSaveDTO data) { bool succeed = false; RoomType_Code roomTypeCode = null; //string oldRoomTypeCode = string.Empty; //If id is 0, it means add a new room type if (data.id == 0) { roomTypeCode = new RoomType_Code(); roomTypeCode.IsActive = true; //New item should be activate automatic } else { roomTypeCode = roomtypeRepo.GetById(data.id); //oldRoomTypeCode = roomTypeCode.RoomCode; } #region insert to table RoomType_Code //Set value from Ui roomTypeCode.Hotel_Code = data.Hotel_Code; roomTypeCode.RoomCode = data.RoomCode; roomTypeCode.RoomDescription = data.RoomDescription; roomTypeCode.RoomLongDescription = data.RoomLongDescription; roomTypeCode.LanguageId = Convert.ToInt32(data.languageid); roomTypeCode.PerNightCharge = data.PerNightCharge ? "Y" : "N"; roomTypeCode.PriceDesc = data.PerNightCharge ? "Additional per night" : ""; roomTypeCode.ImageYN = data.ImageYN ? "Y" : "N"; roomTypeCode.AddOnYN = data.AddOnYN; roomTypeCode.Threshold = data.Threshold; roomTypeCode.UpgradeType = data.UpgradeType; try { if (data.id == 0) { //if id is 0, then add new roomtypeRepo.Add(roomTypeCode); } else { //else update roomtypeRepo.Update(roomTypeCode); } unitOfWork.Commit(); succeed = true; } catch (Exception e) { logger.Error("Exception: " + e.ToString()); throw; } #endregion return(succeed); }
public int AddNewRoomTypeCode(RoomType_Code RoomTypeCode) { try { roomtypeRepo.Add(RoomTypeCode); unitOfWork.Commit(); return(RoomTypeCode.id); } catch (Exception e) { return(-1); } }
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 List <int> Import(ISheet Sheet, IList <ListItemDTO> hotellist) { List <int> returnlist = new List <int>(); int successnum = 0; RoomType_Code roomTypeCode = new RoomType_Code(); var upgradeTypeList = transactionCodeService.GeteUpgradeTransactionCodeListByHotelCode(""); List <string> hotelcodeList = hotellist.Select(p => p.Value.Split('_')[0]).ToList(); List <string> upgradeTypeDisplayNameList = upgradeTypeList.Select(p => p.DisplayName).ToList(); string HotelCode = ""; string UpgradeType = ""; string RoomCode = ""; string RoomDescription = ""; string Threshold = ""; string RoomLongDescription = ""; string ImageYN = ""; string PerNightCharge = ""; Int16? ThresholdNull = null; #region validate for (var i = 5; i <= Sheet.LastRowNum; i++) { var row = Sheet.GetRow(i); HotelCode = ExcelHelper.FormatCellValue(row.GetCell(1)); UpgradeType = ExcelHelper.FormatCellValue(row.GetCell(2)); RoomCode = ExcelHelper.FormatCellValue(row.GetCell(3)); RoomDescription = ExcelHelper.FormatCellValue(row.GetCell(4)); Threshold = ExcelHelper.FormatCellValue(row.GetCell(5)); RoomLongDescription = ExcelHelper.FormatCellValue(row.GetCell(6)); ImageYN = ExcelHelper.FormatCellValue(row.GetCell(7)); PerNightCharge = ExcelHelper.FormatCellValue(row.GetCell(8)); if (string.IsNullOrEmpty(HotelCode) && string.IsNullOrEmpty(UpgradeType) && string.IsNullOrEmpty(RoomCode) && string.IsNullOrEmpty(RoomDescription) && string.IsNullOrEmpty(Threshold) && string.IsNullOrEmpty(RoomLongDescription) && string.IsNullOrEmpty(ImageYN) && string.IsNullOrEmpty(PerNightCharge)) // check row null { continue; } if (string.IsNullOrEmpty(HotelCode) || string.IsNullOrEmpty(UpgradeType) || string.IsNullOrEmpty(RoomCode) || string.IsNullOrEmpty(RoomDescription) || string.IsNullOrEmpty(RoomLongDescription)) //check require field { returnlist.Add(-1); } if (!hotelcodeList.Exists(p => p == HotelCode)) { returnlist.Add(-2); } if (!upgradeTypeDisplayNameList.Exists(p => p == UpgradeType)) { if (UpgradeType.IndexOf("Room") < 0) { returnlist.Add(-3); } returnlist.Add(-2); } if (RoomCode.Length > 30) { returnlist.Add(-2); } if (RoomDescription.Length > 500) { returnlist.Add(-2); } if (UpgradeType.IndexOf("Room") >= 0 && !string.IsNullOrEmpty(Threshold)) { try { Convert.ToInt16(Threshold); } catch (Exception ex) { returnlist.Add(-2); } } if (RoomLongDescription.Length > 1000) { returnlist.Add(-2); } if (ImageYN.ToUpper() != "Y" && ImageYN.ToUpper() != "N" && !string.IsNullOrEmpty(ImageYN)) { returnlist.Add(-2); } if (PerNightCharge.ToUpper() != "Y" && PerNightCharge.ToUpper() != "N" && !string.IsNullOrEmpty(ImageYN)) { returnlist.Add(-2); } } #endregion if (returnlist.Count > 0) { return(returnlist); } #region dataaccess for (var i = 5; i <= Sheet.LastRowNum; i++) { var row = Sheet.GetRow(i); HotelCode = ExcelHelper.FormatCellValue(row.GetCell(1)); UpgradeType = ExcelHelper.FormatCellValue(row.GetCell(2)); RoomCode = ExcelHelper.FormatCellValue(row.GetCell(3)); RoomDescription = ExcelHelper.FormatCellValue(row.GetCell(4)); Threshold = ExcelHelper.FormatCellValue(row.GetCell(5)); RoomLongDescription = ExcelHelper.FormatCellValue(row.GetCell(6)); ImageYN = ExcelHelper.FormatCellValue(row.GetCell(7)); PerNightCharge = ExcelHelper.FormatCellValue(row.GetCell(8)); try { if (!string.IsNullOrEmpty(HotelCode)) { var upgradevaluelist = upgradeTypeList.Where(p => p.DisplayName == UpgradeType); UpgradeType = upgradevaluelist.Select(p => p.Value.Split(',')[1]).ToList()[0].ToString(); var roomTypeList = roomTypeService.GetRoomTypeListByRoomCode(HotelCode, RoomCode); List <string> roomCodeList = roomTypeList.Select(p => p.Value.Split(',')[1]).ToList(); if (roomCodeList.Exists(p => p == RoomCode)) { string roomCodeID = roomTypeList.Select(p => p.Value.Split(',')[0]).ToList().First(); roomTypeCode = roomTypeService.GetRoomTypeCodeByID(Int32.Parse(roomCodeID)); roomTypeCode.Hotel_Code = HotelCode; roomTypeCode.RoomCode = RoomCode; roomTypeCode.RoomDescription = RoomDescription; roomTypeCode.RoomLongDescription = RoomLongDescription; roomTypeCode.PerNightCharge = PerNightCharge.ToUpper() == "Y" ? "Y" : "N"; roomTypeCode.PriceDesc = PerNightCharge.ToUpper() == "Y" ? "Additional per night" : ""; roomTypeCode.ImageYN = ImageYN.ToUpper() == "Y" ? "Y" : "N"; roomTypeCode.AddOnYN = UpgradeType.IndexOf("Room") >= 0 ? "N" : "Y"; roomTypeCode.Threshold = !string.IsNullOrEmpty(Threshold) && UpgradeType.IndexOf("Room") >= 0 ? Convert.ToInt16(Threshold) : ThresholdNull; roomTypeCode.UpgradeType = UpgradeType; roomTypeCode.LanguageId = 1; roomTypeCode.Updatedate = DateTime.Now; roomtypeRepo.Update(roomTypeCode); } else { roomTypeCode.IsActive = true; roomTypeCode.Hotel_Code = HotelCode; roomTypeCode.RoomCode = RoomCode; roomTypeCode.RoomDescription = RoomDescription; roomTypeCode.RoomLongDescription = RoomLongDescription; roomTypeCode.PerNightCharge = PerNightCharge.ToUpper() == "Y" ? "Y" : "N"; roomTypeCode.PriceDesc = PerNightCharge.ToUpper() == "Y" ? "Additional per night" : ""; roomTypeCode.ImageYN = ImageYN.ToUpper() == "Y" ? "Y" : "N"; roomTypeCode.AddOnYN = UpgradeType.IndexOf("Room") >= 0 ? "N" : "Y"; roomTypeCode.Threshold = !string.IsNullOrEmpty(Threshold) && UpgradeType.IndexOf("Room") >= 0 ? Convert.ToInt16(Threshold) : ThresholdNull; roomTypeCode.UpgradeType = UpgradeType; roomTypeCode.LanguageId = 1; roomTypeCode.InsertDate = DateTime.Now; roomtypeRepo.Add(roomTypeCode); } unitOfWork.Commit(); successnum += 1; } } catch (Exception dataaccessex) { logger.Error("Exception: " + dataaccessex.ToString()); returnlist.Add(-2); } } #endregion returnlist.Add(successnum); return(returnlist); }