Ejemplo n.º 1
0
        /// <summary>
        /// 获取公司配置
        /// </summary>
        /// <returns></returns>
        public void GetCompanySettingAsync(CancellationToken calToken = default)
        {
            var model = new CompanySettingModel();

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

                var api      = RefitServiceBuilder.Build <ISettingApi>(URL);
                var cacheKey = RefitServiceBuilder.Cacher("GetCompanySettingAsync", storeId, userId);
                _makeRequest.StartUseCache_Rx(api.GetCompanySettingAsync(storeId, calToken), cacheKey, calToken)?.Subscribe((results) =>
                {
                    if (results != null && results?.Code >= 0)
                    {
                        model = results?.Data;
                        if (model != null)
                        {
                            Settings.CompanySetting = JsonConvert.SerializeObject(model);
                            if (string.IsNullOrEmpty(Settings.DefaultPricePlan) || Settings.DefaultPricePlan == "0_0")
                            {
                                Settings.DefaultPricePlan = model.DefaultPricePlan;
                            }
                        }
                    }
                });
            }
            catch (Exception e)
            {
                e.HandleException();
            }
        }
Ejemplo n.º 2
0
 public IObservable <APIResult <DashboardReport> > Rx_GetDashboardReportAsync(CancellationToken calToken = default)
 {
     try
     {
         int storeId         = Settings.StoreId;
         var businessUserIds = new int[] { Settings.UserId };
         var cacheKey        = RefitServiceBuilder.Cacher("GetDashboardReportAsync", storeId, businessUserIds);
         var results         = _makeRequest.StartUseCache_Rx(RefitServiceBuilder.Build <IReportingApi>(URL).GetDashboardReportAsync(storeId, businessUserIds, calToken), cacheKey, calToken);
         return(results);
     }
     catch (System.ObjectDisposedException e)
     {
         e.HandleException();
         return(null);
     }
     catch (Exception e)
     {
         e.HandleException();
         return(null);
     }
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 获取权限记录配置
 /// </summary>
 /// <returns></returns>
 public void GetPermissionRecordSettingAsync(Action <IList <PermissionRecordQuery> > action, CancellationToken calToken = default)
 {
     try
     {
         int storeId  = Settings.StoreId;
         int userId   = Settings.UserId;
         var api      = RefitServiceBuilder.Build <IUserApi>(URL);
         var cacheKey = RefitServiceBuilder.Cacher("GetPermissionRecordSettingAsync", storeId, userId);
         _makeRequest.StartUseCache_Rx(api.GetPermissionRecordSettingAsync(storeId, userId, calToken), cacheKey, calToken)?.Subscribe((results) =>
         {
             if (results != null && results?.Code >= 0)
             {
                 var data = results?.Data.ToList();
                 action?.Invoke(data);
             }
         });
     }
     catch (Exception)
     {
     }
 }
Ejemplo n.º 4
0
 public IObservable <APIResult <ReturnBillModel> > Rx_GetInitDataAsync(CancellationToken calToken = default)
 {
     try
     {
         int storeId  = Settings.StoreId;
         int userId   = Settings.UserId;
         var api      = RefitServiceBuilder.Build <IReturnBillApi>(URL);
         var cacheKey = RefitServiceBuilder.Cacher("ReturnBillService.GetInitDataAsync", storeId, userId);
         var results  = _makeRequest.StartUseCache_Rx(api.GetInitDataAsync(storeId, userId, calToken), cacheKey, calToken);
         return(results);
     }
     catch (System.ObjectDisposedException e)
     {
         e.HandleException();
         return(null);
     }
     catch (Exception e)
     {
         e.HandleException();
         return(null);
     }
 }
Ejemplo n.º 5
0
        public IObservable <APIResult <IList <LineTierModel> > > Rx_GetLineTiersByUserAsync(CancellationToken calToken = default)
        {
            try
            {
                int storeId = Settings.StoreId;
                int userId  = Settings.UserId;
                var api     = RefitServiceBuilder.Build <ITerminalApi>(URL);

                var cacheKey = RefitServiceBuilder.Cacher("Rx_GetLineTiersByUserAsync", storeId, userId);

                var results = _makeRequest.StartUseCache_Rx(api.GetLineTiersByUserAsync(storeId,
                                                                                        userId,
                                                                                        calToken),
                                                            cacheKey,
                                                            calToken);

                return(results);
            }
            catch (Exception e)
            {
                e.HandleException();
                return(null);
            }
        }
Ejemplo n.º 6
0
        /// <summary>
        /// 获取APP功能项
        /// </summary>
        /// <param name="storeId"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        public void GetAPPFeatures(bool force = false, CancellationToken calToken = default)
        {
            try
            {
                calToken = new CancellationToken();

                int storeId  = Settings.StoreId;
                int userId   = Settings.UserId;
                var api      = RefitServiceBuilder.Build <IGlobalApi>(URL);
                var cacheKey = RefitServiceBuilder.Cacher("GetAPPFeatures", storeId, userId);
                _makeRequest.StartUseCache_Rx(api.GetAPPFeatures(storeId, userId, calToken), cacheKey, calToken)?.Subscribe((results) =>
                {
                    if (results != null && results?.Code >= 0)
                    {
                        var oldAppDatas = Settings.AppDatas;
                        if (force)
                        {
                            Settings.AppDatas       = "";
                            Settings.SubscribeDatas = "";
                            Settings.ReportsDatas   = "";
                        }

                        //报表功能
                        var rtapps = results?.Data.ReportsDatas;
                        if (!string.IsNullOrEmpty(Settings.ReportsDatas) && Settings.ReportsDatas != "[]")
                        {
                            var apps = GlobalSettings.ReportsDatas;
                            if (rtapps != null)
                            {
                                foreach (var r in rtapps)
                                {
                                    if (!apps.Select(s => s.Id).Contains(r.Id))
                                    {
                                        apps.Add(r);
                                    }
                                }
                            }
                            if (apps != null && apps.Any())
                            {
                                Settings.ReportsDatas = JsonConvert.SerializeObject(apps);
                            }
                        }
                        else
                        {
                            if (rtapps != null && rtapps.Any())
                            {
                                Settings.ReportsDatas = JsonConvert.SerializeObject(rtapps);
                            }
                        }

                        //应用功能
                        var tapps = results?.Data.AppDatas;
                        if (!string.IsNullOrEmpty(Settings.AppDatas) && Settings.AppDatas != "[]")
                        {
                            if (tapps != null)
                            {
                                var apps = GlobalSettings.AppDatas;
                                foreach (var r in tapps)
                                {
                                    if (!apps.Select(s => s.Id).Contains(r.Id))
                                    {
                                        apps.Add(r);
                                    }
                                }
                                if (apps != null && apps.Any())
                                {
                                    Settings.AppDatas = JsonConvert.SerializeObject(apps);
                                }
                            }
                        }
                        else
                        {
                            //oldAppDatas
                            if (!string.IsNullOrEmpty(oldAppDatas))
                            {
                                var oldapps = JsonConvert.DeserializeObject <List <Module> >(oldAppDatas);
                                if (oldapps != null && oldapps.Any())
                                {
                                    var oldNoSelects = oldapps.Where(s => s.Selected == false).ToList();
                                    foreach (var am in oldNoSelects)
                                    {
                                        var cur = tapps.Where(s => s.Id == am.Id).FirstOrDefault();
                                        if (cur != null)
                                        {
                                            cur.Selected = false;
                                        }
                                    }
                                }
                            }

                            if (tapps != null && tapps.Any())
                            {
                                Settings.AppDatas = JsonConvert.SerializeObject(tapps);
                            }
                        }

                        //订阅功能
                        var stapps = results?.Data.SubscribeDatas;
                        if (!string.IsNullOrEmpty(Settings.SubscribeDatas) && Settings.SubscribeDatas != "[]")
                        {
                            var apps = GlobalSettings.SubscribeDatas;
                            if (stapps != null)
                            {
                                foreach (var r in stapps)
                                {
                                    if (!apps.Select(s => s.Id).Contains(r.Id))
                                    {
                                        apps.Add(r);
                                    }
                                }
                            }

                            if (apps != null && apps.Any())
                            {
                                Settings.SubscribeDatas = JsonConvert.SerializeObject(apps);
                            }
                        }
                        else
                        {
                            if (stapps != null && stapps.Any())
                            {
                                Settings.SubscribeDatas = JsonConvert.SerializeObject(stapps);
                            }
                        }
                    }
                });
            }
            catch (Exception e)
            {
                e.HandleException();
            }
        }