//StockStatusgetStoreName public static List <StockStatus> StockStatusgetStoreName(string SubName, string StoreName, int index, int count) { string sql = ""; sql = string.Format(@"select top {0} h.HouseName,t.SubareaName ,p.ProductsName,p.ProductsID,p.UpperLimit,p.LowerLimit, p.Cost ,d.Num from t_Products p , t_ProductsStock d ,t_StoreHouse h ,t_StoreHouseDetail t where p.ProductsID=d.ProductsID and t.HouseID=h.HouseID and t.ID= d.HouseDetailID and p.ProductsID not in(select top {1} P.ProductsID from t_Products p , t_ProductsStock d ,t_StoreHouse h ,t_StoreHouseDetail t where p.ProductsID=d.ProductsID and t.HouseID=h.HouseID and t.ID= d.HouseDetailID order by P.ProductsID) and SubareaName='{2}' and HouseName='{3}' order by P.ProductsID ", count, (index - 1) * count, SubName, StoreName); DataTable dt = DBHelper.GetDatatable(sql); List <StockStatus> list = new List <StockStatus>(); foreach (DataRow item in dt.Rows) { StockStatus e = new StockStatus(); e.Cost = Convert.ToInt32(item["Cost"]); e.downlimit = Convert.ToInt32(item["LowerLimit"]); e.HouseName = item["HouseName"].ToString(); e.SubareaName = item["SubareaName"].ToString(); e.productID = Convert.ToInt32(item["ProductsID"]); e.ProductName = item["ProductsName"].ToString(); e.num = Convert.ToInt32(item["num"]); list.Add(e); } return(list); }
private StockStatus ProcessStockChecking(ICollection <LineItem> lineItems) { StockStatus status = new StockStatus(); foreach (var item in lineItems) { Product product = _productRepository.Return(item.ProductId); if (product != null) { // We assume that if a product is found, we can almost be certain that other related entities are available. var brand = _brandRepository.Return(product.BrandId); var price = _productPriceRepository.Return(item.ProductPriceId); if (price.Stock <= 0) { status.IsOutOfStock = true; // EnforceStockCount priority Brand < Product. Product has higher priority (final say) than Brand. if (product.EnforceStockCount || (!product.EnforceStockCount && brand.EnforceStockCount)) { status.CartItemIdList.Add(item.Id); status.HasOutOfStockItem = true; } } } else { status.CartItemIdList.Add(item.Id); status.HasOutOfStockItem = true; } } return(status); }
public RegionStockStatusChangedV1(string region, int variantId, StockStatus status, DateTime version) { Region = region; VariantId = variantId; Status = status; Version = version; }
public ActionResult DeleteConfirmed(int id) { StockStatus stockStatus = db.StockStatuses.Find(id); db.StockStatuses.Remove(stockStatus); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "StockStatusID,Name")] StockStatus stockStatus) { if (ModelState.IsValid) { db.Entry(stockStatus).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(stockStatus)); }
public RefreashedEventArgs(double currentValue, double lastValue, StockStatus status, ExchangeStatus decision, double currentBTC, double currentJPY) { this.currentValue = currentValue; this.lastValue = lastValue; this.status = status; this.decision = decision; this.currentBTC = currentBTC; this.currentJPY = currentJPY; }
public ActionResult Create(StockStatus StockStatuses) { using (var db = new TupperwareContext()) { db.StockStatuses.Add(StockStatuses); db.SaveChanges(); } Session["Message"] = "El estado de publicación fue guardado exitosamente"; return(RedirectToAction("Index")); }
public ActionResult Edit(StockStatus StockStatuses) { using (var db = new TupperwareContext()) { var PublicationStatusToEdit = db.StockStatuses.Find(StockStatuses.StockStatusId); db.Entry(PublicationStatusToEdit).CurrentValues.SetValues(StockStatuses); db.SaveChanges(); } return(RedirectToAction("Index")); }
public ActionResult Create([Bind(Include = "StockStatusID,Name")] StockStatus stockStatus) { if (ModelState.IsValid) { db.StockStatuses.Add(stockStatus); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(stockStatus)); }
// GET: Category/Create public ActionResult Create(StockStatus model, int pageNo = 1) { if (ModelState.IsValid) { //model.Code = AutoNumberHelper.GenerateNumber(ObjectType.Category, db); db.StockStatuses.Add(model); db.SaveChanges(); } return(RedirectToAction("Index", new { PageNo = pageNo })); }
public void InitStockStatusWithString_BasicTest() { var text = @"jQuery183020675270035713877_1515211248785({""code"":""600000"",""name"":""浦发银行"",""topprice"":""13.93"",""bottomprice"":""11.39"",""fivequote"":{""yesClosePrice"":""12.66"",""openPrice"":""12.67"",""sale1"":""12.69"",""sale2"":""12.70"",""sale3"":""12.71"",""sale4"":""12.72"",""sale5"":""12.73"",""buy1"":""12.68"",""buy2"":""12.67"",""buy3"":""12.66"",""buy4"":""12.65"",""buy5"":""12.64"",""sale1_count"":3484,""sale2_count"":4947,""sale3_count"":5534,""sale4_count"":4508,""sale5_count"":4386,""buy1_count"":2564,""buy2_count"":3541,""buy3_count"":2431,""buy4_count"":4124,""buy5_count"":2337},""realtimequote"":{""open"":""12.67"",""high"":""12.71"",""low"":""12.62"",""avg"":""12.67"",""zd"":""0.03"",""zdf"":""0.24%"",""turnover"":""0.11%"",""currentPrice"":""12.69"",""volume"":""310267"",""amount"":""393058256"",""wp"":""146164"",""np"":""164104"",""time"":""15:10:45""}});"; var stockStatus = new StockStatus(text); Assert.AreEqual("600000", stockStatus.Code); Assert.AreEqual("浦发银行", stockStatus.Name); Assert.AreEqual(13.93, stockStatus.TopPrice); Assert.AreEqual(11.39, stockStatus.BottomPrice); Assert.AreEqual(12.69, stockStatus.CurrentPrice); }
public void SetMemberValue(double upthreshold = 0, double downThreshold = 0, StockStatus status = StockStatus.noStatus, double peakVaule = 0, double trougValue = 0, double currentValue = 0, double lastValue = 0) { PeakValue = peakVaule; TroughVaule = trougValue; CurrentValue = currentValue; LastValue = lastValue; UpThreshold = upthreshold; DownThreshold = downThreshold; Status = status; }
/// <summary> /// Gets the name of the product stock status. /// </summary> /// <param name="status">The status.</param> /// <returns>A stock status localizable name from the site content</returns> public static string GetProductStockStatusName(StockStatus status) { if (status == null) { return(string.Empty); } Item lookupItem = null; return(Lookup(StorefrontConstants.KnowItemNames.InventoryStatuses, status.Name, out lookupItem, true)); }
private TransactionOutput ProcessPaymentForOrder(Order order, PaymentEntity paymentEntity, bool sendEmailFlag) { if (order == null) { return(new TransactionOutput { Message = "Sorry, it is failed to create an order." }); } // Check if there is any item in basket if (order.LineItemCollection.Count == 0) { return(new TransactionOutput { Message = "Sorry, there is no available item." }); } // Stock checking StockStatus stockStatus = ProcessStockChecking(order.LineItemCollection); if (stockStatus.HasOutOfStockItem) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < stockStatus.CartItemIdList.Count; i++) { var item = _lineItemRepository.Return(stockStatus.CartItemIdList[i]); sb.AppendFormat("- {0}<br/>", item.Name); } return(new TransactionOutput { Message = "Sorry, items below are out of stock.<br/>" + sb.ToString(), StockStatus = stockStatus }); } _paymentSystem.InsertPaymentEntity(paymentEntity); // If there is stock alert, process payment entity accordingly if (stockStatus.IsOutOfStock) { paymentEntity = _paymentSystem.UpdateAndGetPaymentEntityForOutOfStock(paymentEntity.Id); } // Process card payment var output = _paymentSystem.ProcessCardPayment(order, paymentEntity); // Process transaction output output = ProcessPaymentOutputForOrder(order, output, sendEmailFlag); return(output); }
public string GetStockStatus(Stream Parameterdetails) { string JsonStringForSerialized = ""; try { StockStatus objStockStatus = new StockStatus(); JsonStringForSerialized = objStockStatus.GetStockStatus(Parameterdetails); } catch { } return(JsonStringForSerialized); }
public async Task <StockStatus> GetStockStatusAsync(int sku) { StockStatus stockStatus = null; using (var client = this.CreateHttpClient()) { var result = await client.GetStringAsync(StockserviceUrlBase + sku); stockStatus = JsonConvert.DeserializeObject <StockStatus>(result); } return(stockStatus); }
public async Task <StockStatus> GetStockStatusAsync(int sku) { StockStatus stockStatus = null; using (HttpClient client = this.CreateHttpClient()) { var result = await client.GetStringAsync(STOCKSERVICE_URL_BASE + sku.ToString()); stockStatus = JsonConvert.DeserializeObject <StockStatus>(result); } return(stockStatus); }
public VendingMachine(IVendingMachineManager manager, Currency currency, uint maxCapacityPerProduct) { ProfitHelper = this.WhenAnyValue(x => x.Income, x => x.Expenses, (income, expenses) => income - expenses).ToProperty(source: this, property: x => x.Profit); StockStatus.SubscribeMany((_) => UpdateProfitExcludingCurrentStockOutlaySubscriptionFactory()); this.ObservableForProperty(x => x.Profit).Subscribe(x => UpdateProfitExcludingCurrentStockOutlay()); Currency = currency; MaxCapacityPerProduct = maxCapacityPerProduct; this.manager = manager; //No need to worry about null because of C# 8.0. // (It would be caught at compile-time) //To have IVendingMachineOperator be nullable, //I'd have to declare it as IVendingMachineOperator? this.manager.SetupVendingMachine(_stock.AsObservableCache()).Subscribe(StockProduct); }
// GET: StockStatus/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StockStatus stockStatus = db.StockStatuses.Find(id); if (stockStatus == null) { return(HttpNotFound()); } return(View(stockStatus)); }
public Stock(ISession session, Product product, Address address, StockStatus status, decimal?retailCost = null) { Timestamp = DateTime.Now; Product = session.Load <Catalog>(product.CatalogId).FullName; Address = address; ProductId = product.Id; CatalogId = product.CatalogId; Status = status; if (status == StockStatus.Available) { Debug.Assert(retailCost != null); } RetailCost = retailCost; Quantity = 1; SupplyQuantity = 1; }
public void LogStockStatus(Store store, StockStatus status) { Console.Write($" - {store.Name}: "); switch (status) { case StockStatus.InStock: LogInStock(); break; case StockStatus.OutOfStock: LogOutOfStock(); break; default: LogUnknownStock(); break; }
/*走势监控 * 根据升跌状态来调整最高价和最低价 * 同时判断升跌装填 * */ private Boolean trendContain() { StockStatus lastStatus = Status; if (CurrentValue >= LastValue) { if (Status == StockStatus.noStatus) { Status = StockStatus.up; } else if (Status == StockStatus.down && (CurrentValue - TroughVaule) / TroughVaule > UpThreshold) { Status = StockStatus.up; PeakValue = CurrentValue; } else if (Status == StockStatus.up && CurrentValue > PeakValue) { PeakValue = CurrentValue; } } else { if (Status == StockStatus.noStatus) { Status = StockStatus.down; } else if (Status == StockStatus.up && (PeakValue - CurrentValue) / PeakValue > DownThreshold) { Status = StockStatus.down; TroughVaule = CurrentValue; } else if (Status == StockStatus.down && CurrentValue < TroughVaule) { TroughVaule = CurrentValue; } } if (lastStatus != StockStatus.noStatus && Status != lastStatus) { return(true); } else { return(false); } }
/// <summary> /// Gets the name of the product stock status. /// </summary> /// <param name="status">The status.</param> /// <returns>Aa stock status localizable name from the site content</returns> public static string GetProductStockStatusName(StockStatus status) { if (status == null) { return(string.Empty); } string contentStartPath = CurrentStorefront.GlobalItem.Axes.GetItem(string.Concat(StorefrontConstants.KnowItemNames.Lookups, "/", StorefrontConstants.KnowItemNames.InventoryStatuses)).Paths.Path; string statusPath = contentStartPath + "/" + status.Name; Item inventoryItem = Sitecore.Context.Database.GetItem(statusPath); if (inventoryItem == null) { return(status.Name); } return(inventoryItem[StorefrontConstants.KnownFieldNames.Value]); }
private void HandleStockNotifications(StockStatus status, ProductListing listing) { switch (status) { case StockStatus.InStock when MinutesSinceLastSeenInStock() > 10: listing.LastSeenInStock = DateTime.Now; _logger.LogListingUrl(listing); Alert.WithBeeps(); break; case StockStatus.Unknown when _ignoreErrors == false: Alert.WithBeeps(); break; } double MinutesSinceLastSeenInStock() => DateTime.Now.Subtract(listing.LastSeenInStock).TotalMinutes; }
// GET: Category public ActionResult Index(int pageNo = 1, int id = 0, string searchString = "") { var cate = from s in db.StockStatuses select s; if (!String.IsNullOrEmpty(searchString)) { cate = cate.Where(s => s.Text.Contains(searchString)); } var model = new StockStatus(); if (id > 0) { model = db.StockStatuses.Find(id); } BindList(pageNo, cate.ToList()); //ViewBag.Types = new SelectList(new[] { new { Id = 1, Text = "Nhập" }, new { Id = 2, Text = "Xuất" } }.ToList(), "Id", "Text", model.Type); return(View(model)); }
// GET: Category/Edit/5 public ActionResult Edit(StockStatus model, int pageNo = 1) { db.Entry(model).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index", new { PageNo = pageNo })); }
/// <summary> /// Gets the name of the product stock status. /// </summary> /// <param name="status">The status.</param> /// <returns>Aa stock status localizable name from the site content</returns> public static string GetProductStockStatusName(StockStatus status) { if (status == null) { return string.Empty; } string contentStartPath = CurrentStorefront.GlobalItem.Axes.GetItem(string.Concat(StorefrontConstants.KnowItemNames.Lookups, "/", StorefrontConstants.KnowItemNames.InventoryStatuses)).Paths.Path; string statusPath = contentStartPath + "/" + status.Name; Item inventoryItem = Sitecore.Context.Database.GetItem(statusPath); if (inventoryItem == null) { return status.Name; } return inventoryItem[StorefrontConstants.KnownFieldNames.Value]; }
public async Task <KeyValuePair <IEnumerable <ChinaStock>, IEnumerable <SecurityProviderInfo> > > GetChinaStocksAsync(Exchange?exchange = null, StockStatus stockStatus = StockStatus.Listing) { CoreApi client = new CoreApi { Token = token }; var response = client.stock_basic(null, stockStatus, exchange); if (response.Code == 0) { var stocks = response.ChinaStocks; ObservableCollection <SecurityProviderInfo> securityProviderInfos = new ObservableCollection <SecurityProviderInfo>(); foreach (var stock in stocks) { securityProviderInfos.Add(new SecurityProviderInfo() { Deleted = false, Id = Guid.Empty, Provider = DataProvider.TuShare, ProviderKey = stock.ProviderKey, Security = stock }); } return(new KeyValuePair <IEnumerable <ChinaStock>, IEnumerable <SecurityProviderInfo> >(stocks, securityProviderInfos)); } else { throw new Exception(response.Message.ToString()); } }
/// <summary> /// Gets the index of the product stock status from. /// </summary> /// <param name="viewModelList">The view model list.</param> public static void GetProductStockStatusFromIndex(List <ProductViewModel> viewModelList) { if (viewModelList == null || viewModelList.Count == 0) { return; } var searchManager = CommerceTypeLoader.CreateInstance <ICommerceSearchManager>(); var searchIndex = searchManager.GetIndex(); using (var context = searchIndex.CreateSearchContext()) { var predicate = PredicateBuilder.Create <InventorySearchResultItem>(item => item[StorefrontConstants.KnownIndexFields.InStockLocations].Contains("Default")); predicate = predicate.Or(item => item[StorefrontConstants.KnownIndexFields.OutOfStockLocations].Contains("Default")); predicate = predicate.Or(item => item[StorefrontConstants.KnownIndexFields.OrderableLocations].Contains("Default")); predicate = predicate.Or(item => item[StorefrontConstants.KnownIndexFields.PreOrderable].Contains("0")); var searchResults = context.GetQueryable <InventorySearchResultItem>() .Where(item => item.CommerceSearchItemType == CommerceSearchResultItemType.Product) .Where(item => item.Language == SearchNavigation.CurrentLanguageName) .Where(BuildProductIdListPredicate(viewModelList)) .Where(predicate) .Select(x => new { x.OutOfStockLocations, x.OrderableLocations, x.PreOrderable, x.InStockLocations, x.Fields, x.Name }); var results = searchResults.GetResults(); if (results.TotalSearchResults == 0) { return; } foreach (var result in results) { var resultDocument = result.Document; if (resultDocument == null) { continue; } StockStatus status = null; var isInStock = resultDocument.Fields.ContainsKey(StorefrontConstants.KnownIndexFields.InStockLocations) && resultDocument.Fields[StorefrontConstants.KnownIndexFields.InStockLocations] != null; if (isInStock) { status = StockStatus.InStock; } else { var isPreOrderable = resultDocument.Fields.ContainsKey(StorefrontConstants.KnownIndexFields.PreOrderable) && result.Document.PreOrderable != null && (result.Document.PreOrderable.Equals("1", StringComparison.OrdinalIgnoreCase) || result.Document.PreOrderable.Equals("true", StringComparison.OrdinalIgnoreCase)); if (isPreOrderable) { status = StockStatus.PreOrderable; } else { var isOutOfStock = resultDocument.Fields.ContainsKey(StorefrontConstants.KnownIndexFields.OutOfStockLocations) && result.Document.OutOfStockLocations != null; var isBackOrderable = resultDocument.Fields.ContainsKey(StorefrontConstants.KnownIndexFields.OrderableLocations) && result.Document.OrderableLocations != null; if (isOutOfStock && isBackOrderable) { status = StockStatus.BackOrderable; } else { status = isOutOfStock ? StockStatus.OutOfStock : null; } } } var foundModel = viewModelList.Find(x => x.ProductId == result.Document.Name); if (foundModel != null) { foundModel.StockStatus = status; foundModel.StockStatusName = StorefrontManager.GetProductStockStatusName(foundModel.StockStatus); } } } }
/// <summary> /// Gets the name of the product stock status. /// </summary> /// <param name="status">The status.</param> /// <returns>A stock status localizable name from the site content</returns> public static string GetProductStockStatusName(StockStatus status) { if (status == null) { return string.Empty; } Item lookupItem = null; return Lookup(StorefrontConstants.KnowItemNames.InventoryStatuses, status.Name, out lookupItem, true); }
public void PublishWarehouseAvailableStockChanged() { Stopwatch requestTimer = Stopwatch.StartNew(); var requestTelemetry = RequestTelemetryHelper.Start("Batch Publish Rate", DateTime.UtcNow); CallContext.LogicalSetData(CORRELATION_SLOT, requestTelemetry.Id); try { if (_skuVariantMap == null || !_skuVariantMap.Any()) { InitialiseSkuVariantCache(); } if (_skuVariantMap == null || !_skuVariantMap.Any()) { throw new Exception("Failed to Initialise Sku-Variant Cache"); } int pickable; int reserved; int allocated; switch (_stockStatus) { case StockStatus.InStock: pickable = 20; reserved = 0; allocated = 10; _stockStatus = StockStatus.LowInStock; break; case StockStatus.LowInStock: pickable = 30; reserved = 1; allocated = 20; _stockStatus = StockStatus.OutOfStock; break; case StockStatus.OutOfStock: pickable = 40; reserved = 20; allocated = 20; _stockStatus = StockStatus.InStock; break; default: pickable = 20; reserved = 0; allocated = 10; break; } var fc01BrokeredMessages = _skuVariantMap.Select(x => new BrokeredMessage(new WarehouseAvailableStockChangedV1("FC01", x.SKU, pickable, reserved, allocated, DateTime.UtcNow))).ToList(); var fc04BrokeredMessages = _skuVariantMap.Select(x => new BrokeredMessage(new WarehouseAvailableStockChangedV1("FC04", x.SKU, pickable, reserved, allocated, DateTime.UtcNow))).ToList(); for (var index = _publishBatchSize; index <= fc01BrokeredMessages.Count; index = +_publishBatchSize) { var batchedBrokeredMessages = fc01BrokeredMessages.GetRange(index, _publishBatchSize); if (batchedBrokeredMessages.Any()) { _warehouseAvailableStockTopicClient.SendBatch(batchedBrokeredMessages); Thread.Sleep(1000); RequestTelemetryHelper.Dispatch(_telemetryClient, requestTelemetry, requestTimer.Elapsed, true); } } for (var index = _publishBatchSize; index <= fc04BrokeredMessages.Count; index = +_publishBatchSize) { var batchedBrokeredMessages = fc04BrokeredMessages.GetRange(index, _publishBatchSize); if (batchedBrokeredMessages.Any()) { _warehouseAvailableStockTopicClient.SendBatch(batchedBrokeredMessages); Thread.Sleep(1000); RequestTelemetryHelper.Dispatch(_telemetryClient, requestTelemetry, requestTimer.Elapsed, true); } } } catch (Exception ex) { string err = ex.Message; if (ex.InnerException != null) { err += " Inner Exception: " + ex.InnerException.Message; } Trace.TraceError(err, ex); RequestTelemetryHelper.Dispatch(_telemetryClient, requestTelemetry, requestTimer.Elapsed, false); } }
private void InitialiseSkuVariantCache() { _skuVariantMap = _stockQuantityStore.GetSkuVariantMap(_skuVariantBatchSize); _stockStatus = StockStatus.InStock; }