示例#1
0
        /// <summary>
        /// 获取表单创建初始绑定
        /// </summary>
        /// <returns></returns>
        public async Task <ReturnReservationBillModel> GetInitDataAsync(bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;
                var api     = RefitServiceBuilder.Build <IReturnReservationBillApi>(URL);

                var cacheKey = RefitServiceBuilder.Cacher("ReturnReservationBillService.GetInitDataAsync", storeId, userId);
                var results  = await _makeRequest.StartUseCache(api.GetInitDataAsync(storeId, userId, calToken), cacheKey, force, calToken);

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#2
0
        /// <summary>
        /// 获取活动
        /// </summary>
        /// <returns></returns>
        public async Task <IList <NewsInfoModel> > GetNewsAsync(bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api = RefitServiceBuilder.Build <INewsApi>(URL);

                var cacheKey = RefitServiceBuilder.Cacher("GetNewsAsync", storeId, userId);
                var results  = await _makeRequest.StartUseCache(api.GeLatestNewsAsync(storeId, calToken), cacheKey, force, calToken);

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#3
0
        /// <summary>
        /// 获取经销商业务员
        /// </summary>
        /// <returns></returns>
        public async Task <IList <BusinessUserModel> > GetBusinessUsersAsync(int[] ids, string roleName, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;
                var api     = RefitServiceBuilder.Build <IUserApi>(URL);

                var cacheKey = RefitServiceBuilder.Cacher("GetBusinessUsersAsync", storeId, ids, roleName);

                var results = await _makeRequest.StartUseCache(api.GetBusinessUsersAsync(storeId, ids, roleName, calToken), cacheKey, true, calToken);

                if (results == null)
                {
                    return(null);
                }

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#4
0
        /// <summary>
        /// 获取费用支出单据
        /// </summary>
        public async Task <IList <CostExpenditureBillModel> > GetCostExpendituresAsync(int?makeuserId, int?customerId, string customerName, int?employeeId, string billNumber, bool?auditedStatus = null, DateTime?startTime = null, DateTime?endTime = null, bool?showReverse = null, bool sortByAuditedTime = false, int?sign = null, int pagenumber = 0, int pageSize = 20, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api = RefitServiceBuilder.Build <ICostExpenditureApi>(URL);

                var cacheKey = RefitServiceBuilder.Cacher("GetCostExpendituresAsync", storeId,
                                                          makeuserId,
                                                          customerId,
                                                          customerName,
                                                          employeeId,
                                                          billNumber,
                                                          auditedStatus,
                                                          startTime,
                                                          endTime,
                                                          showReverse,
                                                          sortByAuditedTime,
                                                          sign,
                                                          pagenumber,
                                                          pageSize);

                var results = await _makeRequest.StartUseCache(api.GetCostExpendituresAsync(storeId,
                                                                                            makeuserId,
                                                                                            customerId,
                                                                                            customerName,
                                                                                            employeeId,
                                                                                            billNumber,
                                                                                            auditedStatus,
                                                                                            startTime,
                                                                                            endTime,
                                                                                            showReverse,
                                                                                            sortByAuditedTime,
                                                                                            sign,
                                                                                            pagenumber,
                                                                                            pageSize, calToken),
                                                               cacheKey, force, calToken);

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#5
0
        /// <summary>
        /// 获取单据
        /// </summary>
        /// <param name="billId"></param>
        /// <returns></returns>
        public async Task <AllocationBillModel> GetBillAsync(int billId, bool force = false, CancellationToken calToken = default)
        {
            var model = new AllocationBillModel();

            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api = RefitServiceBuilder.Build <IAllocationApi>(URL);

                var cacheKey = RefitServiceBuilder.Cacher("AllocationService.GetBillAsync", storeId, userId, billId);
                var results  = await _makeRequest.StartUseCache(api.GetBillAsync(storeId, userId, billId, calToken), cacheKey, force, calToken);

                if (results != null && results?.Code >= 0)
                {
                    model = results?.Data;
                }
                return(model);
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#6
0
        /// <summary>
        /// 获取库存
        /// </summary>
        /// <returns></returns>
        public async Task <IList <WareHouseModel> > GetWareHousesAsync(BillTypeEnum btype, string searchStr = "", int pageIndex = 0, int pageSize = 50, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api = RefitServiceBuilder.Build <IWareHousesApi>(URL);

                var cacheKey = RefitServiceBuilder.Cacher("GetWareHousesAsync",
                                                          storeId,
                                                          userId,
                                                          (int)btype,
                                                          searchStr,
                                                          true,
                                                          pageIndex,
                                                          pageSize);

                var results = await _makeRequest.StartUseCache(api.GetWareHousesAsync(storeId,
                                                                                      userId,
                                                                                      (int)btype,
                                                                                      searchStr,
                                                                                      pageIndex,
                                                                                      pageSize,
                                                                                      calToken),
                                                               cacheKey,
                                                               true,
                                                               calToken,
                                                               TimeSpan.FromSeconds(5));

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data?.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#7
0
        /// <summary>
        /// 获取全部盘点单据
        /// </summary>
        /// <param name="makeuserId"></param>
        /// <param name="inventoryPerson"></param>
        /// <param name="wareHouseId"></param>
        /// <param name="billNumber"></param>
        /// <param name="remark"></param>
        /// <param name="auditedStatus"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="inventoryStatus"></param>
        /// <param name="showReverse"></param>
        /// <param name="sortByCompletedTime"></param>
        /// <param name="pagenumber"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public async Task <IList <InventoryPartTaskBillModel> > GetInventoryAllsAsync(int?makeuserId, int?inventoryPerson, int?wareHouseId, string billNumber, string remark, bool?auditedStatus = null, DateTime?startTime = null, DateTime?endTime = null, int?inventoryStatus = -1, bool?showReverse = null, bool?sortByCompletedTime = null, int pagenumber = 0, int pageSize = 20, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api = RefitServiceBuilder.Build <IInventoryApi>(URL);

                var cacheKey = RefitServiceBuilder.Cacher("GetInventoryAllsAsync", storeId,
                                                          makeuserId,
                                                          inventoryPerson,
                                                          wareHouseId,
                                                          billNumber,
                                                          remark,
                                                          auditedStatus,
                                                          startTime,
                                                          endTime,
                                                          inventoryStatus,
                                                          showReverse,
                                                          sortByCompletedTime,
                                                          pagenumber,
                                                          pageSize);

                var results = await _makeRequest.StartUseCache(api.GetInventoryAllsAsync(storeId,
                                                                                         makeuserId,
                                                                                         inventoryPerson,
                                                                                         wareHouseId,
                                                                                         billNumber,
                                                                                         remark,
                                                                                         auditedStatus,
                                                                                         startTime,
                                                                                         endTime,
                                                                                         inventoryStatus,
                                                                                         showReverse,
                                                                                         sortByCompletedTime,
                                                                                         pagenumber,
                                                                                         pageSize, calToken),
                                                               cacheKey, force, calToken);

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#8
0
        /// <summary>
        /// 获取商品信息
        /// </summary>
        /// <returns></returns>
        public async Task <PageData <ProductModel> > GetProductsAsync(int[] categoryIds = null, string key = "", int?terminalid = 0, int wareHouseId = 0, int pageIndex = 0, int pageSize = 20, bool?usablequantity = true, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api = RefitServiceBuilder.Build <IProductApi>(URL);

                var cacheKey = RefitServiceBuilder.Cacher("GetProductsAsync", storeId, key, categoryIds, terminalid, wareHouseId, pageIndex, pageSize, usablequantity);
                var results  = await _makeRequest.StartUseCache(api.GetProductsAsync(storeId, null, key, categoryIds, terminalid, wareHouseId, pageIndex, pageSize, usablequantity, calToken), cacheKey, force, calToken);

                return(results?.Data);
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#9
0
        /// <summary>
        /// 库存查询
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public async Task <IList <StockReportProduct> > GetStocksAsync(int?wareHouseId = 0, int?categoryId = 0, int?productId = 0, string productName = "", int?brandId = 0, bool?status = null, int?maxStock = 0, bool?showZeroStack = null, int pagenumber = 50, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api = RefitServiceBuilder.Build <IReportingApi>(URL);

                var cacheKey = RefitServiceBuilder.Cacher("GetStocksAsync", storeId,
                                                          wareHouseId,
                                                          categoryId,
                                                          productId,
                                                          productName,
                                                          brandId,
                                                          status,
                                                          maxStock,
                                                          showZeroStack,
                                                          pagenumber);

                var results = await _makeRequest.StartUseCache(api.GetStocksAsync(storeId,
                                                                                  wareHouseId,
                                                                                  categoryId,
                                                                                  productId,
                                                                                  productName,
                                                                                  brandId,
                                                                                  status,
                                                                                  maxStock,
                                                                                  showZeroStack,
                                                                                  pagenumber, calToken),
                                                               cacheKey, force, calToken);

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
示例#10
0
        /// <summary>
        /// 获取经销商终端
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public async Task <APIResult <IList <TerminalModel> > > GetTerminalsAsync(string searchStr = "", int?districtId = 0, int?channelId = 0, int?rankId = 0, int?businessUserId = 0, int?lineId = 0, bool status = true, int pageIndex = 0, int pageSize = 20, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;

                if (!businessUserId.HasValue || (businessUserId.HasValue && businessUserId.Value == 0))
                {
                    businessUserId = Settings.UserId;
                }

                int userId = businessUserId ?? 0;
                var api    = RefitServiceBuilder.Build <ITerminalApi>(URL);

                var cacheKey = RefitServiceBuilder.Cacher("GetTerminalsAsync", storeId,
                                                          userId,
                                                          searchStr,
                                                          districtId,
                                                          channelId,
                                                          rankId,
                                                          status,
                                                          pageIndex,
                                                          pageSize);

                var results = await _makeRequest.StartUseCache(api.GetTerminalsAsync(storeId,
                                                                                     userId,
                                                                                     searchStr,
                                                                                     districtId,
                                                                                     channelId,
                                                                                     rankId,
                                                                                     status,
                                                                                     pageIndex,
                                                                                     pageSize,
                                                                                     calToken),
                                                               cacheKey,
                                                               true,
                                                               calToken);

                return(results);
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }