Ejemplo n.º 1
0
        public List <DiscontinuedSkuItemResponseViewModel> GetDiscontinuedSkuRequest(GetDiscontinuedSkuParam request)
        {
            List <DiscontinuedSkuItemResponseViewModel> result = null;


            if (string.IsNullOrWhiteSpace(request.Locale) || string.IsNullOrWhiteSpace(request.DistributorId))
            {
                return(null);
            }

            try
            {
                var list = _discontinuedSkuLoader.GetDiscontinuedSkuList(request.DistributorId, request.Locale, request.ShoppingCartItemToCheck);

                if (list.Count > 0)
                {
                    result = ConvertToFavouriteItemViewModel(list);
                }

                return(result);
            }
            catch (Exception ex)
            {
                LoggerHelper.Error(string.Format("MobileDiscontinuedSkuProvider : {0}\n {1}\n", ex.Message, ex.StackTrace));
                return(result);
            }
        }
        private GetDiscontinuedSkuParam GetDiscontinuedSkuParamMock()
        {
            List <ShoppingCartItem_V01> DiscontinuedItems = new List <ShoppingCartItem_V01>();
            ShoppingCartItem_V01        item = new ShoppingCartItem_V01
            {
                SKU                = "1318",
                IsPromo            = false,
                Quantity           = 1,
                PartialBackordered = false,
                Updated            = DateTime.Now,
            };

            ShoppingCartItem_V01 item1 = new ShoppingCartItem_V01
            {
                SKU                = "9143",
                IsPromo            = true,
                Quantity           = 1,
                PartialBackordered = false,
                Updated            = DateTime.Now,
            };

            DiscontinuedItems.Add(item);
            DiscontinuedItems.Add(item1);

            GetDiscontinuedSkuParam param = new GetDiscontinuedSkuParam
            {
                DistributorId           = "CN640521",
                Locale                  = "zh-CN",
                ShoppingCartItemToCheck = DiscontinuedItems
            };

            return(param);
        }
        public MobileResponseWrapper Get([FromUri] DiscontinuedSkuItemViewModel query)
        {
            try
            {
                if (query == null)
                {
                    throw CreateException(HttpStatusCode.BadRequest, "Invalid or Incomplete GetDiscontinuedSku information",
                                          999999);
                }
                if (string.IsNullOrEmpty(query.ShoppingCartId) && (query.OrderId == Guid.Empty || string.IsNullOrEmpty(query.OrderNumber)))
                {
                    return(new MobileResponseWrapper
                    {
                        Data = new DiscontinuedSkuResponseViewModel {
                            DiscontinuedSkus = null, RecordCount = 0
                        }
                    });
                }
                query.Locale = Thread.CurrentThread.CurrentCulture.Name;

                GetDiscontinuedSkuParam request = new GetDiscontinuedSkuParam
                {
                    DistributorId = query.DistributorId,
                    Locale        = query.Locale,
                };
                var result = _getDisconinuedSkuProvider.GetDiscontinuedSkuRequest(request);

                if (result != null)
                {
                    var response = new MobileResponseWrapper
                    {
                        Data =
                            new DiscontinuedSkuResponseViewModel
                        {
                            DiscontinuedSkus = result,
                            RecordCount      = result.Count
                        }
                    };

                    MobileActivityLogProvider.ActivityLog(query, response, query.DistributorId, true,
                                                          Request.RequestUri.ToString(),
                                                          Request.Headers.ToString(),
                                                          Request.Headers.UserAgent.ToString(),
                                                          query.Locale);

                    return(response);
                }
            }
            catch (Exception ex)
            {
                LoggerHelper.Error(ex.ToString());
                throw CreateException(HttpStatusCode.InternalServerError,
                                      "Internal server errror searching for Get Discontinued SKUs" + ex.Message, 404);
            }
            var responseWrapper = new MobileResponseWrapper
            {
                Data = new DiscontinuedSkuResponseViewModel {
                    DiscontinuedSkus = null, RecordCount = 0
                }
            };

            MobileActivityLogProvider.ActivityLog(query, responseWrapper, query.DistributorId, true,
                                                  Request.RequestUri.ToString(),
                                                  Request.Headers.ToString(),
                                                  Request.Headers.UserAgent.ToString(),
                                                  query.Locale);

            return(responseWrapper);
        }