private void BtnTakeOut_Click(object sender, EventArgs e) { var player = (sender as Button).Tag as CircularlyLinkedNode <IPlayer>; if (this.pnlCurrent.SelectedCardBoxes.Count == 0) { MessageBox.Show("Plz select cards"); return; } var selectedCards = this.pnlCurrent.SelectedCardBoxes.Select(p => CardCarton.Get(p.CardCode)).ToList(); selectedCards.Sort((p1, p2) => p1.WeightValue - p2.WeightValue); var formation = FormParser.Parse(selectedCards); if (formation == null) { MessageBox.Show("invalid formation"); return; } if (_currentRound != null) { if (formation.Signature != _currentRound.Formation.Signature || formation.Cards.Length != _currentRound.Formation.Cards.Length || formation.Weight < _currentRound.Formation.Weight) { MessageBox.Show("violate rules"); return; } } OnUserTakeoutFormation(formation); }
private static void ProcessNotice(IHttpRequest Request, IHttpResponse Response) { var postdata = Request.Content.ReadAll().ConvertFromBytes(Encoding.UTF8); var Form = FormParser.Parse(postdata); var dic = new SafeStringToStringDirectionary(); dic.Add("str", Form["Tx_url"].ToSafeString()); Response.Write(Action("notice", dic.ToDictionary())); }
private void BtnTakeOut_Click(object sender, EventArgs e) { var player = (sender as Button).Tag as CircularlyLinkedNode <IPlayer>; if (_playerControls[player].CardBoxContainer.SelectedCardBoxes.Count == 0) { MessageBox.Show("Plz select cards"); return; } var selectedCards = _playerControls[player].CardBoxContainer.SelectedCardBoxes.Select(p => CardCarton.Get(p.CardCode)).ToList(); selectedCards.Sort((p1, p2) => p1.WeightValue - p2.WeightValue); var formation = FormParser.Parse(selectedCards); if (formation == null) { MessageBox.Show("invalid formation"); return; } EndCountDown(player); ThrowSelectedFormationAction(player, formation); }
private static void ProcessUserlist(IHttpRequest Request, IHttpResponse Response) { var postdata = Request.Content.ReadAll().ConvertFromBytes(Encoding.UTF8); var Form = FormParser.Parse(postdata); string search = Form["Tb_SearchKeys"].ToSafeString(); int num = StringHelper.ConvertToInt(Request.Uri.QueryString["pages"], 1); INVelocityEngine iNVelocityEngine = NVelocityEngineFactory.CreateNVelocityAssemblyEngine("Web.Server", false); IDictionary dictionary = new Hashtable(); using (var x = new ManageBussiness()) { List <UserInfo> list = x.GetAllUserInfo().ToList(); var onlinecount = list.Where((a) => (a.State != 0)).Count(); list.Sort(new Comparison <UserInfo>(CompareByID)); if (search != "") { list = list.FindAll((UserInfo a) => a.UserName.IndexOf(search, 0) != -1 || a.NickName.IndexOf(search, 0) != -1); } int count = list.Count; int num2 = 1; if (search == "") { num2 = Convert.ToInt32(Math.Ceiling(count / 20m)); list = list.Skip((num - 1) * 20).Take(20).ToList <UserInfo>(); } dictionary.Add("loginuri", $"http://{WebServer.Instance.Config.GameDomain}/game.aspx"); dictionary.Add("Result", list); dictionary.Add("OnlineCount", onlinecount); dictionary.Add("Search", search); dictionary.Add("Count", count); dictionary.Add("Page", num); dictionary.Add("TocalPage", num2); string text = iNVelocityEngine.Process(dictionary, "Web.Server.Modules.Admin.UserList.vm"); Response.Write(text); } }
/// <summary> /// Returns CastData which contains the following info /// (1) List<RecProductionFormStd>: a set of beds, each with one production cast ONLY. /// The production cast object can contain elements. /// (2) ProductionFormStdData: Production Forms Standard Data /// </summary> /// <param name="filter">BedFilter</param> /// <param name="form">RecProductionFormStd</param> /// <returns></returns> public CastData LoadBedPlanning( BedFilter filter, RecProductionFormStd form ) { if( null == filter || string.IsNullOrEmpty( filter.Factory ) || string.IsNullOrEmpty( filter.Project ) ) { return null; } ImpactQuery query = new ImpactQuery() { Select = { ImpProductionCast.CastId, ImpProductionCast.Description, ImpProductionCast.StartDate, ImpProductionCast.EndDate, ImpProductionCast.Tolerance, ImpProductionCast.ElementType, ImpProductionCast.Style, ImpProductionCast.Strandptn, ImpProductionCast.CastType, ImpProductionCast.CastStatus, ImpProductionCast.Form, ImpProductionCast.Shift, Aggregate.Count( ImpProductionCastStrand.StrandPos ), ImpProductionFormStd.Name, ImpProductionFormStd.MaxLength, ImpProductionFormStd.MaxWidth, ImpProductionFormStd.MaxHeight, ImpProductionFormStd.ElementType, ImpProductionFormStd.Style, ImpProductionFormStd.Strandptn, ImpProductionFormStd.StrandType, ImpProductionFormStd.FormType, ImpModelPlanning.ElementId, ImpModelGeometry.ElementMark, ImpModelPlanning.ErectionSequenceNo, ImpModelPlanning.TransportId, ImpModelPlanning.BedSequenceNo, ImpModelPlanning.BedX, ImpModelPlanning.BedY, ImpModelPlanning.BedZ, ImpModelPlanning.BedRotation, ImpModelPlanning.ElementIdStatus, ImpModelPlanning.ProductionDate, ImpModelPlanning.PlannedProductionDate, ImpElement.ElementLength, ImpElement.ElementWidth, ImpElement.ElementHeight, ImpElement.ElementType, ImpElement.GrossArea, ImpElement.Product, ImpElement.Project, ImpElement.AngleLeftSide, ImpElement.AngleRightSide, ImpElement.Style, ImpElement.Strandptn, ImpElement.NbrOfStrands, ImpElement.Volume, }, From = { ImpProductionFormStd.As( "FRM" ) }, Join = { Join.Left( ImpProductionCast.As( "CST" ), ImpProductionCast.Factory.Equal( ImpProductionFormStd.Factory ), ImpProductionCast.Project.Equal( ImpProductionFormStd.Project ),//Factory, Factory ImpProductionCast.Form.Equal( ImpProductionFormStd.Name ) ), Join.Left( ImpProductionCastStrand.As( "STA" ), ImpProductionCast.Factory.Equal( ImpProductionCastStrand.Factory ), ImpProductionCast.Project.Equal( ImpProductionCastStrand.Project ),// Factory, Factory for productionCast & ProductionCastStrand ImpProductionCast.CastId.Equal( ImpProductionCastStrand.CastId ) ), Join.Left( ImpModelPlanning.As( "MPL" ), ImpProductionCast.Factory.Equal( ImpModelPlanning.Factory ), ImpProductionCast.Project.Equal( ImpModelPlanning.Factory ),// Factory, Factory for productionCast & ProductionCastStrand ImpProductionCast.CastId.Equal( ImpModelPlanning.CastId ) ), Join.Left( ImpModelGeometry.As( "MGO" ), ImpModelPlanning.Factory.Equal( ImpModelGeometry.Factory ), ImpModelPlanning.Project.Equal( ImpModelGeometry.Project ), ImpModelPlanning.ElementId.Equal( ImpModelGeometry.ElementId ) ), Join.Left( ImpElement.As( "ELM" ), ImpModelGeometry.Factory.Equal( ImpElement.Factory ), ImpModelGeometry.Project.Equal( ImpElement.Project ), ImpModelGeometry.ElementMark.Equal( ImpElement.ElementMark ) ), }, Where = { ImpProductionCast.Factory.Equal( filter.Factory ), ImpProductionCast.Project.Equal( filter.Factory ), // Factory, Factory for productionCast & ProductionCastStrand ImpProductionCast.StartDate.Equal( filter.StartDateFrom ), ImpProductionCast.Shift.Equal( filter.Shift ), // ImpModelPlanning.CastId.GreaterThan( 0 ), // Get even the casts without elements! }, GroupBy = { ImpProductionCast.CastId, ImpProductionCast.Description, ImpProductionCast.StartDate, ImpProductionCast.EndDate, ImpProductionCast.Tolerance, ImpProductionCast.ElementType, ImpProductionCast.Style, ImpProductionCast.Strandptn, ImpProductionCast.CastType, ImpProductionCast.CastStatus, ImpProductionCast.Form, ImpProductionCast.Shift, ImpProductionFormStd.Name, ImpProductionFormStd.MaxLength, ImpProductionFormStd.MaxWidth, ImpProductionFormStd.MaxHeight, ImpProductionFormStd.ElementType, ImpProductionFormStd.Style, ImpProductionFormStd.Strandptn, ImpProductionFormStd.StrandType, ImpProductionFormStd.FormType, ImpModelPlanning.ElementId, ImpModelGeometry.ElementMark, ImpModelPlanning.ErectionSequenceNo, ImpModelPlanning.TransportId, ImpModelPlanning.BedSequenceNo, ImpModelPlanning.BedX, ImpModelPlanning.BedY, ImpModelPlanning.BedZ, ImpModelPlanning.BedRotation, ImpModelPlanning.ElementIdStatus, ImpModelPlanning.ProductionDate, ImpModelPlanning.PlannedProductionDate, ImpElement.ElementLength, ImpElement.ElementWidth, ImpElement.ElementHeight, ImpElement.ElementType, ImpElement.GrossArea, ImpElement.Product, ImpElement.Project, ImpElement.AngleLeftSide, ImpElement.AngleRightSide, ImpElement.Style, ImpElement.Strandptn, ImpElement.NbrOfStrands, ImpElement.Volume, }, OrderBy = { { ImpElement.Project }, { ImpProductionFormStd.Name }, { ImpProductionCast.CastId }, { ImpModelPlanning.BedSequenceNo, OrderBy.Ascending } }, }; if( filter.FormType != FormType.All ) { query.Where.Add( ImpProductionCast.CastType.Equal( filter.FormType ) ); } if( !string.IsNullOrWhiteSpace( filter.Location ) && !filter.Location.Equals( Filter.All ) ) { query.Where.Add( ImpProductionFormStd.Location.Equal( filter.Location ) ); } if( !filter.Bed.Equals( Filter.All ) ) { query.Where.Add( ImpProductionCast.Form.Equal( filter.Bed ) ); } // used when sorting elements on bed if( form != null && !string.IsNullOrWhiteSpace( form.Name ) ) { query.Where.Add( ImpProductionFormStd.Name.Equal( form.Name ) ); } var statement = query.ToString(); var tmList = new List<RecProductionFormStd>(); var parser = new FormParser( tmList ); using( var database = new ImpactDatabase() ) { var list = database.GetAll( statement, ParseCast ); foreach( var item in list ) { item.Form.Factory = filter.Factory; item.Cast.Factory = filter.Factory; item.Form.Project = filter.Project; // What does that really mean! item.Cast.Project = filter.Project; // What does that really mean! if( null != item.Element ) { item.Element.Factory = filter.Factory; // Never set element.project to curFilter.project // since we retrieve elmenets from different projects! } parser.Parse( item.Form, item.Cast, item.Element ); } } var formSvc = new ProjectManager(); var filter2 = new BedFilter( filter ) { Location = "" }; var productionFormStdData = formSvc.LoadProductionFormStd( filter2 ); // Load strands LoadCastStrands( tmList, filter ); LoadFormStrands( productionFormStdData.Forms, filter ); return new CastData( tmList, productionFormStdData ); }
private static void ProcessMail(IHttpRequest Request, IHttpResponse Response, int usertype) { if (!(usertype > 2)) { Response.Write("对不起,你的权限不足"); return; } using (var xx = new ManageBussiness()) { using (var xy = new ProduceBussiness()) { var postdata = Request.Content.ReadAll().ConvertFromBytes(Encoding.UTF8); var Form = FormParser.Parse(postdata); if (Request.Uri.QueryString["sub_searchUserId"].ToSafeString() != "") { string userMsg = Request.Uri.QueryString["userMsg"].ToSafeString(); string getAllUserId = ""; if (userMsg != "") { string[] strUsersg = userMsg.Split(new char[] { ',' }); List <UserInfo> result = xx.GetAllUserInfo().ToList(); for (int i = 0; i < strUsersg.Count <string>(); i++) { foreach (var a in result.FindAll((t) => { if (t.UserName.IndexOf(strUsersg[i]) != -1 || t.NickName.IndexOf(strUsersg[i]) != -1) { return(true); } else { return(false); } })) { getAllUserId += string.Concat(new string[] { "ID:[", a.UserID.ToString(), "],用户名:[", a.UserName.ToString(), "],昵称:[", a.NickName.ToString(), "]\n" }); } } Response.Write(getAllUserId); return; } } else if (Form["txt_userID"].ToSafeString() != "" && Form["txt_Title"].ToSafeString() != "" && Form["txt_Content"].ToSafeString() != "") { if (SendMail(Form)) { Response.Write("成功"); } else { Response.Write("失败"); } } else { INVelocityEngine iNVelocityEngine = NVelocityEngineFactory.CreateNVelocityAssemblyEngine("Web.Server", false); IDictionary context = new Hashtable(); if (Form["btn_wq"].ToSafeString() != "") { List <ItemTemplateInfo> GoodsWeapons = xy.GetSingleCategory(7).ToList(); context.Add("GoodsWeapons", GoodsWeapons); } if (Form["btn_zb"].ToSafeString() != "") { List <ItemTemplateInfo> GoodsEquipment = xy.GetSingleCategory(1).ToList(); GoodsEquipment.AddRange(xy.GetSingleCategory(2).ToList()); GoodsEquipment.AddRange(xy.GetSingleCategory(3).ToList()); GoodsEquipment.AddRange(xy.GetSingleCategory(4).ToList()); GoodsEquipment.AddRange(xy.GetSingleCategory(5).ToList()); GoodsEquipment.AddRange(xy.GetSingleCategory(6).ToList()); GoodsEquipment.AddRange(xy.GetSingleCategory(8).ToList()); GoodsEquipment.AddRange(xy.GetSingleCategory(9).ToList()); GoodsEquipment.AddRange(xy.GetSingleCategory(13).ToList()); GoodsEquipment.AddRange(xy.GetSingleCategory(14).ToList()); GoodsEquipment.AddRange(xy.GetSingleCategory(15).ToList()); GoodsEquipment.AddRange(xy.GetSingleCategory(16).ToList()); GoodsEquipment.AddRange(xy.GetSingleCategory(17).ToList()); GoodsEquipment.AddRange(xy.GetSingleCategory(18).ToList()); GoodsEquipment.AddRange(xy.GetSingleCategory(19).ToList()); GoodsEquipment.AddRange(xy.GetSingleCategory(20).ToList()); context.Add("GoodsEquipment", GoodsEquipment); } if (Form["btn_dj"].ToSafeString() != "") { List <ItemTemplateInfo> GoodsProps = xy.GetSingleCategory(11).ToList(); context.Add("GoodsProps", GoodsProps); } string hindGoodId = Form["hindGoodId"].ToSafeString(); if (Form["getGoodId"].ToSafeString() != "") { hindGoodId = Form["getGoodId"].ToSafeString(); } string changParames = Form["changParames"].ToSafeString(); if (Form["params"].ToSafeString() != "") { changParames = Form["params"].ToSafeString(); } if (hindGoodId != "" && changParames != "") { string[] paraStr = changParames.Split(new char[] { ',' }); if (tabGoods == null) { InitNewGoodTable(); } int rowNum = Convert.ToInt32(hindGoodId); DataRow[] rowArray = tabGoods.Select("id=" + hindGoodId); DataRow[] array = rowArray; for (int j = 0; j < array.Length; j++) { DataRow rows = array[j]; rows.BeginEdit(); rows["GoodId"] = hindGoodId.ToString(); rows["GoodNumber"] = paraStr[0].ToString(); rows["GoodName"] = paraStr[16].ToString(); rows["TemplateID"] = paraStr[12].ToString(); rows["ValidDate"] = paraStr[1].ToString(); rows["Gold"] = paraStr[10].ToString(); rows["Money"] = paraStr[9].ToString(); rows["LiJuan"] = paraStr[11].ToString(); rows["StrengthenLevel"] = paraStr[4].ToString(); rows["AttackCompose"] = paraStr[5].ToString(); rows["DefendCompose"] = paraStr[6].ToString(); rows["AgilityCompose"] = paraStr[7].ToString(); rows["LuckCompose"] = paraStr[8].ToString(); rows["IsBind"] = paraStr[2].ToString(); rows["Sex"] = paraStr[3].ToString(); rows["CategoryID"] = paraStr[13].ToString(); rows["CanStrengthen"] = paraStr[14].ToString(); rows["CanCompose"] = paraStr[15].ToString(); rows.EndEdit(); } } string delete = Form["deletegoodid"].ToSafeString(); if (delete != "") { if (tabGoods == null) { InitNewGoodTable(); } tabGoods.Rows.Remove(tabGoods.Select("id=" + delete)[0]); } string idArray = Request.Uri.QueryString["ids"].ToSafeString(); if (idArray != "") { var a = idArray.Substring(0, idArray.Length - 1); int[] b = a.Split(',').ConvertToIntArray(); List <ItemTemplateInfo> selectGoods = new List <ItemTemplateInfo>(); foreach (var c in b) { selectGoods.Add(xy.GetSingleGoods(c)); } if (tabGoods == null) { InitNewGoodTable(); } foreach (var item in selectGoods) { DataRow newRow = tabGoods.NewRow(); newRow["GoodId"] = item.TemplateID; newRow["GoodNumber"] = 1; newRow["GoodName"] = item.Name; newRow["TemplateID"] = item.TemplateID; newRow["ValidDate"] = 1; newRow["StrengthenLevel"] = 0; newRow["AttackCompose"] = 0; newRow["DefendCompose"] = 0; newRow["AgilityCompose"] = 0; newRow["LuckCompose"] = 0; newRow["IsBind"] = "True"; newRow["Sex"] = 0; newRow["CategoryID"] = item.CategoryID; newRow["CanStrengthen"] = item.CanStrengthen; newRow["CanCompose"] = item.CanCompose; tabGoods.Rows.Add(newRow); } } if (tabGoods != null) { context.Add("ResultGoods", tabGoods); if (!string.IsNullOrEmpty(idArray)) { context.Add("isSelect", idArray.Substring(0, idArray.Length - 1)); } else { context.Add("isSelect", "false"); } idArray = ""; } context.Add("this", new AdminPage()); Response.Write(iNVelocityEngine.Process(context, "Web.Server.Modules.Admin.Mail.vm")); } } } }
public void Process(object website, ProcessEventArgs args) { var log = args.Log; var Request = args.Request; var Uri = Request.Uri; if (Uri.ToString().StartsWith("/api.do")) { args.IsProcessed = true; while (!Request.IsReadFinish) { Thread.Sleep(100); } args.Response = new HttpResponse(); var Response = args.Response; var referer = Request.Headers[eHttpHeader.Referer]; var method = Uri.QueryString["method"]; var postdata = Request.Content.ReadAll().ConvertFromBytes(Encoding.UTF8); var Form = FormParser.Parse(postdata); if (method == "login") { #region login if (referer == "") { Response.Write("非法访问"); } var name = Form["user"]; var pass = Form["pass"]; using (var a = new MemberShipBussiness()) { if (name == "" || pass == "" || !a.CheckUser(name, pass)) { ((HttpResponse)Response).ReturnAndRedirect("用户名或密码错误", referer); } else { Response.Cookies.Add(new HttpCookie { name = "user", content = name, domain = domain, expires = DateTime.Now.AddHours(1) }); Response.Cookies.Add(new HttpCookie { name = "pass", content = pass, domain = domain, expires = DateTime.Now.AddHours(1) }); ((HttpResponse)Response).Redirect(referer.Replace("login.aspx", "") + "select.aspx"); } } #endregion } else if (method == "register") { #region register if (referer == "") { Response.Write("非法访问"); } var name = Form["user"]; var pass = Form["pass"]; int inviteid = Request.Cookies["inviteid"].content.ConvertToInt(0); using (var a = new MemberShipBussiness()) { if (!a.ExistsUsername(name) && a.CreateUsername(name, pass, inviteid)) { Response.Cookies.Add(new HttpCookie { name = "user", content = name, domain = domain, expires = DateTime.Now.AddHours(1) }); Response.Cookies.Add(new HttpCookie { name = "pass", content = pass, domain = domain, expires = DateTime.Now.AddHours(1) }); ((HttpResponse)Response).ReturnAndRedirect("注册成功", Request.Headers[eHttpHeader.Referer].Replace("login.aspx", "") + "select.aspx"); } else { ((HttpResponse)Response).ReturnAndRedirect("该用户名已被注册", Request.Headers[eHttpHeader.Referer]); } } #endregion } else if (method == "getuserid") { #region getuserid var name = Uri.QueryString["name"]; using (PlayerBussiness a = new PlayerBussiness()) { PlayerInfo[] b = a.GetUserByUserName(name); if (b != null) { var userid = b.Where((x) => (x.ID != 0)).Select((x) => (x.ID)).ToArray().FirstOrDefault(); if (userid != 0) { Response.Write(userid.ToString()); return; } } } Response.Write("0"); #endregion } else if (method == "isopen") { Response.Write(WebServer.Instance.IsOpen.ToString()); } else if (method == "checkuser") { #region checkuser var username = Form["username"]; var password = Form["password"]; var inviteid = Form["inviteid"].ConvertToInt(0); using (var a = new MemberShipBussiness()) { var result = a.CheckUser(username, password); if (result) { using (var b = new PlayerBussiness()) { b.CreateUsername(username, inviteid); Response.Write("1"); } } else { Response.Write("0"); } } #endregion } else if (method == "addplayer") { var user = Form["user"]; var pass = Form["pass"]; PlayerManager.Add(user, pass); Response.Write("OK"); } else if (method == "existsusername") { var name = Form["name"]; using (var a = new MemberShipBussiness()) { Response.Write(a.ExistsUsername(name).ToString()); } } else if (method == "getidbyusername") { var username = Form["username"]; using (PlayerBussiness a = new PlayerBussiness()) { PlayerInfo[] b = a.GetUserByUserName(username); if (b != null) { Response.Write(b.Where((x) => (x.ID != 0)).Select((x) => (x.ID)).ToArray().FirstOrDefault().ToString()); } } } else if (method == "getusertype") { var username = Form["username"]; using (var a = new PlayerBussiness()) { Response.Write(a.GetUserType(username).ToString()); } } else if (method == "getusernamebyid") { var id = Form["id"].ConvertToInt(0); using (PlayerBussiness a = new PlayerBussiness()) { var b = a.GetUserSingleByUserID(id); { if (b != null) { Response.Write(b.UserName); } } } } else { args.Response = ErrorHelper.Build(404, 0, args.ServerName); } } }