//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);
            }
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }