Example #1
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);
            }
        }
Example #2
0
        /// <summary>
        /// 获取用户信息
        /// </summary>
        /// <returns></returns>
        public async Task <UserModel> CheckStatusAsync(CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api    = RefitServiceBuilder.Build <IAuthenticationApi>(URL);
                var result = await _makeRequest.Start(api.CheckStatusAsync(storeId, userId, calToken), calToken);

                if (result.Data != null && result.Data.Id > 0)
                {
                    return(result.Data);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
Example #3
0
        public async Task <UpdateInfo> GetCurrentVersionAsync(CancellationToken calToken = default)
        {
            try
            {
                if (!Settings.IsAuthenticated)
                {
                    return(null);
                }

                var api    = RefitServiceBuilder.Build <IUpdateApi>(URL, false);
                var result = await _makeRequest.Start(api.GetCurrentVersionAsync(calToken), calToken);

                if (result != null)
                {
                    return(result);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
Example #4
0
        /// <summary>
        /// 获取指定单据类型的收付款方式
        /// </summary>
        /// <param name="billTypeId"></param>
        /// <returns></returns>
        public async Task <IList <AccountingOptionModel> > GetPaymentMethodsAsync(int billTypeId = 0, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api      = RefitServiceBuilder.Build <IAccountingApi>(URL);
                var cacheKey = RefitServiceBuilder.Cacher("GetPaymentMethodsAsync", storeId, billTypeId);
                var results  = await _makeRequest.StartUseCache(api.GetPaymentMethodsAsync(storeId, billTypeId, calToken), cacheKey, force, calToken);

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
Example #5
0
        /// <summary>
        /// 获取品牌
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public async Task <IList <BrandModel> > GetBrandsAsync(string name = "", int pagenumber = 0, int pageSize = 50, 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("GetBrandsAsync", storeId, name, pagenumber, pageSize);
                var results  = await _makeRequest.StartUseCache(api.GetBrandsAsync(storeId, name, 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);
            }
        }
Example #6
0
        /// <summary>
        /// 获取单据
        /// </summary>
        /// <param name="billId"></param>
        /// <returns></returns>
        public async Task <SaleReservationBillModel> GetBillAsync(int billId, bool force = false, CancellationToken calToken = default)
        {
            var model = new SaleReservationBillModel();

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

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

                var cacheKey = RefitServiceBuilder.Cacher("SaleReservationBillService.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);
            }
        }
Example #7
0
        /// <summary>
        /// 获取所有可用活动的赠送商品
        /// </summary>
        /// <returns></returns>
        public async Task <IList <CampaignBuyGiveProductModel> > GetAllCampaigns(string name, int terminalId = 0, int channelId = 0, int wareHouseId = 0, int pagenumber = 0, int pageSize = 50, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

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

                var results = await _makeRequest.Start(api.GetAllCampaigns(storeId,
                                                                           name,        //360
                                                                           terminalId,  //185528
                                                                           channelId,
                                                                           wareHouseId, //259
                                                                           pagenumber,
                                                                           pageSize,
                                                                           calToken));

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
Example #8
0
        public async Task <bool> UpdateterminalAsync(int?terminalId, double location_lat, double location_lng, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api     = RefitServiceBuilder.Build <ITerminalApi>(URL);
                var results = await _makeRequest.Start(api.UpdateterminalAsync(storeId, terminalId, location_lat, location_lng, calToken), calToken);

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

                if (results?.Data != null && results?.Code >= 0)
                {
                    return(results.Data);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(false);
            }
        }
Example #9
0
        public async Task <bool> CheckTerminalAsync(string name, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api     = RefitServiceBuilder.Build <ITerminalApi>(URL);
                var results = await _makeRequest.Start(api.CheckTerminalAsync(storeId, name, calToken), calToken);

                if (results != null)
                {
                    return((bool)results.Data);
                }
                else
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(false);
            }
        }
Example #10
0
        /// <summary>
        /// 获取经销商账户余额
        /// </summary>
        /// <param name="terminalId"></param>
        /// <returns></returns>
        public async Task <TerminalBalance> GetTerminalBalance(int terminalId = 0, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;
                var api     = RefitServiceBuilder.Build <ITerminalApi>(URL);
                var results = await _makeRequest.Start(api.GetTerminalBalance(storeId, terminalId, calToken), calToken);

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

                if (results?.Data != null && results?.Code >= 0)
                {
                    return(results?.Data);
                }
                else
                {
                    return(new TerminalBalance());
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(new TerminalBalance());
            }
        }
Example #11
0
        /// <summary>
        /// 审核
        /// </summary>
        /// <param name="billId"></param>
        /// <returns></returns>
        public async Task <ResultData> AuditingAsync(int billId = 0, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

                var api     = RefitServiceBuilder.Build <IReturnReservationBillApi>(URL);
                var results = await _makeRequest.Start(api.AuditingAsync(storeId, userId, billId, calToken), calToken);

                return(new ResultData
                {
                    Success = (bool)(results?.Success),
                    Message = results?.Message
                });
            }
            catch (Exception e)
            {
                return(new ResultData
                {
                    Success = false,
                    Message = e.Message
                });
            }
        }
Example #12
0
        /// <summary>
        /// 获取用户拜访记录
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public async Task <IList <BusinessVisitList> > GetAllUserVisitedListAsync(DateTime?date, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId  = Settings.StoreId;
                int userId   = Settings.UserId;
                var api      = RefitServiceBuilder.Build <ITerminalApi>(URL);
                var cacheKey = RefitServiceBuilder.Cacher("GetAllUserVisitedListAsync", storeId, date, userId);
                var results  = await _makeRequest.StartUseCache(api.GetAllUserVisitedListAsync(storeId, date, calToken), cacheKey, force, calToken);

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
Example #13
0
        /// <summary>
        /// 获取客户拜访活跃度排行榜
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public async Task <IList <CustomerActivityRanking> > GetCustomerActivityRankingAsync(int?businessUserId = 0, int?terminalId = 0, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;
                var api     = RefitServiceBuilder.Build <ITerminalApi>(URL);

                var cacheKey = RefitServiceBuilder.Cacher("GetCustomerActivityRankingAsync", storeId, businessUserId, terminalId);

                var results = await _makeRequest.StartUseCache(api.GetCustomerActivityRankingAsync(storeId, businessUserId, terminalId, calToken), cacheKey, force, calToken);

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
Example #14
0
        /// <summary>
        /// 拜访签退
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public async Task <APIResult <VisitStore> > SignOutVisitStoreAsync(VisitStore data, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;
                var api     = RefitServiceBuilder.Build <ITerminalApi>(URL);

                var results = await _makeRequest.Start(api.SignOutVisitStoreAsync(data, storeId, userId, calToken), calToken);

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

                if (results?.Data != null && results?.Code >= 0)
                {
                    return(results);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
Example #15
0
        public async Task <TerminalModel> GetTerminalAsync(int?terminalId, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId  = Settings.StoreId;
                var api      = RefitServiceBuilder.Build <ITerminalApi>(URL);
                var cacheKey = RefitServiceBuilder.Cacher("GetTerminalAsync", storeId, terminalId);
                var results  = await _makeRequest.StartUseCache(api.GetTerminalAsync(storeId, terminalId, calToken), cacheKey, force, calToken);

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

                if (results?.Data != null && results?.Code >= 0)
                {
                    return(results?.Data);
                }
                else
                {
                    return(new TerminalModel());
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(new TerminalModel());
            }
        }
Example #16
0
        /// <summary>
        /// 获取库存上报表
        /// </summary>
        /// <param name="forceRefresh"></param>
        /// <param name="makeuserId"></param>
        /// <param name="businessUserId"></param>
        /// <param name="terminalId"></param>
        /// <param name="channelId"></param>
        /// <param name="rankId"></param>
        /// <param name="districtId"></param>
        /// <param name="productId"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="pageIndex"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public async Task <IList <InventoryReportSummaryModel> > GetInventoryReportAsync(int?makeuserId, int?businessUserId, int?terminalId, int?channelId, int?rankId, int?districtId, int?productId, DateTime?startTime = null, DateTime?endTime = null, int pageIndex = 0, int pageSize = 20, 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("GetInventoryReportAsync", storeId, makeuserId, businessUserId, terminalId, channelId, rankId, districtId, productId, startTime, endTime, pageIndex, pageSize);
                var results  = await _makeRequest.StartUseCache(api.GetInventoryReportAsync(storeId, makeuserId, businessUserId, terminalId, channelId, rankId, districtId, productId, startTime, endTime, pageIndex, 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);
            }
        }
Example #17
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);
            }
        }
Example #18
0
        /// <summary>
        /// 获取商品类别
        /// </summary>
        /// <returns></returns>
        public async Task <IList <CategoryModel> > GetAllCategoriesAsync(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("GetAllCategoriesAsync", storeId, userId);

                var results = await _makeRequest.StartUseCache(api.GetAllCategoriesAsync(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);
            }
        }
Example #19
0
        public async Task <UserAuthenticationModel> RefreshTokenAsync(CancellationToken calToken = default)
        {
            try
            {
                var api    = RefitServiceBuilder.Build <IAuthenticationApi>(URL, false);
                var result = await _makeRequest.Start(api.RefreshTokenAsync(Settings.AccessToken, calToken), calToken);

                if (result.Data != null && result.Data.Id > 0)
                {
                    return(result.Data);
                }
                else
                {
                    return(null);
                }
            }
            catch (System.Net.Sockets.SocketException)
            {
                return(null);
            }
            catch (Refit.ApiException)
            {
                return(null);
            }
            catch (Exception)
            {
                return(null);
            }
        }
Example #20
0
        /// <summary>
        /// 获取采购单列表
        /// </summary>
        /// <param name="makeuserId"></param>
        /// <param name="businessUserId"></param>
        /// <param name="manufacturerId"></param>
        /// <param name="wareHouseId"></param>
        /// <param name="billNumber"></param>
        /// <param name="remark"></param>
        /// <param name="printStatus"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="auditedStatus"></param>
        /// <param name="sortByAuditedTime"></param>
        /// <param name="showReverse"></param>
        /// <param name="pagenumber"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public async Task <IList <PurchaseBillModel> > GetPurchaseBillsAsync(int?makeuserId, int?businessUserId, int?manufacturerId, int?wareHouseId, string billNumber, string remark, bool?printStatus = null, DateTime?startTime = null, DateTime?endTime = null, bool?auditedStatus = null, bool?sortByAuditedTime = null, bool?showReverse = 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 <IPurchaseBillApi>(URL);

                var cacheKey = RefitServiceBuilder.Cacher("GetPurchaseBillsAsync", storeId,
                                                          makeuserId,
                                                          businessUserId,
                                                          manufacturerId,
                                                          wareHouseId,
                                                          billNumber,
                                                          remark,
                                                          printStatus,
                                                          startTime,
                                                          endTime,
                                                          auditedStatus,
                                                          sortByAuditedTime,
                                                          showReverse,
                                                          pagenumber,
                                                          pageSize);

                var results = await _makeRequest.StartUseCache(api.GetPurchaseBillsAsync(storeId,
                                                                                         makeuserId,
                                                                                         businessUserId,
                                                                                         manufacturerId,
                                                                                         wareHouseId,
                                                                                         billNumber,
                                                                                         remark,
                                                                                         printStatus,
                                                                                         startTime,
                                                                                         endTime,
                                                                                         auditedStatus,
                                                                                         sortByAuditedTime,
                                                                                         showReverse,
                                                                                         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);
            }
        }
Example #21
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);
            }
        }
Example #22
0
        /// <summary>
        /// 获取收款列表
        /// </summary>
        /// <returns></returns>
        public async Task <IList <CashReceiptBillModel> > GetReceiptCashsAsync(int?makeuserId, int?customerId, string customerName, int?payeer, string billNumber, string remark, bool?auditedStatus = null, DateTime?startTime = null, DateTime?endTime = null, bool?showReverse = null, bool?sortByAuditedTime = null, bool?handleStatus = 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 <IReceiptCashApi>(URL);

                //var cacheKey = RefitServiceBuilder.Cacher("GetReceiptCashsAsync", storeId,
                //    makeuserId,
                //    customerId,
                //    customerName,
                //    payeer,
                //    billNumber,
                //    remark,
                //    auditedStatus,
                //    startTime,
                //    endTime,
                //    showReverse,
                //    sortByAuditedTime,
                //    handleStatus,
                //    pagenumber,
                //    pageSize);

                var results = await _makeRequest.Start(api.GetReceiptCashsAsync(storeId,
                                                                                makeuserId,
                                                                                customerId,
                                                                                customerName,
                                                                                payeer,
                                                                                billNumber,
                                                                                remark,
                                                                                auditedStatus,
                                                                                startTime,
                                                                                endTime,
                                                                                showReverse,
                                                                                sortByAuditedTime,
                                                                                handleStatus,
                                                                                pagenumber,
                                                                                pageSize, calToken), calToken);

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
Example #23
0
        public Task <APIResult <IList <TerminalModel> > > GetRealTimeTerminalsAsync(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, double range = 0.3, 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("GetRealTimeTerminalsAsync", storeId,
                                                          userId,
                                                          searchStr,
                                                          districtId,
                                                          channelId,
                                                          rankId,
                                                          status,
                                                          pageIndex,
                                                          pageSize,
                                                          range);

                var results = _makeRequest.StartUseCache(api.GetTerminalsAsync(storeId,
                                                                               userId,
                                                                               searchStr,
                                                                               districtId,
                                                                               channelId,
                                                                               rankId,
                                                                               status,
                                                                               GlobalSettings.Latitude ?? 0,
                                                                               GlobalSettings.Longitude ?? 0,
                                                                               0.3,
                                                                               pageIndex,
                                                                               pageSize,
                                                                               calToken),
                                                         cacheKey,
                                                         true,
                                                         calToken);

                return(results);
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
Example #24
0
        /// <summary>
        /// 根据科目类别获取费用合同
        /// </summary>
        /// <param name="forceRefresh"></param>
        /// <param name="args"></param>
        /// <returns></returns>
        public async Task <IList <CostContractBindingModel> > GetCostContractsBindingAsync(int?customerId, int?accountOptionId, int?accountCodeTypeId, int year, int month, int?contractType = 0, bool?auditedStatus = null, bool?showReverse = null, int pageIndex = 0, int pageSize = 20, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;
                var api     = RefitServiceBuilder.Build <ICostContractApi>(URL);

                var cacheKey = RefitServiceBuilder.Cacher("GetCostContractsBindingAsync", storeId,
                                                          customerId,
                                                          accountOptionId,
                                                          accountCodeTypeId,
                                                          year,
                                                          month,
                                                          contractType,
                                                          auditedStatus,
                                                          showReverse,
                                                          pageIndex,
                                                          pageSize);

                var results = await _makeRequest.StartUseCache(api.GetCostContractsAsync(storeId,
                                                                                         customerId,
                                                                                         accountOptionId,
                                                                                         accountCodeTypeId,
                                                                                         year,
                                                                                         month,
                                                                                         contractType,
                                                                                         auditedStatus,
                                                                                         showReverse,
                                                                                         pageIndex,
                                                                                         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);
            }
        }
Example #25
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);
            }
        }
Example #26
0
        /// <summary>
        /// 获取销售单
        /// </summary>
        /// <param name="makeuserId"></param>
        /// <param name="terminalId"></param>
        /// <param name="terminalName"></param>
        /// <param name="businessUserId"></param>
        /// <param name="districtId"></param>
        /// <param name="deliveryUserId"></param>
        /// <param name="wareHouseId"></param>
        /// <param name="billNumber"></param>
        /// <param name="remark"></param>
        /// <param name="startTime"></param>
        /// <param name="endTime"></param>
        /// <param name="auditedStatus"></param>
        /// <param name="sortByAuditedTime"></param>
        /// <param name="showReverse"></param>
        /// <param name="showReturn"></param>
        /// <param name="paymentMethodType"></param>
        /// <param name="billSourceType"></param>
        /// <param name="handleStatus"></param>
        /// <param name="pagenumber"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public async Task <IList <SaleBillModel> > GetSalebillsAsync(int?makeuserId, int?terminalId, string terminalName, int?businessUserId, int?districtId, int?deliveryUserId, int?wareHouseId, string billNumber, string remark, DateTime?startTime = null, DateTime?endTime = null, bool?auditedStatus = null, bool?sortByAuditedTime = null, bool?showReverse = null, bool?showReturn = null, int?paymentMethodType = null, int?billSourceType = null, bool?handleStatus = null, int?sign = null, int pagenumber = 0, int pageSize = 30, bool force = false, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;

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

                var results = await _makeRequest.Start(api.GetSalebillsAsync(storeId,
                                                                             makeuserId,
                                                                             terminalId,
                                                                             terminalName,
                                                                             businessUserId,
                                                                             districtId,
                                                                             deliveryUserId,
                                                                             wareHouseId,
                                                                             billNumber,
                                                                             remark,
                                                                             startTime,
                                                                             endTime,
                                                                             auditedStatus,
                                                                             sortByAuditedTime,
                                                                             showReverse,
                                                                             showReturn,
                                                                             paymentMethodType,
                                                                             billSourceType,
                                                                             handleStatus,
                                                                             sign,
                                                                             pagenumber,
                                                                             pageSize, calToken), calToken);

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data.ToList());
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
Example #27
0
        /// <summary>
        /// 提交单据
        /// </summary>
        /// <param name="data"></param>
        /// <param name="billId"></param>
        /// <returns></returns>
        public async Task <APIResult <ReturnBillUpdateModel> > CreateOrUpdateAsync(ReturnBillUpdateModel data, int billId = 0, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;
                var api     = RefitServiceBuilder.Build <IReturnBillApi>(URL);
                var results = await _makeRequest.Start(api.CreateOrUpdateAsync(data, storeId, userId, billId, calToken), calToken);

                return(results);
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
Example #28
0
 /// <summary>
 /// 业务员综合分析
 /// </summary>
 /// <param name="args"></param>
 /// <returns></returns>
 public IObservable <APIResult <BusinessAnalysis> > Rx_GetBusinessAnalysis(int?type = null, CancellationToken calToken = default)
 {
     try
     {
         int storeId  = Settings.StoreId;
         int userId   = Settings.UserId;
         var api      = RefitServiceBuilder.Build <IReportingApi>(URL);
         var cacheKey = RefitServiceBuilder.Cacher("GetBusinessAnalysis", storeId, type);
         var results  = _makeRequest.StartUseCache_Rx(api.GetBusinessAnalysis(storeId, type, true, calToken), cacheKey, calToken);
         return(results);
     }
     catch (Exception e)
     {
         e.HandleException();
         return(null);
     }
 }
Example #29
0
        /// <summary>
        /// 热销排行榜
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public async Task <IList <HotSaleRanking> > GetHotSaleRankingAsync(int?terminalId = null, int?businessUserId = null, int?brandId = null, int?categoryId = null, DateTime?startTime = null, DateTime?endTime = null, 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("GetHotSaleRankingAsync",
                                                          storeId,
                                                          terminalId,
                                                          businessUserId,
                                                          brandId,
                                                          categoryId,
                                                          force,
                                                          startTime,
                                                          endTime);

                var results = await _makeRequest.StartUseCache(api.GetHotSaleRankingAsync(storeId,
                                                                                          terminalId,
                                                                                          businessUserId,
                                                                                          brandId,
                                                                                          categoryId,
                                                                                          startTime,
                                                                                          endTime,
                                                                                          calToken),
                                                               cacheKey,
                                                               force,
                                                               calToken);

                if (results != null && results?.Code >= 0)
                {
                    return(results?.Data);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
Example #30
0
        public async Task <IList <ProductModel> > GetProductByIdsAsync(int wareHouseId, int[] productIds, CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;
                var api     = RefitServiceBuilder.Build <IProductApi>(URL);
                var results = await _makeRequest.Start(api.GetProductByIdsAsync(storeId, productIds, wareHouseId, calToken));

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