예제 #1
0
        //
        // GET: /Admin/Recommended/

        #region Methods

        private Models.RecommendedModel GetAllRecommended(long?ManageFor)
        {
            Models.RecommendedModel result = new Models.RecommendedModel();
            //   result.Items = BLayer.Recommended.GetAllByManage(ManageFor.Value);
            result.Items     = BLayer.Recommended.GetAllByManageWithGDS(ManageFor.Value);
            result.ManageFor = Convert.ToInt32(ManageFor.Value);
            return(result);
        }
예제 #2
0
 public ActionResult Delete(long id, long ManageFor)
 {
     Models.RecommendedModel val = new Models.RecommendedModel();
     try
     {
         BLayer.Recommended.Remove(id, ManageFor);
         val = GetAllRecommended(ManageFor);
     }
     catch (Exception ex)
     {
         Common.LogHandler.HandleError(ex);
         RedirectToAction("Index", "ErrorPage");
     }
     return(View("_List", val.Items));
 }
예제 #3
0
 public ActionResult GetDetails(long id, long ManageFor)
 {
     Models.RecommendedModel val = new Models.RecommendedModel();
     try {
         CLayer.Recommended data = BLayer.Recommended.GetData(id, ManageFor);
         if (data == null)
         {
             RedirectToAction("Index");
         }
         val.PropertyId = id;
         val.StartDate  = data.StartDate.ToShortDateString();;
         val.EndDate    = data.EndDate.ToShortDateString();
         val.Order      = data.Order;
         val.Status     = data.Status;
         val.Title      = data.Title;
         val.ManageFor  = data.ManageFor;
     }
     catch (Exception ex)
     {
         Common.LogHandler.HandleError(ex);
         RedirectToAction("Index", "ErrorPage");
     }
     return(View("_Details", val));
 }
예제 #4
0
        public ActionResult Save(Models.RecommendedModel data)
        {
            string start = "";
            string End   = "";

            try
            {
                if (ModelState.IsValid)
                {
                    DateTime           tda = DateTime.Today;
                    CLayer.Recommended rec = new CLayer.Recommended();
                    if (data.PropertyId == 0)
                    {
                        RedirectToAction("Index");
                    }
                    int InventoryAPIType = BLayer.Property.GetInventoryAPITypeId(data.PropertyId);
                    if (InventoryAPIType == (int)CLayer.ObjectStatus.InventoryAPIType.Amadeus)
                    {
                        rec.PropertyId = data.PropertyId;
                        DataTable dtHoelCode = BLayer.Property.GetHotelIDFrompropertyid(rec.PropertyId);
                        var       hotelcode  = dtHoelCode.Rows[0]["Hotel_Id"].ToString();
                        start = DateTime.Now.Date.AddDays(1).ToString("yyyy-MM-dd");
                        End   = DateTime.Now.Date.AddDays(2).ToString("yyyy-MM-dd");

                        #region Rate Calculation
                        string result = HotelMultiSingleAvailability(hotelcode, start, End);

                        StayBazar.Common.Serializer                    ser1                = new StayBazar.Common.Serializer();
                        CLayer.HotelAvailability.Envelope              HotelResult         = new CLayer.HotelAvailability.Envelope();
                        CLayer.HotelAvailabilityAdvanced.Envelope      HotelResultAdv      = new CLayer.HotelAvailabilityAdvanced.Envelope();
                        CLayer.HotelAvailabilityAdvancedFirst.Envelope HotelResultAdvFirst = new CLayer.HotelAvailabilityAdvancedFirst.Envelope();


                        try
                        {
                            HotelResult = ser1.Deserialize <CLayer.HotelAvailability.Envelope>(result);
                        }
                        catch (Exception ex)
                        {
                            try
                            {
                                HotelResultAdv = ser1.Deserialize <CLayer.HotelAvailabilityAdvanced.Envelope>(result);
                            }
                            catch (Exception ex1)
                            {
                                HotelResultAdvFirst = ser1.Deserialize <CLayer.HotelAvailabilityAdvancedFirst.Envelope>(result);
                            }
                        }
                        if (HotelResult.Body != null)
                        {
                            if (HotelResult.Body.OTA_HotelAvailRS.CurrencyConversions != null)
                            {
                                var item = HotelResult.Body.OTA_HotelAvailRS.CurrencyConversions;
                                CLayer.GDSCurrencyConversions objCurrencyConversion = new CLayer.GDSCurrencyConversions();
                                objCurrencyConversion.RateConversion        = item.CurrencyConversion.RateConversion;
                                Session["GDSRateConversion"]                = objCurrencyConversion.RateConversion;
                                objCurrencyConversion.DecimalPlaces         = item.CurrencyConversion.DecimalPlaces;
                                objCurrencyConversion.RequestedCurrencyCode = item.CurrencyConversion.RequestedCurrencyCode;
                                objCurrencyConversion.SourceCurrencyCode    = item.CurrencyConversion.SourceCurrencyCode;
                                Session["GDSCurrencyConversion"]            = objCurrencyConversion;
                            }
                            if (Convert.ToString(Session["GDSCountry"]) == "")
                            {
                                Session["GDSCurrencyConversion"] = null;
                            }


                            if (HotelResult.Body.OTA_HotelAvailRS.HotelStays != null)
                            {
                                foreach (var item in HotelResult.Body.OTA_HotelAvailRS.HotelStays)
                                {
                                    InventoryAPIType = (int)CLayer.ObjectStatus.InventoryAPIType.Amadeus;
                                    string HotelId = item.BasicPropertyInfo.HotelCode;

                                    List <CLayer.Accommodation> objAcc = BLayer.Accommodation.GetAllAccByPropertyid(rec.PropertyId);

                                    long   AccomodationId = 0;
                                    string RoomStayRPH    = item.RoomStayRPH;
                                    List <CLayer.RoomStaysResult> RoomStaysResultList = new List <CLayer.RoomStaysResult>();
                                    if (!string.IsNullOrEmpty(RoomStayRPH))
                                    {
                                        string[] RoomStayRPHList = RoomStayRPH.Split(' ');
                                        RoomStaysResultList = StayBazar.Controllers.PropertyController.GetRoomStays(HotelResult.Body.OTA_HotelAvailRS.RoomStays, RoomStayRPHList, Convert.ToString(Session["GDSCurrencyCode"]), Convert.ToDecimal(Session["GDSRateConversion"]));
                                    }
                                    CultureInfo culture = CultureInfo.CurrentCulture;

                                    CLayer.GDSRates Rdata       = new CLayer.GDSRates();
                                    string          BookingCode = RoomStaysResultList.OrderBy(x => x.AmountAfterTax).FirstOrDefault().BookingCode;
                                    Rdata.Rate    = RoomStaysResultList.OrderBy(x => x.AmountAfterTax).FirstOrDefault().AmountAfterTax;
                                    Rdata.RateFor = data.ManageFor;
                                    long userId = 0;
                                    long.TryParse(User.Identity.GetUserId(), out userId);
                                    Rdata.UpdatedBy       = userId;
                                    Rdata.StartDate       = DateTime.Parse(start, CultureInfo.CurrentCulture);
                                    Rdata.EndDate         = DateTime.Parse(End, CultureInfo.CurrentCulture);
                                    Rdata.BookingCode     = BookingCode;
                                    Rdata.Status          = 1;
                                    Rdata.AccommodationId = objAcc.Where(X => X.BookingCode == BookingCode).FirstOrDefault().AccommodationId;
                                    long gdsRateId = BLayer.Rate.GDSRateSave(Rdata);
                                }
                            }
                        }
                        else if (HotelResultAdvFirst.Body != null)
                        {
                            if (HotelResultAdvFirst.Body.OTA_HotelAvailRS.CurrencyConversions != null)
                            {
                                var itemAdv = HotelResultAdvFirst.Body.OTA_HotelAvailRS.CurrencyConversions;
                                CLayer.GDSCurrencyConversions objCurrencyConversion = new CLayer.GDSCurrencyConversions();
                                objCurrencyConversion.RateConversion        = itemAdv.CurrencyConversion.RateConversion;
                                Session["GDSRateConversion"]                = objCurrencyConversion.RateConversion;
                                objCurrencyConversion.DecimalPlaces         = itemAdv.CurrencyConversion.DecimalPlaces;
                                objCurrencyConversion.RequestedCurrencyCode = itemAdv.CurrencyConversion.RequestedCurrencyCode;
                                objCurrencyConversion.SourceCurrencyCode    = itemAdv.CurrencyConversion.SourceCurrencyCode;
                                Session["GDSCurrencyConversion"]            = objCurrencyConversion;
                            }
                            if (Convert.ToString(Session["GDSCountry"]) == "")
                            {
                                Session["GDSCurrencyConversion"] = null;
                            }

                            if (HotelResultAdvFirst.Body.OTA_HotelAvailRS.HotelStays != null)
                            {
                                foreach (var item in HotelResult.Body.OTA_HotelAvailRS.HotelStays)
                                {
                                    InventoryAPIType = (int)CLayer.ObjectStatus.InventoryAPIType.Amadeus;
                                    string HotelId = item.BasicPropertyInfo.HotelCode;

                                    List <CLayer.Accommodation> objAcc = BLayer.Accommodation.GetAllAccByPropertyid(rec.PropertyId);

                                    long   AccomodationId = 0;
                                    string RoomStayRPH    = item.RoomStayRPH;
                                    List <CLayer.RoomStaysResult> RoomStaysResultList = new List <CLayer.RoomStaysResult>();
                                    if (!string.IsNullOrEmpty(RoomStayRPH))
                                    {
                                        string[] RoomStayRPHList = RoomStayRPH.Split(' ');
                                        RoomStaysResultList = StayBazar.Controllers.PropertyController.GetRoomStays(HotelResult.Body.OTA_HotelAvailRS.RoomStays, RoomStayRPHList, Convert.ToString(Session["GDSCurrencyCode"]), Convert.ToDecimal(Session["GDSRateConversion"]));
                                    }
                                    CultureInfo culture = CultureInfo.CurrentCulture;

                                    CLayer.GDSRates Rdata       = new CLayer.GDSRates();
                                    string          BookingCode = RoomStaysResultList.OrderBy(x => x.AmountAfterTax).FirstOrDefault().BookingCode;
                                    Rdata.Rate    = RoomStaysResultList.OrderBy(x => x.AmountAfterTax).FirstOrDefault().AmountAfterTax;
                                    Rdata.RateFor = data.ManageFor;
                                    long userId = 0;
                                    long.TryParse(User.Identity.GetUserId(), out userId);
                                    Rdata.UpdatedBy       = userId;
                                    Rdata.StartDate       = DateTime.Parse(start, CultureInfo.CurrentCulture);
                                    Rdata.EndDate         = DateTime.Parse(End, CultureInfo.CurrentCulture);
                                    Rdata.BookingCode     = BookingCode;
                                    Rdata.Status          = 1;
                                    Rdata.AccommodationId = objAcc.Where(X => X.BookingCode == BookingCode).FirstOrDefault().AccommodationId;
                                    long gdsRateId = BLayer.Rate.GDSRateSave(Rdata);
                                }
                            }
                        }
                        #endregion

                        DateTime.TryParse(data.StartDate, out tda);
                        rec.StartDate = tda;
                        tda           = DateTime.Today;
                        DateTime.TryParse(data.EndDate, out tda);
                        rec.EndDate   = tda;
                        rec.Order     = data.Order;
                        rec.Status    = data.Status;
                        rec.ManageFor = data.ManageFor;
                        long userid = 0;
                        long.TryParse(User.Identity.GetUserId(), out userid);
                        rec.UpdatedBy = userid;
                    }
                    else
                    {
                        rec.PropertyId = data.PropertyId;
                        DateTime.TryParse(data.StartDate, out tda);
                        rec.StartDate = tda;
                        tda           = DateTime.Today;
                        DateTime.TryParse(data.EndDate, out tda);
                        rec.EndDate   = tda;
                        rec.Order     = data.Order;
                        rec.Status    = data.Status;
                        rec.ManageFor = data.ManageFor;
                        long userid = 0;
                        long.TryParse(User.Identity.GetUserId(), out userid);
                        rec.UpdatedBy = userid;
                    }
                    //         BLayer.Recommended.Save(rec);
                    rec.StartDate = DateTime.Parse(start, CultureInfo.CurrentCulture);
                    rec.EndDate   = DateTime.Parse(End, CultureInfo.CurrentCulture);

                    BLayer.Recommended.SaveWithGDS(rec);
                }
            }
            catch (Exception ex)
            {
                Common.LogHandler.HandleError(ex);
                RedirectToAction("Index", "ErrorPage");
            }
            ////   RedirectToAction("Index", "Recommended", new { area = "Admin" });
            return(RedirectToAction("Index", "Recommended", new { area = "Admin" }));
        }
예제 #5
0
 public ActionResult GetMostPrts(long ManageFor)
 {
     Models.RecommendedModel val = new Models.RecommendedModel();
     val.Items = BLayer.Recommended.GetAllByManage(ManageFor);
     return(View("_List", val.Items));
 }