Ejemplo n.º 1
0
        public JsonResult GetProductRangeList(string QRFId, string ProductId, string CategoryId, string AdditionalYN)
        {
            SalesQuoteLibrary  quoteLibrary    = new SalesQuoteLibrary(_configuration);
            ProductRangeGetRes prodRangeGetRes = quoteLibrary.GetProductRangeList(ProductId, CategoryId, AdditionalYN, token, string.IsNullOrEmpty(QRFId) ? "" : QRFId);

            List <AutoCompleteTextBox> prodRangeList    = new List <AutoCompleteTextBox>();
            List <AutoCompleteTextBox> defProdRangeList = new List <AutoCompleteTextBox>();

            if (prodRangeGetRes.ResponseStatus.Status.ToLower() == "success" && prodRangeGetRes.ProductRangeDetails.Count > 0)
            {
                prodRangeList = prodRangeGetRes.ProductRangeDetails.Select(a => new AutoCompleteTextBox {
                    value = a.VoyagerProductRange_Id, label = a.ProductRangeCode + " (" + a.PersonType + (a.AgeRange == null ? "" : " | " + a.AgeRange) + ")", type = a.AdditionalYN.ToString()
                }).OrderBy(a => a.type).ThenBy(a => a.label).ToList();
                if (prodRangeGetRes.DefProdRangelist != null && prodRangeGetRes.DefProdRangelist.Count > 0)
                {
                    defProdRangeList = prodRangeGetRes.DefProdRangelist.Select(a => new AutoCompleteTextBox {
                        value = a.VoyagerProductRange_Id, label = a.ProductRangeCode + " (" + a.PersonType + (a.AgeRange == null ? "" : " | " + a.AgeRange) + ")", type = a.AdditionalYN.ToString()
                    }).OrderBy(a => a.type).ThenBy(a => a.label).ToList();
                }
                return(Json(new { prodRangeGetRes.SupplierId, prodRangeGetRes.SupplierName, prodRangeList, defProdRangeList }));
            }
            else
            {
                return(Json(""));
            }
        }
Ejemplo n.º 2
0
        public async Task <ProductRangeGetRes> GetProductRangeByParam(ProductRangeGetReq productRangeGetReq, string ticket)
        {
            ProductRangeGetRes productRangeGetRes = new ProductRangeGetRes();

            productRangeGetRes = await serviceProxy.PostData(_configuration.GetValue <string>("ServiceMaster:GetProductRangeByParam"), productRangeGetReq, typeof(ProductRangeGetRes), ticket);

            return(productRangeGetRes);
        }
Ejemplo n.º 3
0
        public async Task <ProductRangeGetRes> GetProdRangeNameByProdId(ProductRangeGetReq request, string ticket)
        {
            ProductRangeGetRes response = new ProductRangeGetRes();

            response = await serviceProxy.PostData(_configuration.GetValue <string>("ServiceMaster:GetProdRangeNameByProdId"), request, typeof(ProductRangeGetRes), ticket);

            return(response);
        }
Ejemplo n.º 4
0
        public ProductRangeGetRes GetProductRangeByParam([FromBody] ProductRangeGetReq request)
        {
            var response = new ProductRangeGetRes();

            try
            {
                if (request != null)
                {
                    var result = _productRepository.GetProductRangeByParam(request);
                    if (result != null && result.ProductRangeDetails != null && result.ProductRangeDetails.Count > 0)
                    {
                        response.ResponseStatus.Status = "Success";
                        response.ProductRangeDetails   = result.ProductRangeDetails.ToList();

                        if (result.DefProdRangelist != null && result.DefProdRangelist.Count > 0)
                        {
                            response.DefProdRangelist = result.DefProdRangelist.ToList();
                        }

                        if (!string.IsNullOrEmpty(request.ProductId))
                        {
                            ProductSupplierGetReq objProductSupplierGetReq = new ProductSupplierGetReq {
                                ProductId = request.ProductId
                            };
                            ProductSupplierGetRes objProductSupplierGetRes = _productRepository.GetSupplierDetails(objProductSupplierGetReq);
                            if (objProductSupplierGetRes != null)
                            {
                                response.SupplierId   = objProductSupplierGetRes.SupplierId;
                                response.SupplierName = objProductSupplierGetRes.SupplierName;
                            }
                        }
                    }
                    else
                    {
                        response.ResponseStatus.Status       = "Success";
                        response.ResponseStatus.ErrorMessage = "No Records Found.";
                        response.ProductRangeDetails         = new List <ProductRangeDetails>();
                        response.DefProdRangelist            = new List <ProductRangeDetails>();
                    }
                }
                else
                {
                    response.ResponseStatus.Status       = "Failure";
                    response.ResponseStatus.ErrorMessage = "Request details can not be null/blank.";
                    response.ProductRangeDetails         = new List <ProductRangeDetails>();
                }
            }
            catch (Exception ex)
            {
                response.ResponseStatus.Status       = "Failure";
                response.ResponseStatus.ErrorMessage = "An error occurs " + ex.Message;
                response.ProductRangeDetails         = new List <ProductRangeDetails>();
            }
            response.ProductCatId = request.ProductCatId;
            response.ProductId    = request.ProductId;
            return(response);
        }
Ejemplo n.º 5
0
        public JsonResult GetProductRange(string ProductId, string CategoryId, string AdditionalYN, string positionname = "")
        {
            SalesQuoteLibrary  quoteLibrary    = new SalesQuoteLibrary(_configuration);
            ProductRangeGetRes prodRangeGetRes = quoteLibrary.GetProductRangeList(ProductId, CategoryId, AdditionalYN, token);

            List <AutoCompleteTextBox> prodRangeList = new List <AutoCompleteTextBox>();

            if (prodRangeGetRes.ResponseStatus.Status.ToLower() == "success" && prodRangeGetRes.ProductRangeDetails.Count > 0)
            {
                if (positionname == "cruise")
                {
                    var roomsuppliment = new List <AutoCompleteTextBox>();
                    var roomservice    = new List <AutoCompleteTextBox>();

                    roomservice = prodRangeGetRes.ProductRangeDetails.Where(a => a.AdditionalYN == false).ToList().
                                  Select(a => new AutoCompleteTextBox {
                        value = a.VoyagerProductRange_Id, label = a.ProductRangeCode + " (" + a.PersonType + (a.AgeRange == null ? "" : " | " + a.AgeRange) + ") ", type = a.AdditionalYN.ToString()
                    }).
                                  OrderBy(a => a.label.Contains("SINGLE") ? "A" : a.label.Contains("DOUBLE") ? "B" : a.label.Contains("TWIN") ? "C" : a.label.Contains("TRIPLE") ? "D" :
                                          a.label.Contains("QUAD") ? "E" : a.label.Contains("TSU") ? "F" :
                                          a.label.ToLower().Contains("child + bed") ? "G" : a.label.ToLower().Contains("child - bed") ? "H" :
                                          a.label.ToLower().Contains("infant") ? "I" : "J").ThenBy(a => a.label).ToList();

                    roomsuppliment = prodRangeGetRes.ProductRangeDetails.Where(a => a.AdditionalYN == true).
                                     Select(a => new AutoCompleteTextBox {
                        value = a.VoyagerProductRange_Id, label = a.ProductRangeCode + " (" + a.PersonType + (a.AgeRange == null ? "" : " | " + a.AgeRange) + ") ", type = a.AdditionalYN.ToString()
                    }).
                                     OrderBy(a => a.type).ThenBy(a => a.label).ToList();

                    roomservice.AddRange(roomsuppliment);
                    prodRangeList = roomservice;
                }
                else
                {
                    prodRangeList = prodRangeGetRes.ProductRangeDetails.Select(a => new AutoCompleteTextBox {
                        value = a.VoyagerProductRange_Id, label = a.ProductRangeCode + " (" + a.PersonType + (a.AgeRange == null ? "" : " | " + a.AgeRange) + ") ", type = a.AdditionalYN.ToString()
                    }).OrderBy(a => a.type).ThenBy(a => a.label).ToList();
                }

                return(Json(new { prodRangeGetRes.SupplierId, prodRangeGetRes.SupplierName, prodRangeList }));
            }
            else
            {
                return(Json(""));
            }
        }
Ejemplo n.º 6
0
        public List <BookingPositionViewModel> BindMealList(BookingDetailRes response, BookingSearchRes res, ProductRangeGetRes prodRangeGetRes, ProductCatGetRes prodCatGetRes)
        {
            List <BookingPositionViewModel> lstMealposition = new List <BookingPositionViewModel>();

            //ProductRangeGetReq prodRangeGetReq = new ProductRangeGetReq();
            //ProductRangeGetRes prodRangeGetRes = new ProductRangeGetRes();
            //ProductCatGetReq prodCatGetReq = new ProductCatGetReq();
            //ProductCatGetRes prodCatGetRes = new ProductCatGetRes();

            if (response.Booking.Services != null && res.BookingRooms != null)
            {
                var mealpositions = response.Booking.Services.Where(a => a.ProductType.ToUpper() == "MEAL").ToList();                                                                                           //BookingPositions
                var positionIds   = mealpositions.Select(x => x.Position_Id).ToList();
                var rooms         = res.BookingRooms.Where(x => positionIds.Contains(x.PositionId) && x.PersonType == "ADULT").Select(y => new { y.ProductRangeId, y.ProductTemplate, y.PositionId }).ToList(); //BookingRooms

                #region Get Product Range by Product Id list
                //var productRangeIds = rooms.Select(x => x.ProductRangeId).ToList();
                //prodRangeGetReq.ProductRangeIdList = productRangeIds;
                //prodRangeGetRes = objMasterProviders.GetProductRangeByParam(prodRangeGetReq, token).Result;
                var lstrange = prodRangeGetRes.ProductRangeDetails.Select(y => new { y.ProductCategoryId, y.ProductMenu, y.VoyagerProductRange_Id });
                #endregion

                #region Get Product Category by Product Category Id list
                //var productCategoryIds = lstrange.Select(x => x.ProductCategoryId).ToList();
                //prodCatGetReq.ProdCatIdList = productCategoryIds;
                //prodCatGetRes = objMasterProviders.GetProductCategoryByParam(prodCatGetReq, token).Result;
                var lstCategory = prodCatGetRes.ProdCategoryDetails.Select(y => new { y.ProductCategoryId, y.ProductCategoryName });
                #endregion


                foreach (var meal in mealpositions)
                {
                    var prodRangeId = rooms.Where(x => x.PositionId == meal.Position_Id).Select(y => y.ProductRangeId).FirstOrDefault() ?? "";
                    var prodCatId   = lstrange.Where(x => x.VoyagerProductRange_Id == prodRangeId).Select(y => y.ProductCategoryId).FirstOrDefault() ?? "";
                    var pos         = new BookingPositionViewModel();
                    pos.StartDate      = meal.StartDate;
                    pos.Country        = meal.Country;
                    pos.City           = meal.City;
                    pos.ProductName    = meal.ProductName;
                    pos.Status         = meal.Status;
                    pos.RestaurantType = lstCategory.Where(x => x.ProductCategoryId == prodCatId).Select(y => y.ProductCategoryName).FirstOrDefault() ?? "";
                    pos.Meal           = rooms.Where(x => x.PositionId == meal.Position_Id).Select(y => y.ProductTemplate).FirstOrDefault() ?? "";
                    pos.Menu           = lstrange.Where(x => x.VoyagerProductRange_Id == prodRangeId).Select(y => y.ProductMenu).FirstOrDefault() ?? "";

                    lstMealposition.Add(pos);
                }
                return(lstMealposition);
                //model.MealPositions = lstMealposition;
            }
            else
            {
                return(null);
                //model.MealPositions = new List<BookingPositionViewModel>();
            }
        }