Пример #1
0
 public void Init()
 {
     ps  = new ProductStruct(0, "SomeProduct1", 1.2M, 20);
     ps1 = new ProductStruct(1, "SomeProduct2", 3.2M, 30);
     ps2 = new ProductStruct(1, "SomeProduct2", 3.2M, 30);
     ps3 = new ProductStruct(1, "SomeProduct4", 22.2M, 30);
 }
Пример #2
0
        public async Task <IActionResult> AddProductToStorePartial(AddProductToStoreModel addProductToStore)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    await manager.AddProductToStoreAsync(addProductToStore.StoreName, addProductToStore.ProductName);

                    ProductStruct productStruct = await productManager.GetOneAsync(addProductToStore.ProductName);

                    ProductModel productModel = new ProductModel
                    {
                        Id          = productStruct.Id,
                        Name        = productStruct.Name,
                        Description = productStruct.Description
                    };
                    return(PartialView("SingleProduct", productModel));
                }
                catch (ExistsInDBException e)
                {
                    ViewData["Errors"] = e.Message;
                }
                catch (NoExistInDbException e)
                {
                    ViewData["Errors"] = e.Message;
                }
            }
            else
            {
                ViewData["Errors"] = "The field can not be empty";
            }
            Response.StatusCode = (int)HttpStatusCode.BadRequest;
            return(Content(ViewData["Errors"].ToString()));
        }
Пример #3
0
        private static void Test()
        {
            try
            {
                ProductStruct product = new ProductStruct();
                product.No      = 1;
                product.UID     = "PNo123456".GetFixLengthChar(14);
                product.Current = 0.567;
                product.Pass    = 0;

                var b = StructHelper.StuctToByte(product);
                Console.WriteLine("Struct length:" + b.Length);
                Console.WriteLine("Hex: " + ByteToHexString(b, ' '));

                var s = StructHelper.ByteToStuct <ProductStruct>(b);
                Console.WriteLine("No: " + s.No.ToString());
                Console.WriteLine("UID: " + s.UID.GetString());
                Console.WriteLine("Current: " + s.Current.ToString());
                Console.WriteLine("Pass: " + s.Pass.ToString());

                //Test1();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            //byte[] buffer = new byte[1024];
            //Array.Copy(test, 0, buffer, 0, test.Length);
            //Analysis(buffer, test);
        }
Пример #4
0
        private async Task <StoreStruct> CreatStoreStruct(StoresEntity storeEntity)
        {
            StoreStruct storeStruct = new StoreStruct
            {
                Name         = storeEntity.Name,
                Address      = storeEntity.Address,
                WorkingHours = storeEntity.WorkingHours,
                Id           = storeEntity.Id
            };

            if (storeStruct.Products == null)
            {
                storeStruct.Products = new List <ProductStruct>();
            }
            if (storeEntity.StoreProduct != null)
            {
                foreach (var product in storeEntity.StoreProduct)
                {
                    var productEntity = await context.Products.SingleOrDefaultAsync(p => p.Id == product.ProductId);

                    ProductStruct productStruct = new ProductStruct {
                        Id = productEntity.Id, Name = productEntity.Name, Description = productEntity.Description
                    };
                    storeStruct.Products.Add(productStruct);
                }
            }
            return(storeStruct);
        }
        public async Task AddAsyncTestFaildAsync(string databasename, string description, string name)
        {
            ProductStruct productStruct = new ProductStruct {
                Description = description, Name = name
            };

            using (InMemoryContext context = new InMemoryContext(databasename))
            {
                ProductManager product = new ProductManager(context);
                await context.Products.AddAsync(new ProductsEntity { Name = name });

                Assert.ThrowsAsync <ExistsInDBException>(async() => await product.AddAsync(productStruct));
            }
        }
        public async Task AddAsyncTestOkAsync(string databasename, string description, string name)
        {
            ProductStruct productStruct = new ProductStruct {
                Description = description, Name = name
            };

            using (InMemoryContext context = new InMemoryContext(databasename))
            {
                ProductManager product = new ProductManager(context);

                (bool result, int id) = await product.AddAsync(productStruct);

                Assert.IsTrue(result);
            }
        }
Пример #7
0
            public long ArrayWithoutPool()
            {
                int upperBound = arrayOfStrings.Length;

                ProductStruct[] data   = new ProductStruct[upperBound];
                long            result = 0;

                for (int i = 0; i < upperBound; ++i)
                {
                    data[i] = new ProductStruct()
                    {
                        Id             = i + 100,
                        Name           = arrayOfStrings[i],
                        ManufacturerId = i + 10
                    };
                }
                result = ProcessData(ref data);
                return(result);
            }
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }
            var tmp = obj as ProductStruct?;

            if (!tmp.HasValue)
            {
                return(false);
            }
            ProductStruct p = tmp.Value;

            return(p.Id == this.Id &&
                   p.Name == this.Name &&
                   p.Cost == this.Cost &&
                   p.Amount == this.Amount);
        }
Пример #9
0
            public long ArrayUsingPool()
            {
                int upperBound = arrayOfStrings.Length;

                ProductStruct[] data = ArrayPool <ProductStruct> .Shared.Rent(upperBound);

                long result = 0;

                for (int i = 0; i < upperBound; ++i)
                {
                    data[i] = new ProductStruct()
                    {
                        Id             = i + 100,
                        Name           = arrayOfStrings[i],
                        ManufacturerId = i + 10
                    };
                }
                result = ProcessData(ref data);
                ArrayPool <ProductStruct> .Shared.Return(data);

                return(result);
            }