public void Enable(Transform board, Transform[,] tiles, BasicAgent notAgent, BasicAgent crossAgent, BrainType brainType = BrainType.Player, Transform menu = null, int dim = 3) { cleanup = false; theTiles = tiles; this.dim = dim; this.board = board; this.brainType = brainType; this.notAgent = notAgent; this.crossAgent = crossAgent; this.menu = menu; //Debug.Log ( "MyAgent val " + myAgent.Val); InitEventTriggers(); winner = false; game = TicTacToe.Instance; this.myAgent = BoardGame.Computer == notAgent.Val ? notAgent : crossAgent; if (menu != null) { menu.gameObject.SetActive(true); spriteRenderer = menu.GetComponent <SpriteRenderer> (); } }
public override void InitializeAcademy() { InitEventTriggers(); TicTacToe game = TicTacToe.Instance; Brain[] brains = GetComponentsInChildren <Brain>(); bool training = true; BasicAgent cross = new BasicAgent(1); BasicAgent not = new BasicAgent(-1); if (brains [0].brainType == BrainType.Internal) { training = false; } game.init(training, dim, 0, ComputerSymbol); if (!training) { SetupTiles(); You.gameObject.SetActive(true); game.StateMachine.Enable(BackgroundPlane, theTiles, not, cross, BrainType.Internal, You); } else { You.gameObject.SetActive(false); } }
public override void DoAction(BasicAgent owner, float[] vectorAction) { var rBody = owner.GetComponent <Rigidbody>(); var scale = owner.gameObject.transform.localScale.x; //rBody.angularVelocity = Vector3.zero; //rBody.velocity = Vector3.zero; //if (animator.GetInteger("AnimIndex") != 0) //{ // animator.SetInteger("AnimIndex", 0); // animator.SetTrigger("Next"); //} if (rBody is object) { Vector3 controlSignal = Vector3.zero; controlSignal.x = vectorAction[0]; controlSignal.z = vectorAction[1]; rBody.AddForce(new Vector3(controlSignal.x * owner.acceleration * scale, 0, controlSignal.z * owner.acceleration * scale)); } SetDirection(owner); _lastPosition = owner.transform.position; IsFinished = true; }
public override Vector3 Execute() { Vector3 force = Vector3.zero; GameObject[] gameObjects = perception.GetGameObjects(); if (gameObjects != null && gameObjects.Length > 0) { // **** Vector3 positions = Vector3.zero; foreach (GameObject go in gameObjects) { BasicAgent agent = go.GetComponent <BasicAgent>(); positions += agent.Velocity; } Vector3 center = positions / gameObjects.Length; Vector3 direction = (center).normalized; //**** Vector3 desired = direction * Agent.maxSpeed; force = Vector3.ClampMagnitude(desired - Agent.Velocity, Agent.maxForce); Debug.DrawRay(transform.position, desired, Color.red); //Desired Debug.DrawRay(transform.position + Agent.Velocity, force, Color.green); //Steering } return(force); }
public void IncreaseStat(BasicAgent agent) { Debug.Log("Increasing stats!"); if (uses > 0) { if (isEnergyPotion) { agent.GetComponentInChildren <EnergyController> ().ChangeEnergy(increaseAmount); } else { agent.Heal(increaseAmount); } uses--; if (uses > 0) { evt_usePotion.Invoke(isEnergyPotion); } else { evt_outOfPotions.Invoke(isEnergyPotion); } if (healthBar != null) { healthBar.currentHealth = (float)uses; } ; } ; }
public void TriggerActivate(GameObject trg) { BasicAgent agent = trg.GetComponent <BasicAgent> (); Debug.Log("Agent >" + agent); if (agent != null) { // We only do it if they aren't at full health/energy if (isEnergyPotion) { EnergyController ctrl = agent.GetComponentInChildren <EnergyController> (); Debug.Log("Energycontroller >" + ctrl); if (ctrl != null) { if (ctrl.currentEnergy < ctrl.minMaxEnergy.y) { IncreaseStat(agent); } } } else { if (agent.currentHealth < agent.healthMinMax.y) { IncreaseStat(agent); } } } }
void StartGame(params GameObject[] dummy) { int curPlayer = game.getCurPlayerVal(); Debug.Log("Starting Game " + curPlayer); RemoveDelegates(); timeStart = 0f; this.myAgent = BoardGame.Computer == notAgent.Val ? notAgent : crossAgent; if (curPlayer == BoardGame.Computer) { ProcessStateMachine += WaitForComputerMove; player = false; toggleCount = -1000; //Debug.Log ("WaitForComputerMove"); } else { //Debug.Log ("WaitState"); ProcessStateMachine += WaitState; player = true; toggleCount = 0; } winner = false; }
public void EnergyDamage(BasicAgent agent, float amount) { if (agent == this) { Damage(Mathf.Abs(amount) * 0.1f); } ; }
private void SetDirection(BasicAgent owner) { var direction = (owner.transform.position - _lastPosition).normalized; if (owner.transform.rotation != Quaternion.LookRotation(direction)) { owner.transform.rotation = Quaternion.Slerp(owner.transform.rotation, Quaternion.LookRotation(direction), 0.08F); } }
public void InteractWith(BasicAgent agent, GenericActivate source) { Debug.Log("Interacted with " + gameObject); FungusManager.Instance.EventDispatcher.Raise(new AgentInteracted.Custom_EventHandlerEvent() { data = data }); GameManager.instance.lastItem = transform.position; GameManager.instance.finishedItems.Add(data); }
public void MakeVisible(bool visible, BasicAgent activatingAgent) { if (enabled) { promptCanvas.gameObject.SetActive(visible); awaitingInput = visible; agent = activatingAgent; } ; }
private void SendSMS(string SendText, string Mobile, SysSet SS) { SMSLog SMSLog = new SMSLog(); SMSLog.SendText = SendText; SMSLog.Mobile = Mobile; SysAgent SA = BasicAgent.GetTopAgent(Entity); SMSLog.SendSMS(SS, SA, Entity); }
public override void OnFixedUpdate(BasicAgent owner) { if (owner.StepCount - counter >= 50) { actionToExecute(); IsFinished = true; owner.CurrentState = AgentStateType.Idle; } ; }
public JsonResult GetCode(string Tel, byte CType) { if (Tel.IsNullOrEmpty()) { return(Json(new { code = 1, msg = "手机号不能为空" })); } if (CType != 5) { return(Json(new { code = 1, msg = " 非法操作" })); } //验证是否重复 SysAdmin Old = Entity.SysAdmin.FirstOrDefault(n => n.UserName == Tel); if (Old != null) { return(Json(new { code = 1, msg = "“联系手机号”已在系统中存在,无法开通管理员!" })); } if (Entity.UserBlackList.FirstOrDefault(UBL => UBL.CardNumber == Tel && UBL.State == 1) != null) { return(Json(new { code = 1, msg = "暂不支持您的手机号入网!" })); } SysSet ss = new SysSet(); ss.SMSEnd = BasicSet.SMSEnd; ss.SMSActives = BasicSet.SMSActives; DateTime Today = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); //失效之前获取验证码 IList <SMSCode> List = Entity.SMSCode.Where(n => n.UId == BasicAgent.Id && n.Mobile == Tel && n.CType == CType && n.State == 1).ToList(); foreach (var p in List) { p.State = 0; } Entity.SaveChanges(); //生成验证码 string Code = Utils.RandomSMSCode(6); SMSCode SSC = new SMSCode(); SSC.CType = CType; SSC.UId = BasicAgent.Id; SSC.Mobile = Tel; SSC.Code = Code; SSC.AddTime = DateTime.Now; SSC.State = 1; Entity.SMSCode.AddObject(SSC); Entity.SaveChanges(); var topAgent = BasicAgent.GetTopAgent(this.Entity); //发送验证码 SSC.SendSMS(ss, topAgent, Entity); return(Json(new { code = 2, msg = "ok" })); }
public ActionResult Index(JobOrders JobOrders, EFPagingInfo <JobOrders> p, bool?IsShowSupAgent, int?LowerLevel, DateTime?STime, DateTime?ETime, int IsFirst = 0) { IPageOfItems <JobOrders> JobOrdersList = null; if (IsShowSupAgent == null) { IsShowSupAgent = false; } ViewBag.BasicAgent = BasicAgent; ViewBag.IsAll = IsAll; LowerLevel = LowerLevel == null ? 0 : LowerLevel; if (IsFirst == 0) { JobOrders.State = 99; JobOrdersList = new PageOfItems <JobOrders>(new List <JobOrders>(), 0, 10, 0, new Hashtable()); } else { p = this.Condition(JobOrders, p, STime, ETime); IList <SysAgent> SysAgentList = null; if ((bool)IsShowSupAgent) { IList <int> UID = new List <int>(); if (LowerLevel != 0) { SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == LowerLevel).FirstOrNew(); SysAgentList = LowerLevelAgent.GetSupAgent(Entity, true); } else { SysAgentList = BasicAgent.GetSupAgent(Entity, true);//获取所有下级代理商信息 } UID = SysAgentList.Select(o => o.Id).ToList(); p.SqlWhere.Add(f => UID.Contains(f.AgentId)); } else { p.SqlWhere.Add(f => f.AgentId == BasicAgent.Id);//读取全部分支机构 } JobOrdersList = Entity.Selects <JobOrders>(p); } ViewBag.JobOrdersList = JobOrdersList; ViewBag.JobOrders = JobOrders; ViewBag.Edit = this.checkPower("Edit"); ViewBag.ETime = ETime; ViewBag.STime = STime; ViewBag.IsShowSupAgent = IsShowSupAgent; ViewBag.LowerLevel = LowerLevel; List <int> UId = JobOrdersList.Select(o => o.UId).Distinct().ToList(); ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList(); return(View()); }
public override void OnEnter(BasicAgent owner) { IsFinished = false; var rBody = owner.GetComponent <Rigidbody>(); if (rBody is object) { rBody.angularVelocity = Vector3.zero; rBody.velocity = Vector3.zero; } IsFinished = true; }
public ActionResult Index(ApplyJoin ApplyJoin, EFPagingInfo<ApplyJoin> p, int IsFirst = 0 ,int IsShowSupAgent = -1) { ViewBag.Save = checkPower("Save"); ViewBag.IsShowSupAgent = IsShowSupAgent; if (IsFirst == 0) { PageOfItems<ApplyJoin> ApplyJoinList1 = new PageOfItems<ApplyJoin>(new List<ApplyJoin>(), 0, 10, 0, new Hashtable()); ViewBag.ApplyJoinList = ApplyJoinList1; ViewBag.ApplyJoin = ApplyJoin; ViewBag.BasicProvinceList = Entity.BasicProvince.ToList(); ViewBag.BasicCityList = Entity.BasicCity.ToList(); return View(); } if (!ApplyJoin.ServiceType.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.ServiceType == ApplyJoin.ServiceType); } if (!ApplyJoin.ApplyType.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.ApplyType == ApplyJoin.ApplyType); } if (!ApplyJoin.Linker.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.Linker.Contains(ApplyJoin.Linker)); } if (!ApplyJoin.Mobile.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.Mobile.Contains(ApplyJoin.Mobile)); } if (!ApplyJoin.ComName.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.ComName.Contains(ApplyJoin.ComName)); } if (!ApplyJoin.Province.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.Province == ApplyJoin.Province); } if (!ApplyJoin.City.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.City == ApplyJoin.City); } if (!ApplyJoin.State.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.State == ApplyJoin.State); } //List<Int32> AgentId = new List<Int32>(); //IList<SysAgent> SysAgentList = BasicAgent.GetSupAgent(Entity); //foreach (var pp in SysAgentList) //{ // AgentId.Add(pp.Id); //} //p.SqlWhere.Add(f =>AgentId.Contains(f.AgentId)); if (IsShowSupAgent == 1) { List<Int32> AgentId = new List<Int32>(); IList<SysAgent> SysAgentList = BasicAgent.GetSupAgent(Entity); foreach (var pp in SysAgentList) { AgentId.Add(pp.Id); } p.SqlWhere.Add(f => AgentId.Contains(f.AgentId)); } else { p.SqlWhere.Add(f => f.AgentId == BasicAgent.Id); } p.OrderByList.Add("Id", "DESC"); IPageOfItems<ApplyJoin> ApplyJoinList = Entity.Selects<ApplyJoin>(p); ViewBag.ApplyJoinList = ApplyJoinList; ViewBag.ApplyJoin = ApplyJoin; ViewBag.BasicProvinceList = Entity.BasicProvince.ToList(); ViewBag.BasicCityList = Entity.BasicCity.ToList(); return View(); }
public override void OnEnter(BasicAgent owner) { IsFinished = false; }
public override void DoAction(BasicAgent owner) { return; }
/// <summary> /// 解冻管理 /// </summary> /// <param name="Users"></param> /// <param name="p"></param> /// <returns></returns> public ActionResult Index(StopPayAudit StopPayAudit, EFPagingInfo <StopPayAudit> p, bool IsShowSupAgent = false, int LowerLevel = 0, int UserSelect = 1, int IsFirst = 0) { if (!StopPayAudit.TState.IsNullOrEmpty()) { p.SqlWhere.Add(o => o.TState == StopPayAudit.TState); } //一级只有的功能 if (BasicAgent.Tier == 1) { IList <SysAgent> SysAgentList = null; if (IsShowSupAgent) { IList <int> UID = new List <int>(); if (LowerLevel != 0) { SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == LowerLevel).FirstOrNew(); SysAgentList = LowerLevelAgent.GetSupAgent(Entity, true); } else { SysAgentList = BasicAgent.GetSupAgent(Entity, true);//获取所有下级代理商信息 } UID = SysAgentList.Select(o => o.Id).ToList(); p.SqlWhere.Add(f => UID.Contains(f.Agent)); } else { p.SqlWhere.Add(f => f.Agent == BasicAgent.Id);//读取全部分支机构 } } else { p.SqlWhere.Add(f => f.Agent == BasicAgent.Id); } if (!StopPayAudit.CreateAdminName.IsNullOrEmpty()) { List <int> uids = new List <int>(); if (StopPayAudit.UId == 1) { uids = Entity.Users.Where(o => o.UserName == StopPayAudit.CreateAdminName).Select(o => o.Id).ToList(); } else if (StopPayAudit.UId == 2) { uids = Entity.Users.Where(o => o.Mobile == StopPayAudit.CreateAdminName).Select(o => o.Id).ToList(); } else if (StopPayAudit.UId == 3) { uids = Entity.Users.Where(o => o.TrueName == StopPayAudit.CreateAdminName).Select(o => o.Id).ToList(); } p.SqlWhere.Add(f => uids.Contains(f.UId)); } p.OrderByList.Add("Id", "DESC"); IPageOfItems <StopPayAudit> StopPayAuditList = null; if (IsFirst == 0) { StopPayAuditList = new PageOfItems <StopPayAudit>(new List <StopPayAudit>(), 0, 10, 0, new Hashtable()); } else { StopPayAuditList = Entity.Selects <StopPayAudit>(p); } //用户表 var SPAUsersList = StopPayAuditList.Select(o => o.UId).ToList(); ViewBag.UserSelect = Entity.Users.Where(o => SPAUsersList.Contains(o.Id)).ToList(); ViewBag.StopPayAuditList = StopPayAuditList; ViewBag.StopPayAudit = StopPayAudit; ViewBag.IsShowSupAgent = IsShowSupAgent; ViewBag.LowerLevel = LowerLevel; return(View()); }
public abstract void DoAction(BasicAgent owner);
public abstract void DoAction(BasicAgent owner, float[] vectorActions);
public override void DoAction(BasicAgent owner, float[] vectorActions) { return; }
public ActionResult Index(Orders Orders, EFPagingInfo <Orders> p, bool?IsShowSupAgent, int?LowerLevel, int IsFirst = 0) { if (IsFirst == 0) { if (IsShowSupAgent == null) { IsShowSupAgent = false; } if (checkPower("ALL")) { IsAll = true; } LowerLevel = LowerLevel == null ? 0 : LowerLevel; ViewBag.IsAll = IsAll; PageOfItems <Orders> OrdersList1 = new PageOfItems <Orders>(new List <Orders>(), 0, 10, 0, new Hashtable()); ViewBag.OrdersList = OrdersList1; ViewBag.Orders = Orders; //查询对应的商户 List <int> UId1 = OrdersList1.Select(o => o.UId).Distinct().ToList(); ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && UId1.Contains(n.Id)).ToList(); ViewBag.PayConfigList = Entity.PayConfig.Where(n => n.State == 1).ToList(); ViewBag.IsShowSupAgent = IsShowSupAgent; ViewBag.BasicAgent = BasicAgent; SysSet SysSet1 = Entity.SysSet.FirstOrNew(); ViewBag.SysSet = SysSet1; ViewBag.Entity = Entity; ViewBag.LowerLevel = LowerLevel; return(View()); } //if (Orders.STime.IsNullOrEmpty()) //{ // Orders.STime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); //} //if (Orders.ETime.IsNullOrEmpty()) //{ // Orders.ETime = DateTime.Parse(DateTime.Now.ToString("yyyy-MM-dd")); //} //if (!Orders.STime.IsNullOrEmpty() && !Orders.ETime.IsNullOrEmpty()) //{ // DateTime ETime = Orders.ETime; // p.SqlWhere.Add(f => f.PayTime > Orders.STime && f.PayTime < ETime); //} if (IsShowSupAgent == null) { IsShowSupAgent = false; } if (checkPower("ALL")) { IsAll = true; } ViewBag.IsAll = IsAll; /*有没有指定交易所属代理 * 有:校验是否从属关系 * 无:指定当前代理 */ if (!Orders.Agent.IsNullOrEmpty()) { if (!IsBelongToAgent(Orders.Agent)) { ViewBag.ErrorMsg = "只能查询当前用户下属代理的交易"; return(View("Error")); } } else { Orders.Agent = this.BasicAgent.Id; } LowerLevel = LowerLevel == null ? 0 : LowerLevel; //没有"管理所有"权限的只能看到操作员自己的数据 //if (!IsAll) //{ // p.SqlWhere.Add(f => f.AId == AdminUser.Id);//交易所属用户 //} //else { IList <SysAgent> SysAgentList = null; if ((bool)IsShowSupAgent) { IList <int> UID = new List <int>(); if (LowerLevel != 0) { SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == LowerLevel).FirstOrNew(); SysAgentList = LowerLevelAgent.GetSupAgent(Entity); } else { SysAgentList = BasicAgent.GetSupAgent(Entity);//获取所有下级代理商信息 } foreach (var s in SysAgentList) { UID.Add(s.Id); } p.SqlWhere.Add(f => UID.Contains(f.Agent)); } else { p.SqlWhere.Add(f => f.Agent == Orders.Agent);//交易所属代理 } } #region 筛选条件 if (!Orders.OrderAddress.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.OrderAddress.Contains(Orders.OrderAddress)); } if (!Orders.TNum.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.TNum == Orders.TNum); } if (!Orders.LagEntryDay.IsNullOrEmpty()) { if (Orders.LagEntryDay == 99) { p.SqlWhere.Add(f => f.LagEntryDay == 0); } else { p.SqlWhere.Add(f => f.LagEntryDay > 0); } } if (!Orders.TrunType.IsNullOrEmpty()) { if (Orders.TrunType == 1) { p.SqlWhere.Add(f => f.TrunType == 1); } else { p.SqlWhere.Add(f => f.TrunType == 0); } } if (!Orders.TName.IsNullOrEmpty()) { IList <Users> UList = Entity.Users.Where(n => n.TrueName.Contains(Orders.TName) || n.NeekName.Contains(Orders.TName) || n.UserName == Orders.TName).ToList(); List <int> UIds = new List <int>(); foreach (var pp in UList) { UIds.Add(pp.Id); } p.SqlWhere.Add(f => UIds.Contains(f.UId)); } if (!Orders.PayWay.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.PayWay == Orders.PayWay); } if (!Orders.STime.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.AddTime >= Orders.STime); } if (!Orders.ETime.IsNullOrEmpty()) { DateTime ETime = Orders.ETime.AddHours(23).AddMinutes(59).AddSeconds(59); p.SqlWhere.Add(f => f.AddTime <= ETime); } #region 交易类型条件判断 p.SqlWhere.Add(f => f.TType == 2);//读取对应的类型 if (Orders.TType == 2) { if (!Orders.TState.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.TState == Orders.TState); } } #endregion #endregion p.OrderByList.Add("Id", "DESC"); IPageOfItems <Orders> OrdersList = Entity.Selects <Orders>(p); ViewBag.OrdersList = OrdersList; ViewBag.Orders = Orders; //查询对应的商户 List <int> UId = OrdersList.Select(o => o.UId).Distinct().ToList(); ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList(); //因为上面判段过了,这里其实是不用的 //if (checkPower("ALL")) //{ // ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && n.Agent == AdminUser.AgentId && UId.Contains(n.Id)).ToList(); //} //else //{ // ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && n.AId == AdminUser.Id && UId.Contains(n.Id)).ToList(); //} ViewBag.PayConfigList = Entity.PayConfig.Where(n => n.State == 1).ToList(); ViewBag.IsShowSupAgent = IsShowSupAgent; ViewBag.BasicAgent = BasicAgent; SysSet SysSet = Entity.SysSet.FirstOrNew(); ViewBag.SysSet = SysSet; ViewBag.Entity = Entity; ViewBag.LowerLevel = LowerLevel; return(View()); }
public void removePlayer(BasicAgent player) { thePlayers.Remove(player); }
public override void OnExit(BasicAgent owner) { return; }
public override void OnUpdate(BasicAgent owner) { return; }
public ActionResult Index(Orders Orders, EFPagingInfo <Orders> p, bool?IsShowSupAgent, int?LowerLevel, int IsFirst = 0) { if (IsShowSupAgent == null) { IsShowSupAgent = false; } if (IsFirst == 0) { if (checkPower("ALL")) { IsAll = true; } ViewBag.IsAll = IsAll; PageOfItems <Orders> OrdersList1 = new PageOfItems <Orders>(new List <Orders>(), 0, 10, 0, new Hashtable()); ViewBag.OrdersList = OrdersList1; ViewBag.Orders = Orders; //查询对应的商户 List <int> UId1 = OrdersList1.Select(o => o.UId).Distinct().ToList(); ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && UId1.Contains(n.Id)).ToList(); ViewBag.PayConfigList = Entity.PayConfig.Where(n => n.State == 1).ToList(); ViewBag.IsShowSupAgent = false; ViewBag.BasicAgent = BasicAgent; SysSet SysSet1 = Entity.SysSet.FirstOrNew(); ViewBag.SysSet = SysSet1; ViewBag.Entity = Entity; ViewBag.LowerLevel = 0; ViewBag.Edit = this.checkPower("Edit"); return(View()); } if (checkPower("ALL")) { IsAll = true; } ViewBag.IsAll = IsAll; /*有没有指定交易所属代理 * 有:校验是否从属关系 * 无:指定当前代理 */ if (!Orders.Agent.IsNullOrEmpty()) { if (!IsBelongToAgent(Orders.Agent)) { ViewBag.ErrorMsg = "只能查询当前用户下属代理的交易"; return(View("Error")); } } else { Orders.Agent = this.BasicAgent.Id; } LowerLevel = LowerLevel == null ? 0 : LowerLevel; //没有"管理所有"权限的只能看到操作员自己的数据 if (!IsAll) { p.SqlWhere.Add(f => f.AId == AdminUser.Id);//交易所属用户 } else { IList <SysAgent> SysAgentList = null; if ((bool)IsShowSupAgent) { IList <int> UID = new List <int>(); if (LowerLevel != 0) { SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == LowerLevel).FirstOrNew(); SysAgentList = LowerLevelAgent.GetSupAgent(Entity, true); } else { SysAgentList = BasicAgent.GetSupAgent(Entity, true);//获取所有下级代理商信息 } UID = SysAgentList.Select(o => o.Id).ToList(); p.SqlWhere.Add(f => UID.Contains(f.Agent)); } else { p.SqlWhere.Add(f => f.Agent == BasicAgent.Id);//读取全部分支机构 } } #region 筛选条件 if (!Orders.OrderAddress.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.OrderAddress.Contains(Orders.OrderAddress)); } if (!Orders.TNum.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.TNum == Orders.TNum); } if (!Orders.LagEntryDay.IsNullOrEmpty()) { if (Orders.LagEntryDay == 99) { p.SqlWhere.Add(f => f.LagEntryDay == 0); } else { p.SqlWhere.Add(f => f.LagEntryDay > 0); } } if (!Orders.TrunType.IsNullOrEmpty()) { if (Orders.TrunType == 1) { p.SqlWhere.Add(f => f.TrunType == 1); } else { p.SqlWhere.Add(f => f.TrunType == 0); } } if (!Orders.TName.IsNullOrEmpty()) { IList <Users> UList = Entity.Users.Where(n => n.TrueName.Contains(Orders.TName) || n.NeekName.Contains(Orders.TName) || n.UserName == Orders.TName).ToList(); List <int> UIds = new List <int>(); foreach (var pp in UList) { UIds.Add(pp.Id); } p.SqlWhere.Add(f => UIds.Contains(f.UId)); } if (!Orders.PayWay.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.PayWay == Orders.PayWay); } if (!Orders.STime.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.AddTime >= Orders.STime); } if (!Orders.ETime.IsNullOrEmpty()) { DateTime ETime = Orders.ETime.AddHours(23).AddMinutes(59).AddSeconds(59); p.SqlWhere.Add(f => f.AddTime <= ETime); } #region 交易类型条件判断 if (!Orders.TType.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.TType == Orders.TType);//读取对应的类型 if (Orders.TType == 1) { if (!Orders.TState.IsNullOrEmpty()) { switch (Orders.TState) { case 1: //未付 p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 0); break; case 2: //已付 p.SqlWhere.Add(f => f.TState == 2 && f.PayState == 1); break; case 3: //待传证照 p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 1); break; case 4: //待审核 p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 2); break; case 5: //审核失败 p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 4); break; case 6: //退单 p.SqlWhere.Add(f => f.TState == 4); break; case 7: //待入帐 p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.InState == 0); break; } } } if (Orders.TType == 2) { if (!Orders.TState.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.TState == Orders.TState); } } if (Orders.TType == 3) { switch (Orders.TState) { case 1: //未付 p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 0); break; case 2: //已付 p.SqlWhere.Add(f => f.TState == 2 && f.PayState == 1); break; case 3: //待传证照 p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 1); break; case 4: //待审核 p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 2); break; case 5: //审核失败 p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 4); break; } } if (Orders.TType == 5) { if (!Orders.TState.IsNullOrEmpty()) { switch (Orders.TState) { case 99: //未付 p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 0); break; case 1: //处理中 p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 0); break; case 2: //已汇出 p.SqlWhere.Add(f => f.TState == 2 && f.PayState == 2); break; case 4: //出款中 p.SqlWhere.Add(f => (f.TState == 2 && f.PayState == 2 && f.IdCardState == 0) || (f.TState == 2 && f.PayState == 1 && f.IdCardState == 3)); break; case 3: //审核失败 p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 4); break; case 5: //退款中 p.SqlWhere.Add(f => f.TState == 2 && f.PayState == 3); break; case 6: //已退款 p.SqlWhere.Add(f => f.TState == 2 && f.PayState == 4); break; case 7: //待传身份证 p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 1); break; case 8: //已传身份证 p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.IdCardState == 2); break; } } } if (Orders.TType == 6) { if (!Orders.TState.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.TState == Orders.TState); } } if (Orders.TType == 7 || Orders.TType == 8 || Orders.TType == 9) { if (!Orders.TState.IsNullOrEmpty()) { if (Orders.TState == 99) { p.SqlWhere.Add(f => f.TState == 0); } if (Orders.TState == 1) { p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 0); } if (Orders.TState == 2) { p.SqlWhere.Add(f => f.TState == 2 && f.PayState == 1); } if (Orders.TState == 3)//退单 { p.SqlWhere.Add(f => f.TState == 4); } if (Orders.TState == 4)//待入帐 { p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.InState == 0); } if (Orders.TState == 5)//待审核 { p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.InState == 1 && f.IdCardState == 2); } if (Orders.TState == 6)//待传证照 { p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.InState == 1 && f.IdCardState == 1); } if (Orders.TState == 7)//审核失败 { p.SqlWhere.Add(f => f.TState == 1 && f.PayState == 1 && f.InState == 1 && f.IdCardState == 4); } } } if (Orders.TType == 10) { if (!Orders.TState.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.TState == Orders.TState); } } } #endregion #endregion p.OrderByList.Add("Id", "DESC"); IPageOfItems <Orders> OrdersList = Entity.Selects <Orders>(p); ViewBag.OrdersList = OrdersList; ViewBag.Orders = Orders; //查询对应的商户 List <int> UId = OrdersList.Select(o => o.UId).Distinct().ToList(); ViewBag.UsersList = Entity.Users.Where(n => n.State == 1 && UId.Contains(n.Id)).ToList(); ViewBag.PayConfigList = Entity.PayConfig.Where(n => n.State == 1).ToList(); ViewBag.IsShowSupAgent = IsShowSupAgent; ViewBag.BasicAgent = BasicAgent; SysSet SysSet = Entity.SysSet.FirstOrNew(); ViewBag.SysSet = SysSet; ViewBag.Entity = Entity; ViewBag.LowerLevel = LowerLevel; ViewBag.Edit = this.checkPower("Edit"); return(View()); }
/// <summary> /// /// </summary> /// <param name="Orders"></param> /// <param name="p"></param> /// <param name="IsShowSupAgent">是否显示下级</param> /// <param name="LowerLevel">下级代理商</param> /// <returns></returns> public ActionResult Index(Orders Orders, EFPagingInfo <Orders> p, bool?IsShowSupAgent, int?LowerLevel, int IsFirst = 0) { bool IsAll = false; if (checkPower("ALL")) { IsAll = true; } ViewBag.IsAll = IsAll; #region 条件校验 if (IsShowSupAgent == null) { IsShowSupAgent = false; } LowerLevel = LowerLevel == null ? 0 : LowerLevel; p.SqlWhere.Add(f => f.PayState != 0); p.SqlWhere.Add(f => f.TState == 2); if (!Orders.TNum.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.TNum == Orders.TNum); } if (!Orders.TName.IsNullOrEmpty()) { IList <Users> UList = Entity.Users.Where(n => n.TrueName == Orders.TName || n.NeekName == Orders.TName || n.UserName == Orders.TName).ToList(); List <int> UIds = new List <int>(); foreach (var pp in UList) { UIds.Add(pp.Id); } p.SqlWhere.Add(f => UIds.Contains(f.UId)); } if (!Orders.TType.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.TType == Orders.TType); } if (!Orders.AId.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.AId == Orders.AId); } if (!Orders.AgentState.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.AgentState == Orders.AgentState); } if (!Orders.STime.IsNullOrEmpty()) { p.SqlWhere.Add(f => f.PayTime > Orders.STime); } else { Orders.STime = DateTime.Now.AddMonths(-1); } if (!Orders.ETime.IsNullOrEmpty()) { DateTime ETime = Orders.ETime; p.SqlWhere.Add(f => f.PayTime < ETime); } else { Orders.ETime = DateTime.Now; } TimeSpan TS = Orders.ETime.Subtract(Orders.STime); int Days = TS.Days; if (Days > 31) { ViewBag.ErrorMsg = "统计时间间隔不能超过31天!"; return(View("Error")); } if (IsAll) { IList <SysAgent> SysAgentList = null; if ((bool)IsShowSupAgent) { IList <int> UID = new List <int>(); if (LowerLevel != 0) { SysAgent LowerLevelAgent = Entity.SysAgent.Where(s => s.Id == LowerLevel).FirstOrNew(); SysAgentList = LowerLevelAgent.GetSupAgent(Entity, true); } else { SysAgentList = BasicAgent.GetSupAgent(Entity, true);//获取所有下级代理商信息 } UID = SysAgentList.Select(o => o.Id).ToList(); p.SqlWhere.Add(f => UID.Contains(f.Agent)); } else { p.SqlWhere.Add(f => f.Agent == BasicAgent.Id);//读取全部分支机构 } } else { p.SqlWhere.Add(f => f.AId == AdminUser.Id);//读取用户 } #endregion p.OrderByList.Add("Id", "DESC"); IPageOfItems <Orders> OrdersList = null; if (IsFirst == 0) { OrdersList = new PageOfItems <Orders>(new List <Orders>(), 0, 10, 0, new Hashtable()); } else { OrdersList = Entity.Selects <Orders>(p); } ViewBag.OrdersList = OrdersList; ViewBag.Orders = Orders; //统计查询 if (OrdersList.TotalCount > 0) { var iquery = Entity.Orders.AsQueryable(); foreach (var item in p.SqlWhere) { iquery = iquery.Where(item); } //总金额 decimal SumAmoney = iquery.Sum(o => o.Amoney); ViewBag.SumAmoney = SumAmoney; //我的总佣金 decimal?SumMyProfit = Entity.OrderProfitLog.Where(o => o.Agent == BasicAgent.Id).Join(iquery, op => op.TNum, o => o.TNum, (op, o) => op.Profit).Sum(o => (decimal?)o); ViewBag.SumMyProfit = SumMyProfit; } //商户查询 IList <Orders> List = OrdersList.GroupBy(n => n.UId).Select(n => n.First()).ToList(); List <int> UId = new List <int>(); foreach (var pp in List) { UId.Add(pp.UId); } Dictionary <string, decimal> DicOrderProfitLog = new Dictionary <string, decimal>(); IList <Users> UsersList = Entity.Users.Where(n => UId.Contains(n.Id)).ToList(); foreach (var item in OrdersList) { DicOrderProfitLog.Add(item.TNum, Entity.OrderProfitLog.Where(o => o.TNum == item.TNum && o.Agent == BasicAgent.Id).Select(o => o.Profit).FirstOrDefault()); } ViewBag.DicOrderProfitLog = DicOrderProfitLog; ViewBag.UsersList = UsersList; ViewBag.SysAdminList = Entity.SysAdmin.Where(n => n.State == 1 && n.AgentId == AdminUser.AgentId).ToList(); //ViewBag.PayConfigList = Entity.PayConfig.Where(n => n.State == 1).ToList(); ViewBag.IsShowSupAgent = IsShowSupAgent; ViewBag.BasicAgent = BasicAgent; SysSet SysSet = Entity.SysSet.FirstOrNew(); ViewBag.SysSet = SysSet; ViewBag.LowerLevel = LowerLevel; ViewBag.Edit = this.checkPower("Edit"); return(View()); }
protected int curPlayer = -1; // Index into list public void addPlayer(BasicAgent player) { thePlayers.Add(player); }