//获取拥有的权限
        private List <ActionModel> GetAction(Employee user)
        {
            IEmployeeMenuActionService iMenuActionService = DIFactory.GetContainer().Resolve <IEmployeeMenuActionService>();

            List <EmployeeMenuAction> menuActionlist = new List <EmployeeMenuAction>();

            List <ActionModel> actionList = new List <ActionModel>();

            if (user.IsAdmin == 0)
            {
                menuActionlist = iMenuActionService.Gets(t => user.MenuActionList.Contains(t.ID)).ToList();
            }
            else
            {
                menuActionlist = iMenuActionService.Gets().ToList();
            }

            foreach (var m in menuActionlist)
            {
                actionList.Add(new ActionModel()
                {
                    Controller = m.EmployeeMenu.Controller.ToLower(),
                    Action     = m.Code.ToLower(),
                });
            }

            return(actionList);
        }
Beispiel #2
0
        /// <summary>
        /// 收银宝订单支付成功后续处理
        /// </summary>
        /// <param name="posOrderQueryResponse"></param>
        /// <param name="orderPaid"></param>
        public void VspOrderHandle(POSOrderQueryResponse posOrderQueryResponse, OrderPaid orderPaid)
        {
            var iPingAnOrderPaidService = DIFactory.GetContainer().Resolve <IPingAnOrderPaidService>();

            if (orderPaid.Merchant.AccountBank == AccountBankOption.PingAn.ToInt())
            {
                if (orderPaid.Status == OrderPaidStatusOption.Default.ToInt())
                {
                    orderPaid.Status = OrderPaidStatusOption.PaySuccess.ToInt();

                    orderPaid.PingAnOrderPaid.POSBaoSerialNumber = posOrderQueryResponse.trxid;

                    iPingAnOrderPaidService.Save(orderPaid.PingAnOrderPaid);
                    Save(orderPaid);

                    Commit();
                }

                //订单支付成功---调代付(代付成功,代付失败,代付中),当代付成功将信息记录到代付表,并更新主订单金额
                PingAnTltSingleOntimePay(orderPaid);
            }
            else if (orderPaid.Merchant.AccountBank == AccountBankOption.GuangDa.ToInt())
            {
                if (orderPaid.Status == OrderPaidStatusOption.Default.ToInt())
                {
                    orderPaid.Status = OrderPaidStatusOption.PaySuccess.ToInt();

                    Save(orderPaid);

                    Commit();
                }

                RechargeAndFreeze(orderPaid);
            }
        }
Beispiel #3
0
        public void TestDIFactoryMerge()
        {
            DIFactory factory = new DIFactory();

            factory.CreationMapping.Add(typeof(MyCreatingThing), (DIFactory f) => { return(new MyCreatingThing {
                    Nuts = f.GetSetting <ThingSettings, int>(ThingSettings.One)
                }); });

            factory.ReleaseMapping.Add(typeof(MyCreatingThing), (DIFactory f, object o) => { Logger.Info("releasing a MyCreatingThing"); });

            factory.SetSetting(ThingSettings.One, 999);

            DIFactory factory2 = new DIFactory();

            factory2.CreationMapping.Add(typeof(IThingy), (DIFactory f) => { return(new MyThingyImplemented()); });

            factory2.ReleaseMapping.Add(typeof(IThingy), (DIFactory f, object o) => { Logger.Info("releasing an IThingy"); });

            factory2.SetSetting(ThingSettings.Two, "A lot of whatever");

            var newFactory = DIFactory.Merge(factory, factory2);

            Assert.IsTrue(newFactory.Create <MyCreatingThing>().Nuts == 999);
            Assert.IsTrue(newFactory.GetSetting <ThingSettings, string>(ThingSettings.Two) == "A lot of whatever");
            MyAssert.ThrowsException(() => DIFactory.Merge(newFactory, factory));
            MyAssert.ThrowsException(() => DIFactory.Merge(newFactory, factory2));
        }
        public static string UserRegister(string name, string pwd)
        {
            IUserAccountService service = DIFactory.GetContainer().Resolve <IUserAccountService>();
            UserAccount         user    = service.UserLogin(name);

            if (user != null)
            {
                return("该账号已经被注册");
            }
            else
            {
                var model = new UserAccount()
                {
                    Name       = name,
                    Password   = MD5Encrypt.Encrypt(pwd),
                    Account    = name,
                    CreatorId  = 1,
                    CreateTime = DateTime.Now,
                    UserType   = 1,
                    State      = 1,
                };
                var result = service.InsertUser(model);
                if (result != null)
                {
                    return("成功");
                }
                return("失败");
            }
        }
        private void ManagerOnDisconnected(object sender, EventArgs e)
        {
            var manager = DIFactory.Resolve <IServiceManager>();

            manager.Disconnect((Guid)CurrentUser.Guid);
            CloseWindow?.Invoke(this, EventArgs.Empty);
        }
Beispiel #6
0
        /// <summary>
        /// 获取用户的数据权限
        /// </summary>
        /// <param name="UserID"></param>
        /// <returns></returns>
        public List <long?> GetDepartmentUsers(long UserID)
        {
            List <long?> list = new List <long?>();

            IUserService userService = DIFactory.GetContainer().Resolve <IUserService>();

            var user = userService.Get(t => t.ID == UserID);

            if (user != null)
            {
                if (user.IsMore > 0)
                {
                    var DepartmentArray = user.AuthDepartmentIDs.ToLongList();
                    foreach (var m in DepartmentArray)
                    {
                        var users = userService.Gets(t => t.DepartmentID == m).Select(t => t.ID).ToList();

                        foreach (var c in users)
                        {
                            list.Add(c);
                        }

                        if (m == null)
                        {
                            list.Add(m);
                        }
                    }
                }
                else
                {
                    list.Add(user.ID);
                }
            }
            return(list);
        }
        private async void MainWindow_OnLoaded(object sender, RoutedEventArgs e)
        {
            var serviceWorker = DIFactory.Resolve <IServiceWorker>();
            var result        = await serviceWorker.GetHotel(new GetHotelRequest());

            var st = result.Status;
        }
Beispiel #8
0
        public static ObservableCollection <NetworkInterface> GetNetworkInterfaces()
        {
            var logger = DIFactory.Resolve <ILogger>();

            try
            {
                IPGlobalProperties      computerProperties = IPGlobalProperties.GetIPGlobalProperties();
                List <NetworkInterface> nics = NetworkInterface.GetAllNetworkInterfaces().Where(x =>
                                                                                                (x.NetworkInterfaceType == NetworkInterfaceType.Ethernet ||
                                                                                                 x.NetworkInterfaceType == NetworkInterfaceType.Wireless80211) &&
                                                                                                x.Supports(NetworkInterfaceComponent.IPv4) &&
                                                                                                x.OperationalStatus == OperationalStatus.Up).ToList();

                logger.Write(LogLevel.Info, "Interface information for " + computerProperties.HostName + "." + computerProperties.DomainName);
                if (!nics.Any())
                {
                    logger.Write(LogLevel.Warning, "No network interfaces found.");
                    return(null);
                }

                var endpoints = new ObservableCollection <NetworkInterface>();
                foreach (NetworkInterface networkInterface in nics)
                {
                    endpoints.Add(networkInterface);
                }
                return(endpoints);
            }
            catch (Exception e)
            {
                logger.Write(LogLevel.Error, "", e);
                throw;
            }
        }
Beispiel #9
0
        public async Task <ResultBody> ChangePassword(Guid selfGuid, string oldPassword, string newPassword)
        {
            var dbWorker = DIFactory.Resolve <IDbSystemWorker>();
            var result   = await dbWorker.ChangePassword(selfGuid, oldPassword, newPassword);

            return(result);
        }
Beispiel #10
0
        public async Task <GetChatResult> GetChat(Guid chatGuid)
        {
            var worker  = DIFactory.Resolve <IDbSystemWorker>();
            var history = await worker.GetChat(chatGuid);

            return(history);
        }
Beispiel #11
0
        public async void SendMessage(Guid selfGuid, Guid chatGuid, string message)
        {
            _logger.Write(LogLevel.Info, DateTime.Now + " " + chatGuid + " " + message);
            var worker = DIFactory.Resolve <IDbSystemWorker>();
            var date   = DateTime.Now;
            await worker.SaveMessage(selfGuid, chatGuid, message, date);

            var updateChatUsers = await worker.GetUserFromChat(chatGuid);

            var updateUser = _users.Where(x => updateChatUsers.Contains(x.UserGuid));

            foreach (var user in updateUser)
            {
                foreach (var callback in user.Callbacks)
                {
                    try
                    {
                        callback.MessageCallback(date, chatGuid, message, selfGuid);
                    }
                    catch (Exception e)
                    {
                        _logger.Write(LogLevel.Error, "Error callback message", e);
                    }
                }
            }
        }
Beispiel #12
0
        public static LoginResult UserLogin(this HttpContextBase context, string name = "", string pwd = "",
                                            string verify = "")
        {
            if (string.IsNullOrEmpty(verify) || context.Session["CheckCode"] == null || !context.Session["CheckCode"].ToString().Equals(verify))
            {
                return(LoginResult.WrongVerify);
            }
            var service = DIFactory.GetContainer().Resolve <IUserMenuService>();
            var user    = service.UserLogin(name);

            if (user == null)
            {
                return(LoginResult.NoUser);
            }
            else if (!user.Password.Equals(MD5Encrypt.Encrypt(pwd)))
            {
                return(LoginResult.WrongPwd);
            }
            else if (user.State == (int)UserState.Frozen)
            {
                return(LoginResult.Frozen);
            }
            else
            {
                return(LoginResult.Success);
            }
        }
Beispiel #13
0
        /// <summary>
        /// 同步状态--光大
        /// </summary>
        /// <param name="orderPaid"></param>
        public void SyncStatus(OrderPaid orderPaid)
        {
            var iGuangDaAPIService        = DIFactory.GetContainer().Resolve <IGuangDaAPIService>();
            var iOrderPaidRechargeService = DIFactory.GetContainer().Resolve <IOrderPaidRechargeService>();
            var iOrderPaidWithdrawService = DIFactory.GetContainer().Resolve <IOrderPaidWithdrawService>();

            //if (orderPaid.Status == OrderPaidStatusOption.PaySuccess.ToInt())
            //{
            //    RechargeAndFreeze(orderPaid);
            //}
            if (orderPaid.Status == OrderPaidStatusOption.RechargeWait.ToInt())
            {
                var orderPaidRecharge = iOrderPaidRechargeService.GetLast(t => t.OrderPaidID == orderPaid.ID);

                //查询充值或提现状态
                var response = iGuangDaAPIService.BTrsVeriAmount(orderPaidRecharge.SerialNumber, orderPaidRecharge.CreateDatetime);

                if (response?.Body?.TrsState == "0")
                {
                    RechargeSuccess(orderPaidRecharge, "", DateTime.Now);
                }
                else if (response?.Body?.TrsState == "1")
                {
                    RechargeFail(orderPaidRecharge);
                }
                else if (response.IsNotExists && DateTime.Now > orderPaidRecharge.CreateDatetime.AddMinutes(5))
                {
                    RechargeFail(orderPaidRecharge);
                }
            }
            //else if (orderPaid.Status == OrderPaidStatusOption.RechargeSuccess.ToInt())
            //{
            //    Freeze(orderPaid);
            //}
            //else if (orderPaid.Status == OrderPaidStatusOption.UnFrozenSuccess.ToInt())
            //{
            //    Withdraw(orderPaid);
            //}
            else if (orderPaid.Status == OrderPaidStatusOption.WithdrawWait.ToInt())
            {
                var orderPaidWithdraw = iOrderPaidWithdrawService.GetLast(t => t.OrderPaidID == orderPaid.ID);

                //查询充值或提现状态
                var response = iGuangDaAPIService.BTrsVeriAmount(orderPaidWithdraw.SerialNumber, orderPaidWithdraw.CreateDatetime);

                if (response?.Body?.TrsState == "0")
                {
                    WithdrawSuccess(orderPaidWithdraw);
                }
                else if (response?.Head?.ResCode == "000357" || response?.Body?.TrsState == "1")
                {
                    WithdrawFail(orderPaidWithdraw);
                }
                else if (response.IsNotExists && DateTime.Now > orderPaidWithdraw.CreateDatetime.AddMonths(5))
                {
                    WithdrawFail(orderPaidWithdraw);
                }
            }
        }
Beispiel #14
0
        /// <summary>
        /// Creates the kernel that will manage your application.
        /// </summary>
        /// <returns>The created kernel.</returns>
        private static IKernel CreateKernel()
        {
            var kernel = new StandardKernel();

            RegisterServices(kernel);
            DIFactory.SetKernalFromAppStart(kernel);
            return(kernel);
        }
Beispiel #15
0
 private IContextRepositories GetRepositories()
 {
     if (_repos == null)
     {
         _repos = DIFactory.Get <IContextRepositories>();
     }
     return(_repos);
 }
        public static IServiceCollection ConfigureDI(this IServiceCollection services, IConfiguration configuration)
        {
            services.AddEventHub(configuration);

            DIFactory.ConfigureDI(services);

            return(services);
        }
Beispiel #17
0
        public ViewLogViewModel(MainViewModel.ChangeScreen changeScreen)
        {
            _changeScreen = changeScreen;
            LogData       = new ViewLogModel();
            var logger = DIFactory.Resolve <ILogger>();

            logger.RaiseLogger += LoggerOnRaiseLogger;
        }
Beispiel #18
0
        public override void Init()
        {
            var iEmployeeMenuActionService = DIFactory.GetContainer().Resolve <IEmployeeMenuActionService>();
            var iEmployeeMenuService       = DIFactory.GetContainer().Resolve <IEmployeeMenuService>();

            iEmployeeMenuActionService.SetCache();
            iEmployeeMenuService.SetCache();
        }
Beispiel #19
0
        public void Freeze(OrderPaid orderPaid)
        {
            if (orderPaid.Status != OrderPaidStatusOption.RechargeSuccess.ToInt())
            {
                throw new Exception("当前状态不可冻结(" + orderPaid.StatusDesc + ")");
            }


            var iOrderPaidFreezeService = DIFactory.GetContainer().Resolve <IOrderPaidFreezeService>();
            var iGuangDaAPIService      = DIFactory.GetContainer().Resolve <IGuangDaAPIService>();
            //var iOrderPaidService = DIFactory.GetContainer().Resolve<IOrderPaidService>();

            OrderPaidFreeze orderPaidFreeze = new OrderPaidFreeze();

            orderPaidFreeze.OrderPaid    = orderPaid;
            orderPaidFreeze.Amount       = orderPaid.TransactionAmount;
            orderPaidFreeze.UnFreezeDate = DateTime.Now.AddMonths(orderPaid.Project.GuaranteeMonth);

            iOrderPaidFreezeService.Save(orderPaidFreeze);
            iOrderPaidFreezeService.Commit();

            var freezeResponse = iGuangDaAPIService.Freeze(orderPaidFreeze);

            orderPaidFreeze.ResponseCode    = freezeResponse.Head.ResCode;
            orderPaidFreeze.ResponseMessage = freezeResponse.Head.ResMsg;

            if (freezeResponse.IsOK && freezeResponse.Body?.FreezeState == "S")
            {
                FreezeSuccess(orderPaidFreeze, freezeResponse.Body.Balance);

                Commit();
            }
            else if (freezeResponse.IsWait || freezeResponse.Body?.FreezeState == "U")
            {
                //orderPaid.Status = OrderPaidStatusOption.FrozenWait.ToInt();
                //Save(orderPaid);

                //orderPaidFreeze.Status = OrderPaidFreezeStatusOption.Wait.ToInt();
                //iOrderPaidFreezeService.Save(orderPaidFreeze);

                //当失败处理
                orderPaidFreeze.Status = OrderPaidFreezeStatusOption.Fail.ToInt();
                iOrderPaidFreezeService.Save(orderPaidFreeze);

                Commit();

                throw new APIException("冻结失败中:" + freezeResponse.Head.ResMsg);
            }
            else if (freezeResponse.IsFail || freezeResponse.Body?.FreezeState == "F")
            {
                orderPaidFreeze.Status = OrderPaidFreezeStatusOption.Fail.ToInt();
                iOrderPaidFreezeService.Save(orderPaidFreeze);

                Commit();

                throw new APIException("冻结失败:" + freezeResponse.Head.ResMsg);
            }
        }
Beispiel #20
0
        protected override IController GetControllerInstance(RequestContext requestContext, Type controllerType)
        {
            this.logger.Warn($"{controllerType?.Name}被构造...");

            IUnityContainer container = DIFactory.GetContainer();

            //return base.GetControllerInstance(requestContext, controllerType);
            return((IController)container.Resolve(controllerType));
        }
Beispiel #21
0
 void print()
 {
     DIFactory.Init();                 //全局注册所有组件
     DIFactory.InjectFromObject(this); //拦截当前对象,并注入
     logger.Info("ioc组件化和缓存拦截器");
     logger.Debug("logger is start.");
     flyObj.step1();
     flyObjChina.step1();
 }
Beispiel #22
0
 static CacheManager()
 {
     Console.WriteLine($"{DateTime.Now}...开始缓存的初始化.....");
     cache = DIFactory.GetService <ICacheProvider>();
     //可以创建不同的cache对象
     //cache = (ICacheProvider)Activator.CreateInstance(typeof(MemoryCacheCache));
     // 这里可以根据配置文件来选择
     //cache = (ICacheProvider)Activator.CreateInstance(typeof(CustomCache));
 }
Beispiel #23
0
        private void TltSingleOntimePayFail(PingAnOrderPaidRecharge pingAnOrderPaidRecharge)
        {
            var iPingAnOrderPaidRechargeService = DIFactory.GetContainer().Resolve <IPingAnOrderPaidRechargeService>();

            pingAnOrderPaidRecharge.OrderPaid.Status = OrderPaidStatusOption.SingleOntimePayFail.ToInt();

            pingAnOrderPaidRecharge.Status = PingAnOrderPaidRechargeStatusOption.SingleOntimePayFailed.ToInt();
            iPingAnOrderPaidRechargeService.Save(pingAnOrderPaidRecharge);
        }
Beispiel #24
0
        private void RechargeFail(OrderPaidRecharge orderPaidRecharge)
        {
            var iOrderPaidRechargeService = DIFactory.GetContainer().Resolve <IOrderPaidRechargeService>();

            orderPaidRecharge.Status = OrderPaidRechargeStatusOption.Fail.ToInt();
            iOrderPaidRechargeService.Save(orderPaidRecharge);

            //orderPaidRecharge.OrderPaid.Status = OrderPaidStatusOption.Cancel.ToInt();
            //Save(orderPaidRecharge.OrderPaid);
        }
Beispiel #25
0
        public ActionResult Search()
        {
            var result = this._iSearchService.QueryCommodityPage(1, 20, "女人", null, "", "");


            ISearchService searchService1 = DIFactory.GetContainer().Resolve <ISearchService>();
            ISearchService searchService2 = DIFactory.GetContainer().Resolve <ISearchService>("update");

            return(View(result));
        }
Beispiel #26
0
        // Close
        protected void CommandBinding_Executed_Close(object sender, ExecutedRoutedEventArgs e)
        {
            if (DataContext is MessengerViewModel model)
            {
                var manager = DIFactory.Resolve <IServiceManager>();
                manager.Disconnect(model.CurrentUser.Guid);
            }

            SystemCommands.CloseWindow(this);
        }
Beispiel #27
0
        /// <summary>
        /// 平安订单解止付(查询平安订单状态并判断--解止付)
        /// </summary>
        /// <param name="orderPaid"></param>
        private void PingAnUnFreeze(OrderPaid orderPaid)
        {
            var iPingAnAPIService               = DIFactory.GetContainer().Resolve <IPingAnAPIService>();
            var iOrderPaidService               = DIFactory.GetContainer().Resolve <IOrderPaidService>();
            var iPingAnOrderPaidService         = DIFactory.GetContainer().Resolve <IPingAnOrderPaidService>();
            var iPingAnOrderPaidUnFreezeService = DIFactory.GetContainer().Resolve <IPingAnOrderPaidUnFreezeService>();

            PingAnOrderPaidUnFreeze pingAnOrderPaidUnFreeze = new PingAnOrderPaidUnFreeze();

            pingAnOrderPaidUnFreeze.OrderPaid = orderPaid;
            pingAnOrderPaidUnFreeze.Amount    = orderPaid.TransactionAmount;

            iPingAnOrderPaidUnFreezeService.Save(pingAnOrderPaidUnFreeze);
            iPingAnOrderPaidUnFreezeService.Commit();

            var orderDetailResponse = QueryPingAnMarginsOrderDetail(orderPaid.PingAnOrderPaid.BankOrderNo);

            if (orderDetailResponse.IsOK)
            {
                if (orderDetailResponse.dataObject.marginsOrderInfoList != null)
                {
                    if (orderDetailResponse.dataObject.marginsOrderInfoList.FirstOrDefault().transStatus == PingAnOrderPaidStatusOption.FrozenSuccess.ToInt().ToString())
                    {
                        var response = iPingAnAPIService.UnFreezeMarginsOrder(orderPaid);

                        pingAnOrderPaidUnFreeze.ResponseCode    = response.responseCode;
                        pingAnOrderPaidUnFreeze.ResponseMessage = response.responseMsg;

                        if (response.IsOK)
                        {
                            PingAnUnFreezeSuccess(pingAnOrderPaidUnFreeze);

                            Commit();
                        }
                        else
                        {
                            pingAnOrderPaidUnFreeze.Status = PingAnOrderPaidUnFreezeStatusOption.Fail.ToInt();
                            iPingAnOrderPaidUnFreezeService.Save(pingAnOrderPaidUnFreeze);

                            Commit();

                            throw new APIException("解止付失败:" + response.responseMsg);
                        }
                    }
                    else
                    {
                        throw new APIException("订单状态" + ((PingAnOrderPaidStatusOption)Convert.ToInt32(orderDetailResponse.dataObject.marginsOrderInfoList.FirstOrDefault().transStatus)).ToDescription() + "不可操作");
                    }
                }
            }
            else
            {
                throw new APIException("查询失败:" + orderDetailResponse.responseMsg);
            }
        }
Beispiel #28
0
        public static IBaseRepository CreateService(Type type)
        {
            var server = CallContext.GetData(type.FullName) as IBaseRepository;

            if (server == null)
            {
                server = DIFactory.GetService <IBaseRepository>();
                CallContext.SetData(type.FullName, server);
            }
            return(server);
        }
Beispiel #29
0
        /// <summary>
        /// 平安端:单个订单信息查询
        /// </summary>
        /// <param name="BankOrderNo"></param>
        /// <returns></returns>
        private QueryBatchMarginsOrderDetialResponse QueryPingAnMarginsOrderDetail(string BankOrderNo)
        {
            var iPingAnAPIService = DIFactory.GetContainer().Resolve <IPingAnAPIService>();

            QueryPingAnMarginsOrderListRequest request = new QueryPingAnMarginsOrderListRequest();

            request.bankorderno = BankOrderNo;
            var orderDetailResponse = iPingAnAPIService.QueryBatchMarginsOrderDetial(request);

            return(orderDetailResponse as QueryBatchMarginsOrderDetialResponse);
        }
Beispiel #30
0
        private void WithdrawFail(OrderPaidWithdraw orderPaidWithdraw)
        {
            var iOrderPaidWithdrawService = DIFactory.GetContainer().Resolve <IOrderPaidWithdrawService>();

            orderPaidWithdraw.Status = OrderPaidWithdrawStatusOption.Fail.ToInt();
            iOrderPaidWithdrawService.Save(orderPaidWithdraw);


            orderPaidWithdraw.OrderPaid.Status = OrderPaidStatusOption.UnFrozenSuccess.ToInt();
            Save(orderPaidWithdraw.OrderPaid);
        }