示例#1
0
        public void DeleteProduct()
        {
            JsonProduct product = new JsonProduct();

            var createResponse = api.CreateProduct(ref product);

            Assert.AreEqual(api.DeleteProduct(createResponse.id), 200);
        }
示例#2
0
        public bool CheckEqualProducts(ref JsonProduct product)
        {
            if (id != product.id)
            {
                return(false);
            }

            if (category_id != product.category_id)
            {
                return(false);
            }

            if (title != product.title)
            {
                return(false);
            }

            if (content != product.content)
            {
                return(false);
            }

            if (price != product.price)
            {
                return(false);
            }

            if (old_price != product.old_price)
            {
                return(false);
            }

            if (status != product.status)
            {
                return(false);
            }

            if (keywords != product.keywords)
            {
                return(false);
            }

            if (description != product.description)
            {
                return(false);
            }

            if (img != product.img)
            {
                return(false);
            }

            return(hit == product.hit);
        }
 // GET api/Product
 public IQueryable<JsonProduct> GetProducts()
 {
     IQueryable<Product> products = ent.Products.AsQueryable();
     List<JsonProduct> jsonProducts = new List<JsonProduct>();
     foreach (var product in products)
     {
         JsonProduct jsonProduct = new JsonProduct();
         var prod = ent.Products.FirstOrDefault(p => p.Id == product.Id);
         jsonProduct.name = prod.Name;
         jsonProduct.cost = prod.Cost;
         jsonProduct.id = product.Id;
         jsonProducts.Add(jsonProduct);
     }
     return jsonProducts.AsQueryable();
 }
示例#4
0
        // GET api/Product
        public IQueryable <JsonProduct> GetProducts()
        {
            IQueryable <Product> products     = ent.Products.AsQueryable();
            List <JsonProduct>   jsonProducts = new List <JsonProduct>();

            foreach (var product in products)
            {
                JsonProduct jsonProduct = new JsonProduct();
                var         prod        = ent.Products.FirstOrDefault(p => p.Id == product.Id);
                jsonProduct.name = prod.Name;
                jsonProduct.cost = prod.Cost;
                jsonProduct.id   = product.Id;
                jsonProducts.Add(jsonProduct);
            }
            return(jsonProducts.AsQueryable());
        }
        public void AddProductTest(string[] productParams, int statusCode)
        {
            var product = new JsonProduct
            {
                category_id = Convert.ToInt32(productParams[0]),
                title       = productParams[1],
                price       = Convert.ToDouble(productParams[2]),
                old_price   = Convert.ToDouble(productParams[3]),
                status      = Convert.ToInt32(productParams[4]),
                hit         = Convert.ToInt32(productParams[5])
            };

            var createResponse = api.CreateProduct(ref product);

            Assert.AreEqual(createResponse.statusCode, statusCode);
            api.DeleteProduct(createResponse.id);
        }
示例#6
0
        public void EditStatusTest(int newStatus, bool answer)
        {
            JsonProduct product        = new JsonProduct();
            var         createResponse = api.CreateProduct(ref product);
            var         response       = api.GetAllProducts();
            var         products       = JsonConvert.DeserializeObject <JsonProduct[]>(response.Content.ReadAsStringAsync().Result);
            JsonProduct editedProduct  = products[FindProductById(ref products, createResponse.id)];

            editedProduct.status = newStatus;

            api.EditProduct(ref editedProduct);

            response = api.GetAllProducts();
            products = JsonConvert.DeserializeObject <JsonProduct[]>(response.Content.ReadAsStringAsync().Result);

            Assert.AreEqual(products[FindProductById(ref products, createResponse.id)].CheckEqualProducts(ref editedProduct), answer);
            api.DeleteProduct(createResponse.id);
        }
示例#7
0
        public void AddProductTest(string[] productParams, int statusCode)
        {
            //Arrange
            JsonProduct product = new JsonProduct();

            product.category_id = Convert.ToInt32(productParams[0]);
            product.title       = productParams[1];
            product.price       = Convert.ToDouble(productParams[2]);
            product.old_price   = Convert.ToDouble(productParams[3]);
            product.status      = Convert.ToInt32(productParams[4]);
            product.hit         = Convert.ToInt32(productParams[5]);

            //Act
            var createResponse = api.CreateProduct(ref product);

            //Assert
            Assert.AreEqual(createResponse.statusCode, statusCode);
            api.DeleteProduct(createResponse.id);
        }
        public void EditDescriptionTest(string newDescription, bool answer)
        {
            var product        = new JsonProduct();
            var createResponse = api.CreateProduct(ref product);
            var response       = api.GetAllProducts();
            var products       = JsonConvert.DeserializeObject <JsonProduct[]>(response.Content.ReadAsStringAsync().Result);
            var editedProduct  = products[FindProductById(ref products, createResponse.id)];

            editedProduct.description = newDescription;

            api.EditProduct(ref editedProduct);

            response = api.GetAllProducts();
            products = JsonConvert.DeserializeObject <JsonProduct[]>(response.Content.ReadAsStringAsync().Result);

            Assert.AreEqual(
                products[FindProductById(ref products, createResponse.id)].CheckEqualProducts(ref editedProduct),
                answer);
            api.DeleteProduct(createResponse.id);
        }
示例#9
0
 public void Update(Guid id, JsonProduct product)
 {
     _products.Update(id, product);
 }
示例#10
0
 public void Create(JsonProduct product)
 {
     _products.Create(product);
 }
    public void DeSerialize(Dictionary<string, object> dic)
    {
        pointList.Clear();
        wallList.Clear();
        productDataList.Clear();
        roomList.Clear();
        productList = new List<Product>();
        preScanDatas.Clear();

        foreach (string key in dic.Keys)
        {
            switch (key)
            {
                case "pointList":
                    {
                        object obj = MyJsonTool.getValue(dic, key);
                        List<object> list = obj as List<object>;
                        for (int i = 0; i < list.Count; i++)
                        {
                            Point point = new Point();
                            point.DeSerialize(list[i] as Dictionary<string, object>);
                            pointList.Add(point);
                        }
                    }
                    break;
                case "wallList":
                    {
                        object obj = MyJsonTool.getValue(dic, key);
                        List<object> list = obj as List<object>;
                        for (int i = 0; i < list.Count; i++)
                        {
                            WallData wall = new WallData();
                            wall.DeSerialize(list[i] as Dictionary<string, object>);
                            wallList.Add(wall);
                        }
                    }
                    break;
                case "productDataList":
                    {
                        object obj = MyJsonTool.getValue(dic, key);
                        List<object> list = obj as List<object>;
                        for (int i = 0; i < list.Count; i++)
                        {
                            ProductData productdata = new ProductData();
                            productdata.DeSerialize(list[i] as Dictionary<string, object>);
                            productDataList.Add(productdata);
                        }
                    }
                    break;
                case "roomList":
                    {
                        object obj = MyJsonTool.getValue(dic, key);
                        List<object> list = obj as List<object>;
                        for (int i = 0; i < list.Count; i++)
                        {
                            RoomData room = new RoomData();
                            room.DeSerialize(list[i] as Dictionary<string, object>);
                            roomList.Add(room);
                        }
                    }
                    break;
                case "productList":
                    {
                        object obj = MyJsonTool.getValue(dic, key);
                        if (obj == null)
                        {
                            productList = null;
                            break;
                        }
                        List<object> list = obj as List<object>;
                        for (int i = 0; i < list.Count; i++)
                        {
                            Product product = new Product();
                            if (isOld)
                            {
                                JsonProduct jsonData = new JsonProduct();
                                jsonData.DeSerialize(list[i] as Dictionary<string, object>);
                                jsonData.WriteToData(product);
                            }
                            else {
                                product.DeSerialize(list[i] as Dictionary<string, object>);
                            }
                            productList.Add(product);
                            //if(product)
                        }
                    }
                    break;
                case "defaultsettings":
                    {
                        object obj = MyJsonTool.getValue(dic, key);
                        defaultsettings.DeSerialize(obj as Dictionary<string, object>);
                    }
                    break;
                case "maxAngleRooms":
                    {
                        object obj = MyJsonTool.getValue(dic, key);
                        List<object> list = obj as List<object>;
                        for (int i = 0; i < list.Count; i++)
                        {
                            RoomData room = new RoomData();
                            room.DeSerialize(list[i] as Dictionary<string, object>);
                            maxAngleRooms.Add(room);
                        }
                    }
                    break;
                case "preScanDatas":
                    {
                        object obj = MyJsonTool.getValue(dic, key);
                        List<object> list = obj as List<object>;
                        for (int i = 0; i < list.Count; i++)
                        {
                            PreScanData prescan = new PreScanData();
                            prescan.DeSerialize(list[i] as Dictionary<string, object>);
                            preScanDatas.Add(prescan);
                        }
                    }
                    break;
                default:
                    break;
            }
        }

        //恢复关联
        Dictionary<int, Point> pointDic = new Dictionary<int, Point>();
        Dictionary<int, WallData> wallDic = new Dictionary<int, WallData>();
        Dictionary<int, WallSideData> tempSideDic = new Dictionary<int, WallSideData>();
        for (int i = 0; i < pointList.Count; i++)
        {
            pointDic.Add(pointList[i].guid, pointList[i]);
        }
        for (int i = 0; i < wallList.Count; i++)
        {
            wallDic.Add(wallList[i].guid, wallList[i]);
            WallData wall = wallList[i];
            if (pointDic.ContainsKey(wall.point1Guid) == false)
            {
                Debug.LogError("wall.point1Guid = "+ wall.point1Guid + "对应的Point不存在");
            }
            else {
                wall.point1 = pointDic[wall.point1Guid];
            }
            if (pointDic.ContainsKey(wall.point2Guid) == false)
            {
                Debug.LogError("wall.point2Guid = " + wall.point2Guid + "对应的Point不存在");
            }
            else {
                wall.point2 = pointDic[wall.point2Guid];
            }
            wall.point1To2Data.targetWall = wall;
            wall.point2To1Data.targetWall = wall;
            tempSideDic.Add(wall.point1To2Data.guid, wall.point1To2Data);
            tempSideDic.Add(wall.point2To1Data.guid, wall.point2To1Data);
        }
        for (int i = 0; i < productDataList.Count; i++)
        {
            ProductData productData = productDataList[i];
            if (productData.targetWallGuid != -1)
            {
                if (wallDic.ContainsKey(productData.targetWallGuid))
                {
                    productData.targetWall = wallDic[productData.targetWallGuid];
                }
                else
                {
                    Debug.LogError("productData.targetWallGuid = "+ productData.targetWallGuid + "对应的Wall不存在");
                    productData.targetWall = null;
                }
            }
            else {
                productData.targetWall = null;
            }
        }
        for (int i = 0; i < roomList.Count; i++)
        {
            RoomData room = roomList[i];
            for (int k = 0; k < room.sideListGuids.Count; k++)
            {
                if (tempSideDic.ContainsKey(room.sideListGuids[k]) == false)
                {
                    Debug.LogError("room.sideListGuids[k] = " + room.sideListGuids[k] + "对应的WallSideData不存在");
                    continue;
                }
                room.sideList.Add(tempSideDic[room.sideListGuids[k]]);
            }
            room.pointList = new List<Point>();
            for (int k = 0; k < room.pointListGuids.Count; k++)
            {
                if (pointDic.ContainsKey(room.pointListGuids[k]) == false)
                {
                    Debug.LogError("room.pointListGuids[k] = " + room.pointListGuids[k] + "对应的Point不存在");
                    continue;
                }
                room.pointList.Add(pointDic[room.pointListGuids[k]]);
            }
        }

        for (int i = 0; i < maxAngleRooms.Count; i++)
        {
            RoomData room = maxAngleRooms[i];
            for (int k = 0; k < room.sideListGuids.Count; k++)
            {
                if (tempSideDic.ContainsKey(room.sideListGuids[k]) == false)
                {
                    Debug.LogError("room.sideListGuids[k] = " + room.sideListGuids[k] + "对应的WallSideData不存在");
                    continue;
                }
                room.sideList.Add(tempSideDic[room.sideListGuids[k]]);
            }
            room.pointList = new List<Point>();
            for (int k = 0; k < room.pointListGuids.Count; k++)
            {
                if (pointDic.ContainsKey(room.pointListGuids[k]) == false)
                {
                    Debug.LogError("room.pointListGuids[k] = " + room.pointListGuids[k] + "对应的Point不存在");
                    continue;
                }
                room.pointList.Add(pointDic[room.pointListGuids[k]]);
            }
        }

        MainPageUIData.Instance.productDic.Clear();
        MainPageUIData.Instance.GoodsDic.Clear();

        if (productList != null)
        {
            for (int i = 0; i < productList.Count; i++)
            {
                MainPageUIData.Instance.AddProduct(productList[i]);
            }
        }
    }