public static void MarkOrderItemsAsTransferredToBackOffice(List<string> itemIdentifierList, int userID) { var dcp = CheckoutDataContextProvider.Instance; var repOrderItem = new Repository<OrderItem>(dcp); var dividedOrderItemList = itemIdentifierList.ToDividedList(100); foreach (var itemList in dividedOrderItemList) { var orderItemIdentifierList = itemList.Select(itemIdentifier => itemIdentifier).ToList(); var orderItemList = repOrderItem.GetAll().Where(p => orderItemIdentifierList.Contains(p.ItemIdentifier.ToString())).ToList(); foreach (var orderItem in orderItemList) { orderItem.IsTransferredToBackOffice = true; } dcp.CommitChanges(userID); } }
public static List<VariantStockDO> GetBeymenVariantStockList(List<string> varianStockList) { if (EnvironmentUtils.IsDEV()) { return BeymenStockServiceMock.GetVariantStockList(varianStockList); } else { List<List<string>> dividedList = varianStockList.ToDividedList(10000); List<VariantStockDO> resultList = new List<VariantStockDO>(); foreach (var variantList in dividedList) { Beymen_eCommClient beymenService = new Beymen_eCommClient(); string stockData; try { stockData = beymenService.StokKontrol2(_siteID, _siteKey, variantList.ToArray()); } catch (Exception e) { string message = "Stock update beymenden hata aldı. Varyant kodları: " + string.Join(",", variantList); ElmahLogger.Error(message, e); continue; } try { if (string.IsNullOrEmpty(stockData)) { continue; } string[] stockBlockData = stockData.Split(','); if (stockBlockData.Any() == false) { continue; } foreach (var variantStock in stockBlockData) { string[] firstBreakdown = variantStock.Split('|'); if (firstBreakdown.Count() < 2) { continue; } VariantStockDO newVariantStock = new VariantStockDO(); newVariantStock.VariantCode = firstBreakdown[0].Trim().TrimStart('0'); int stock = 0; int.TryParse(firstBreakdown[1], out stock); newVariantStock.Quantity = stock; resultList.Add(newVariantStock); } } catch (Exception e) { string message = "Beymen stock cevabının parse edilemsi sırasında hata oluştu."; ElmahLogger.Error(message, e); } } return resultList; } }
public static List<string> CancelOrderItems(List<string> orderItemCodeList, int userID) { using (TransactionScope tran = TransactionScopeFactory.CreateTransactionScope()) { CheckoutDataContextProvider dcp = CheckoutDataContextProvider.Instance; var dividedOrderItemList = orderItemCodeList.ToDividedList(1000); var returnList = new List<string>(); foreach (var itemCodeList in dividedOrderItemList) { List<OrderItem> orderItems = GetAllOrderItemsAsQueryable(dcp).Where(x => itemCodeList.Contains(x.ItemIdentifier)).ToList(); DateTime utcNow = DateTime.UtcNow; orderItems.ForEach(x => { x.IsCancelled = true; x.StatusCode = OrderItemStatus.Cancelled.ToString(); x.StatusCodeUpdateTime = utcNow; }); dcp.CommitChanges(userID); returnList.AddRange(orderItems.Select(x => x.ItemIdentifier).ToList()); //TODO beymen sistemine sistemine bildirme kısmı var. } tran.Complete(); return returnList; } }