示例#1
0
        private ProductsOrderBookResponse ConvertProductOrderBookResponse(
            ProductsOrderBookJsonResponse productsOrderBookJsonResponse,
            ProductLevel productLevel)
        {
            var askList = productsOrderBookJsonResponse.Asks.Select(product => product.ToArray()).Select(askArray => new Ask(Convert.ToDecimal(askArray[0], CultureInfo.InvariantCulture), Convert.ToDecimal(askArray[1], CultureInfo.InvariantCulture))
            {
                OrderId = productLevel == ProductLevel.Three
                    ? new Guid(askArray[2])
                    : (Guid?)null,
                NumberOfOrders = productLevel == ProductLevel.Three
                    ? (decimal?)null
                    : Convert.ToDecimal(askArray[2], CultureInfo.InvariantCulture)
            }).ToArray();

            var bidList = productsOrderBookJsonResponse.Bids.Select(product => product.ToArray()).Select(bidArray => new Bid(Convert.ToDecimal(bidArray[0], CultureInfo.InvariantCulture), Convert.ToDecimal(bidArray[1], CultureInfo.InvariantCulture))
            {
                OrderId = productLevel == ProductLevel.Three
                    ? new Guid(bidArray[2])
                    : (Guid?)null,
                NumberOfOrders = productLevel == ProductLevel.Three
                    ? (decimal?)null
                    : Convert.ToDecimal(bidArray[2], CultureInfo.InvariantCulture)
            });

            var productOrderBookResponse = new ProductsOrderBookResponse(productsOrderBookJsonResponse.Sequence, bidList, askList);

            return(productOrderBookResponse);
        }
示例#2
0
 private static float GetProductLevelValue(this ProductLevel productLevel)
 {
     if (productLevel == ProductLevel.Empty)
     {
         return(0);
     }
     return((float)productLevel);
 }
示例#3
0
        public JsonResult AddProductLevel(string nameCN, string nameEN)
        {
            ProductLevel productlevel = new ProductLevel();

            productlevel.LevelNameCN = nameCN;
            productlevel.LevelNameEN = nameEN;
            bool flag = ServiceHelper.Create <IProductLevelService>().AddProductLevel(productlevel);

            return(Json(new { success = flag }));
        }
示例#4
0
        public JsonResult UpdateProductLevel(long Id, string nameCN, string nameEN)
        {
            ProductLevel productLevel = ServiceHelper.Create <IProductLevelService>().GetProductLevel(Id);

            productLevel.LevelNameCN = nameCN;
            productLevel.LevelNameEN = nameEN;
            bool flag = ServiceHelper.Create <IProductLevelService>().UpdateProductLevel(productLevel);

            return(Json(new { success = flag }));
        }
示例#5
0
        public async Task <ProductsOrderBookResponse> GetProductOrderBookAsync(
            ProductType productId,
            ProductLevel productLevel = ProductLevel.One)
        {
            var productsOrderBookJsonResponse = await SendServiceCall <ProductsOrderBookJsonResponse>(HttpMethod.Get, $"/products/{productId.GetEnumMemberValue()}/book/?level={(int) productLevel}").ConfigureAwait(false);

            var productOrderBookResponse = ConvertProductOrderBookResponse(productsOrderBookJsonResponse, productLevel);

            return(productOrderBookResponse);
        }
示例#6
0
        public void ProductLevelIsCreatedWithValues()
        {
            var productLevel = new ProductLevel()
            {
                Code = 30
            };

            Assert.AreEqual(30, productLevel.Code);
            Assert.AreEqual(ProductLevelType.Plus, productLevel.Name);
        }
示例#7
0
        public void ProductLevel_NameAssignmentHasNoEffect()
        {
            var productLevel = new ProductLevel()
            {
                Code = 30
            };

            productLevel.Name = ProductLevelType.Basic;

            Assert.AreEqual(30, productLevel.Code);
            Assert.AreEqual(ProductLevelType.Plus, productLevel.Name);
        }
示例#8
0
        private static SolidColorBrush GetIndicatorColor(ProductLevel productLevel)
        {
            switch (productLevel)
            {
            case ProductLevel.OK:
                return(new SolidColorBrush(Colors.Chartreuse));

            case ProductLevel.Empty:
                return(new SolidColorBrush(Colors.Aqua));
            }

            return(new SolidColorBrush(Colors.Red));
        }
示例#9
0
        public bool AddProductLevel(ProductLevel productlevel)
        {
            context.ProductLevel.Add(productlevel);
            int i = context.SaveChanges();

            if (i > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#10
0
        public static void SendProductLevels(this AlcServerViewModel server, ProductLevel leftSocketLevel,
                                             ProductLevel rightSocketLevel)
        {
            server.SentToPlc(new PlcMessagePack
            {
                ChannelId = 0,
                MsgType   = 0,
                CommandId = 16,
                Param1    = leftSocketLevel.GetProductLevelValue(),
                Param2    = rightSocketLevel.GetProductLevelValue()
            }, PlcMessageType.Request);

            Logger.LogPlcMessage($"Sent {leftSocketLevel} and {rightSocketLevel} to plc");
        }
示例#11
0
        public async Task <ProductsOrderBookResponse> GetProductOrderBookAsync(
            ProductType productId,
            ProductLevel productLevel = ProductLevel.One)
        {
            var httpResponseMessage = await SendHttpRequestMessageAsync(HttpMethod.Get, authenticator, $"/products/{productId.GetEnumMemberValue()}/book/?level={(int)productLevel}");

            var contentBody = await httpClient.ReadAsStringAsync(httpResponseMessage).ConfigureAwait(false);

            var productsOrderBookJsonResponse = DeserializeObject <ProductsOrderBookJsonResponse>(contentBody);

            var productOrderBookResponse = ConvertProductOrderBookResponse(productsOrderBookJsonResponse, productLevel);

            return(productOrderBookResponse);
        }
示例#12
0
        public bool DeleteProductLevel(long id)
        {
            int          i     = 0;
            ProductLevel level = context.ProductLevel.FirstOrDefault((ProductLevel m) => m.Id == id);

            if (level != null)
            {
                context.ProductLevel.Remove(level);
                i = context.SaveChanges();
            }
            if (i > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#13
0
 public static string GetResultText(this ProductLevel productLevel)
 {
     if (productLevel == ProductLevel.OK)
     {
         return("OK");
     }
     if (productLevel == ProductLevel.Empty)
     {
         return("Empty");
     }
     if (productLevel == ProductLevel.Ng5)
     {
         return("Error");
     }
     if (productLevel == ProductLevel.Ng3)
     {
         return("WrongProductType");
     }
     return("NG");
 }
示例#14
0
        public bool UpdateProductLevel(ProductLevel productlevel)
        {
            int          i     = 0;
            ProductLevel level = context.ProductLevel.FirstOrDefault((ProductLevel m) => m.Id == productlevel.Id);

            if (level != null)
            {
                level.LevelNameCN = productlevel.LevelNameCN;
                level.LevelNameEN = productlevel.LevelNameEN;
                i = context.SaveChanges();
            }
            if (i > 0)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#15
0
        public void AddRow(List <FaiItem> faiItems, ProductLevel productLevel, string rowName)
        {
            // Sort fai items by header order
            var values = new List <FaiItem>();

            foreach (var faiName in _header)
            {
                values.Add(faiItems.First(item => item.Name == faiName).Clone());
            }

            var row = new DataRowViewModel()
            {
                Values = values, RowName = rowName, ProductLevel = productLevel
            };

            ValueMatrix.Add(row);
            OnPropertyChanged(nameof(Rows));
            OnNewRowAdded(row);

            if (Rows > MaxRows)
            {
                RemoveMultipleRows();
            }
        }
        public static DateTime SerializeImagesWith2D3DMatched(List <HImage> images2d, List <HImage> images3d, bool shouldSerialize2d, bool shouldSerialize3d, CavityType cavityType, bool saveNgImagesOnly, ProductLevel productLevel)
        {
            var currentTime     = DateTime.Now;
            var currentTimeText = currentTime.ToString(NameConstants.DateTimeFormat);
            var dirName         = cavityType.ToString();

            try
            {
                if ((saveNgImagesOnly && productLevel != ProductLevel.OK) || !saveNgImagesOnly)
                {
                    if (shouldSerialize2d)
                    {
                        var imageDir2d = Path.Combine(DirectoryConstants.ImageDir2D, dirName);
                        SerializeImages(images2d, imageDir2d, currentTimeText);
                    }

                    if (shouldSerialize3d)
                    {
                        var imageDir3d = Path.Combine(DirectoryConstants.ImageDir3D, dirName);
                        SerializeImages(images3d, imageDir3d, currentTimeText, "tiff");
                    }
                }
            }
            catch (HOperatorException e)
            {
                if (e.Message.Contains("#5566"))
                {
                    Logger.LogHighLevelWarningNormal("磁盘已满, 请立即清理磁盘");
                }
                else
                {
                    throw;
                }
            }

            return(currentTime);
        }
示例#17
0
        public ProductLevel GetProductLevel(long id)
        {
            ProductLevel productLevel = context.ProductLevel.FirstOrDefault((ProductLevel m) => m.Id == id);

            return(productLevel);
        }