public void EnumCast() { EnumBase a = EnumBase.Bob; EnumBase b = (EnumBase)0; Assert.IsTrue(a == b); }
int ParseArguments(String[] args) { bool help = false; var p = new OptionSet { { "h|?|help", "Show this help message", v => help = v != null }, { "o=|out=", "Set the output directory", v => OutputDir = v }, { "ns=|namespace=", "Set the namespace of the generated code", v => Lib.BaseNamespace = v }, { "lib=", "The base name of the C++ library, i.e. 'qt' for libqt.so", v => Lib.BaseName = v }, { "filters=", "A file containing filter directives for filtering classes", v => FilterFile = v }, { "inline=", "Inline methods in lib are: notpresent (default), present, surrogatelib (present in %lib%-inline)", v => Lib.InlinePolicy = (InlineMethods)Enum.Parse(typeof(InlineMethods), v, true) } }; try { args = p.Parse(args).ToArray(); } catch (OptionException) { Console.WriteLine("Try `generator --help' for more information."); return(1); } if (help) { p.WriteOptionDescriptions(Console.Error); return(1); } if (args.Length != 1) { Console.WriteLine("Usage: generator <options> <input xml file>"); return(1); } // Code templates LibsTemplate = new CSharpLibs(); ClassTemplate = new CSharpClass(); EnumTemplate = new CSharpEnum(); InputFileName = args [0]; if (Lib.BaseName == null) { Console.WriteLine("The --lib= option is required."); return(1); } if (Lib.BaseNamespace == null) { Lib.BaseNamespace = Path.GetFileNameWithoutExtension(Lib.BaseName); } if (OutputDir == null) { OutputDir = "output"; } return(0); }
/// <summary> /// Filter a database with the title /// </summary> /// <param name="titre">the title</param> /// <param name="dataBase">the database</param> /// <returns>DataBase filtered</returns> public static List <NDS_Rom> DataBaseFiltreParTitre(string titre, EnumBase dataBase) { List <NDS_Rom> database = GetDataBase(dataBase); List <NDS_Rom> roms = database.Where( rom => rom.Title.ToLower().Contains(titre.ToLower())).ToList(); return(roms); }
/// <summary> /// Get database filtered by single language /// </summary> /// <param name="languageCode">language's code</param> /// <param name="dataBase">the database</param> /// <returns>filtered database</returns> public static List <NDS_Rom> DataBaseFiltreParLangue(int languageCode, EnumBase dataBase) { List <NDS_Rom> database = GetDataBase(dataBase); List <NDS_Rom> roms = database.Where( rom => rom.LanguageCode.Contains(languageCode)).ToList(); return(roms); }
public string LinkAll() { ApiResult result = new ApiResult(); try { User user = GetUserInfo(); if (user == null) { result.message = EnumBase.GetDescription(typeof(Enum_ErrorCode), Enum_ErrorCode.UnLogin); result.code = Enum_ErrorCode.UnLogin; return(JsonConvert.SerializeObject(result)); } var pager = new Pager(); var query = new SubSonic.Query.Select(provider, "ID", "Number", "Title", "Cover", "CreateUserNumber", "CreateDate", "ArticlePower", "ArticlePowerPwd").From <Article>().Where <Article>(x => x.Status == Enum_Status.Approved && x.Submission >= Enum_Submission.Approved); query = query.And("CreateUserNumber").IsEqualTo(user.Number); var recordCount = query.GetRecordCount(); if (recordCount == 0) { result.message = new { records = recordCount, totalpage = 1 }; return(JsonConvert.SerializeObject(result)); } var totalPage = recordCount % pager.Size == 0 ? recordCount / pager.Size : recordCount / pager.Size + 1; var sort = new string[] { "ID" }; var list = query.Paged(pager.Index, pager.Size).OrderDesc(sort).ExecuteTypedList <Article>(); var newlist = (from l in list select new { ID = l.ID, Number = l.Number, Title = l.Title, Cover = l.Cover, CreateDate = l.CreateDate.ToString("yyyy-MM-dd hh:mm:ss"), ArticlePower = l.ArticlePower, ArticlePowerPwd = l.ArticlePowerPwd }); result.result = true; result.message = new { currpage = pager.Index, records = recordCount, totalpage = totalPage, list = newlist }; } catch (Exception ex) { LogHelper.ErrorLoger.Error("Api_Article_LinkAll:" + ex.Message); result.message = ex.Message; } return(JsonConvert.SerializeObject(result)); }
public string Edit() { ApiResult result = new ApiResult(); try { User user = GetUserInfo(); if (user == null) { result.message = EnumBase.GetDescription(typeof(Enum_ErrorCode), Enum_ErrorCode.UnLogin); result.code = Enum_ErrorCode.UnLogin; return(JsonConvert.SerializeObject(result)); } var ToUserNumber = ZNRequest.GetString("ToUserNumber"); if (string.IsNullOrWhiteSpace(ToUserNumber)) { result.message = "参数异常"; return(JsonConvert.SerializeObject(result)); } var exist = db.Exists <Black>(x => x.CreateUserNumber == user.Number && x.ToUserNumber == ToUserNumber); if (exist) { user.Follows = db.Find <Fan>(x => x.CreateUserNumber == user.Number).Count; result.result = true; result.message = user.Follows; } Black model = new Black(); model.ToUserNumber = ToUserNumber; model.CreateDate = DateTime.Now; model.CreateUserNumber = user.Number; model.CreateIP = Tools.GetClientIP; var success = Tools.SafeInt(db.Add <Black>(model)) > 0; if (success) { //取消关注 var fan = db.Single <Fan>(x => x.CreateUserNumber == user.Number && x.ToUserNumber == ToUserNumber); if (fan != null) { db.Delete <Fan>(fan.ID); } user.Follows = db.Find <Fan>(x => x.CreateUserNumber == user.Number).Count; result.result = true; result.message = user.Follows; } } catch (Exception ex) { LogHelper.ErrorLoger.Error("Api_Black_Edit:" + ex.Message); result.message = ex.Message; } return(JsonConvert.SerializeObject(result)); }
public string Used() { ApiResult result = new ApiResult(); try { User user = GetUserInfo(); if (user == null) { result.message = EnumBase.GetDescription(typeof(Enum_ErrorCode), Enum_ErrorCode.UnLogin); result.code = Enum_ErrorCode.UnLogin; return(JsonConvert.SerializeObject(result)); } var number = ZNRequest.GetString("Number"); if (string.IsNullOrWhiteSpace(number)) { result.message = "参数异常"; return(JsonConvert.SerializeObject(result)); } var model = db.Single <Background>(x => x.Number == number); if (model == null) { result.message = "信息异常"; return(JsonConvert.SerializeObject(result)); } model.IsUsed = Enum_Used.Approved; var success = db.Update <Background>(model) > 0; if (success) { //取消启用 var list = db.Find <Background>(x => x.ArticleNumber == model.ArticleNumber && x.Number != model.Number && x.IsUsed == Enum_Used.Approved).ToList(); if (list.Count > 0) { list.ForEach(x => { x.IsUsed = Enum_Used.Audit; }); db.UpdateMany <Background>(list); } result.result = true; result.message = model.Number; } } catch (Exception ex) { LogHelper.ErrorLoger.Error("Api_Background_Edit" + ex.Message); result.message = ex.Message; } return(JsonConvert.SerializeObject(result)); }
public string Edit() { ApiResult result = new ApiResult(); try { User user = GetUserInfo(); if (user == null) { result.message = EnumBase.GetDescription(typeof(Enum_ErrorCode), Enum_ErrorCode.UnLogin); result.code = Enum_ErrorCode.UnLogin; return(JsonConvert.SerializeObject(result)); } var number = ZNRequest.GetString("ArticleNumber"); var url = ZNRequest.GetString("ShowyUrl"); if (string.IsNullOrWhiteSpace(number)) { result.message = "参数异常"; return(JsonConvert.SerializeObject(result)); } ArticleCustom model = db.Single <ArticleCustom>(x => x.ArticleNumber == number); if (model == null) { model = new ArticleCustom(); model.ArticleNumber = number; } model.ShowyUrl = url; var success = false; if (model.ID == 0) { success = Tools.SafeInt(db.Add <ArticleCustom>(model)) > 0; } else { success = db.Update <ArticleCustom>(model) > 0; } if (success) { result.result = true; result.message = "success"; } } catch (Exception ex) { LogHelper.ErrorLoger.Error("Api_ArticleCustom_Edit" + ex.Message); result.message = ex.Message; } return(JsonConvert.SerializeObject(result)); }
public string Import() { ApiResult result = new ApiResult(); try { User user = GetUserInfo(); if (user == null) { result.message = EnumBase.GetDescription(typeof(Enum_ErrorCode), Enum_ErrorCode.UnLogin); result.code = Enum_ErrorCode.UnLogin; return(JsonConvert.SerializeObject(result)); } var urls = ZNRequest.GetString("Url"); var number = ZNRequest.GetString("ArticleNumber"); if (string.IsNullOrWhiteSpace(urls)) { result.message = "信息异常"; return(JsonConvert.SerializeObject(result)); } var list = new List <ArticlePartJson>(); var url = urls.Split(',').ToList(); url.ForEach(x => { var model = new ArticlePart(); model.Introduction = x; model.IntroExpand = string.Empty; model.ArticleNumber = number; model.Types = Enum_ArticlePart.Pic; model.CreateUserNumber = user.Number; model.CreateIP = Tools.GetClientIP; model.CreateDate = DateTime.Now; model.Status = Enum_Status.Audit; model.SortID = 0; var id = Tools.SafeInt(db.Add <ArticlePart>(model)); list.Add(new ArticlePartJson(id, x)); }); result.result = true; result.message = list; } catch (Exception ex) { LogHelper.ErrorLoger.Error("Api_ArticlePart_Import" + ex.Message); result.message = ex.Message; } return(JsonConvert.SerializeObject(result)); }
public string Delete() { ApiResult result = new ApiResult(); try { User user = GetUserInfo(); if (user == null) { result.message = EnumBase.GetDescription(typeof(Enum_ErrorCode), Enum_ErrorCode.UnLogin); result.code = Enum_ErrorCode.UnLogin; return(JsonConvert.SerializeObject(result)); } var number = ZNRequest.GetString("Number"); var model = db.Single <Background>(x => x.Number == number); if (model == null) { result.message = "背景信息验证失败"; return(JsonConvert.SerializeObject(result)); } if (model.CreateUserNumber != user.Number) { result.code = Enum_ErrorCode.NoPower; result.message = "没有权限"; return(JsonConvert.SerializeObject(result)); } var success = db.Delete <Background>(model.ID) > 0; if (success) { result.result = true; result.message = model; } else { result.message = "删除失败"; } } catch (Exception ex) { LogHelper.ErrorLoger.Error("Api_Background_Delete:" + ex.Message); result.message = ex.Message; } return(JsonConvert.SerializeObject(result)); }
public string ToMe_1_4() { ApiResult result = new ApiResult(); try { var UserNumber = ZNRequest.GetString("UserNumber"); if (string.IsNullOrWhiteSpace(UserNumber)) { result.message = new { records = 0, totalpage = 1 }; return(JsonConvert.SerializeObject(result)); } var query = new SubSonic.Query.Select(provider).From <Red>().Where <Red>(x => x.ToUserNumber == UserNumber); var recordCount = query.GetRecordCount(); if (recordCount == 0) { result.message = new { records = 0, totalpage = 1 }; return(JsonConvert.SerializeObject(result)); } var pager = new Pager(); var totalPage = recordCount % pager.Size == 0 ? recordCount / pager.Size : recordCount / pager.Size + 1; var list = query.Paged(pager.Index, pager.Size).OrderDesc("ID").ExecuteTypedList <Red>(); list.ForEach(x => { x.RedTypeText = EnumBase.GetDescription(typeof(Enum_RedType), x.RedType); x.CreateDateText = x.CreateDate.ToString("yyyy-MM-dd hh:mm:ss"); }); result.result = true; result.message = new { currpage = pager.Index, records = recordCount, totalpage = totalPage, list = list }; } catch (Exception ex) { LogHelper.ErrorLoger.Error("Api_Red_ToMe_1_3:" + ex.Message); result.message = ex.Message; } return(JsonConvert.SerializeObject(result)); }
/// <summary> /// Get specific dataBase /// </summary> /// <param name="dataBase">Wich dataBase</param> /// <returns>The database you ask for</returns> private static List <NDS_Rom> GetDataBase(EnumBase dataBase) { List <NDS_Rom> database = new List <NDS_Rom>(); switch (dataBase) { case EnumBase.AdvanScene: database = _ndsAdvanScene.DataBase; break; case EnumBase.Collection: database = _ndsCollection.NdsDataBase; break; case EnumBase.CollectionMissing: database = NdsCollectionMissing; break; } return(database); }
public string Delete() { ApiResult result = new ApiResult(); try { User user = GetUserInfo(); if (user == null) { result.message = EnumBase.GetDescription(typeof(Enum_ErrorCode), Enum_ErrorCode.UnLogin); result.code = Enum_ErrorCode.UnLogin; return(JsonConvert.SerializeObject(result)); } var ToUserNumber = ZNRequest.GetString("ToUserNumber"); if (string.IsNullOrWhiteSpace(ToUserNumber)) { result.message = "参数异常"; return(JsonConvert.SerializeObject(result)); } var model = db.Single <Black>(x => x.CreateUserNumber == user.Number && x.ToUserNumber == ToUserNumber); if (model == null) { result.message = "信息异常"; return(JsonConvert.SerializeObject(result)); } var success = db.Delete <Black>(model.ID) > 0; if (success) { result.result = true; result.message = ""; } } catch (Exception ex) { LogHelper.ErrorLoger.Error("Api_Black_Delete:" + ex.Message); result.message = ex.Message; } return(JsonConvert.SerializeObject(result)); }
private bool ExecuteCommand(MethodInfo method, OpenPlayer player, string[] args, out object result) { Log.Info($"Execute command {method}"); result = null; var parameters = method.GetParameters(); int addLenght = 0; if (parameters.Length > 0 && typeof(OpenPlayer).IsAssignableFrom(parameters[0].ParameterType)) { addLenght = 1; } object[] objectArgs = new object[parameters.Length]; try { int i = 0; for (int k = 0; k < parameters.Length; k++) { var parameter = parameters[k]; if (k == 0 && addLenght == 1) { if (typeof(OpenPlayer).IsAssignableFrom(parameter.ParameterType)) { objectArgs[k] = player; continue; } Log.WarnFormat("Command method {0} missing Player as first argument.", method.Name); return(false); } if (PluginManager.Services.TryResolve(parameter.ParameterType, out var param)) { objectArgs[k] = param; continue; } if (parameter.IsOptional && args.Length <= i) { objectArgs[k] = parameter.DefaultValue; continue; } if (args.Length < k) { return(false); } if (typeof(IParameterSerializer).IsAssignableFrom(parameter.ParameterType)) { var ctor = parameter.ParameterType.GetConstructor(Type.EmptyTypes); IParameterSerializer defaultValue = ctor.Invoke(null) as IParameterSerializer; defaultValue?.Deserialize(player, args[i++]); objectArgs[k] = defaultValue; continue; } if (typeof(CustomEnum).IsAssignableFrom(parameter.ParameterType)) { var ctor = parameter.ParameterType.GetConstructor(Type.EmptyTypes); CustomEnum c = ctor.Invoke(null) as CustomEnum; if (!c.SetValue(args[i++])) { return(false); } objectArgs[k] = c; continue; //param.EnumType = c. } if (parameter.ParameterType.BaseType == typeof(EnumBase)) { var ctor = parameter.ParameterType.GetConstructor(Type.EmptyTypes); EnumBase instance = (EnumBase)ctor.Invoke(null); instance.Value = args[i++]; objectArgs[k] = instance; continue; } if (parameter.ParameterType == typeof(Target)) { var target = FillTargets(player, player.Level, args[i++]); objectArgs[k] = target; continue; } if (parameter.ParameterType == typeof(BlockPos)) { if (args.Length < i + 3) { return(false); } BlockPos blockPos = new BlockPos(); string val = args[i++]; if (val.StartsWith("~")) { val = val.Substring(1); blockPos.XRelative = true; } int.TryParse(val, out var x); blockPos.X = x; val = args[i++]; if (val.StartsWith("~")) { val = val.Substring(1); blockPos.YRelative = true; } int.TryParse(val, out var y); blockPos.Y = y; val = args[i++]; if (val.StartsWith("~")) { val = val.Substring(1); blockPos.ZRelative = true; } int.TryParse(val, out var z); blockPos.Z = z; objectArgs[k] = blockPos; continue; } if (parameter.ParameterType == typeof(string)) { objectArgs[k] = args[i++]; continue; } if (parameter.ParameterType == typeof(byte)) { byte value; if (!byte.TryParse(args[i++], out value)) { return(false); } objectArgs[k] = value; continue; } if (parameter.ParameterType == typeof(short)) { short value; if (!short.TryParse(args[i++], out value)) { return(false); } objectArgs[k] = value; continue; } if (parameter.ParameterType == typeof(int)) { int value; if (!int.TryParse(args[i++], out value)) { return(false); } objectArgs[k] = value; continue; } if (parameter.ParameterType == typeof(bool)) { bool value; if (!bool.TryParse(args[i++], out value)) { return(false); } objectArgs[k] = value; continue; } if (parameter.ParameterType == typeof(float)) { float value; if (!float.TryParse(args[i++], out value)) { return(false); } objectArgs[k] = value; continue; } if (parameter.ParameterType == typeof(double)) { double value; if (!double.TryParse(args[i++], out value)) { return(false); } objectArgs[k] = value; continue; } if (parameter.ParameterType.IsEnum) { string val = args[i++]; Enum value = Enum.Parse(parameter.ParameterType, val, true) as Enum; if (value == null) { Log.Error($"Could not convert to valid enum value: {val}"); continue; } objectArgs[k] = value; continue; } if (IsParams(parameter) && parameter.ParameterType == typeof(string[])) { List <string> strings = new List <string>(); for (int j = i++; j < args.Length; j++) { strings.Add(args[j]); } objectArgs[k] = strings.ToArray(); continue; } return(false); } } catch (Exception e) { // if (Log.IsDebugEnabled) { Log.Error("Trying to execute command overload", e); } return(false); } try { if (method.IsStatic) { result = method.Invoke(null, objectArgs); } else { if (_pluginCommands.TryGetValue(method, out CommandData data)) { object instance = data.Instance; Plugin.CurrentPlayer = player; // Setting thread local for call result = method.Invoke(instance, objectArgs); Plugin.CurrentPlayer = null; } else { Log.Warn($"Could not find instance of command's declaringtype!"); return(false); } } return(true); } catch (Exception e) { Log.Error($"Error while executing command {method}", e); } return(false); }
public override bool Evaluate(BigInteger value) => EnumBase.IsIn(ReferenceValue, value);
public string CommentZanEdit() { ApiResult result = new ApiResult(); try { User user = GetUserInfo(); if (user == null) { result.message = EnumBase.GetDescription(typeof(Enum_ErrorCode), Enum_ErrorCode.UnLogin); result.code = Enum_ErrorCode.UnLogin; return(JsonConvert.SerializeObject(result)); } var number = ZNRequest.GetString("CommentNumber"); if (string.IsNullOrWhiteSpace(number)) { result.message = "评论信息异常"; return(JsonConvert.SerializeObject(result)); } Comment comment = new SubSonic.Query.Select(provider, "ID", "CreateUserNumber", "Goods", "Number").From <Comment>().Where <Comment>(x => x.Number == number).ExecuteSingle <Comment>(); if (comment == null) { result.message = "评论信息异常"; return(JsonConvert.SerializeObject(result)); } //判断是否拉黑 var black = db.Exists <Black>(x => x.CreateUserNumber == comment.CreateUserNumber && x.ToUserNumber == user.Number); if (black) { result.code = Enum_ErrorCode.NoPower; result.message = "没有权限"; return(JsonConvert.SerializeObject(result)); } var success = 0; var model = db.Single <CommentZan>(x => x.CreateUserNumber == user.Number && x.CommentNumber == number); var goods = model == null ? comment.Goods + 1 : comment.Goods - 1; //是否新增 var isadd = model == null ? 0 : 1; if (model == null) { model = new CommentZan(); model.CreateDate = DateTime.Now; model.CreateUserNumber = user.Number; model.CreateIP = Tools.GetClientIP; model.CommentNumber = number; success = Tools.SafeInt(db.Add <CommentZan>(model)); } else { success = db.Delete <CommentZan>(model.ID); } if (success > 0) { if (goods < 0) { goods = 0; } new SubSonic.Query.Update <Comment>(provider).Set("Goods").EqualTo(goods).Where <Comment>(x => x.ID == comment.ID).Execute(); result.result = true; result.message = isadd + "|" + goods; } } catch (Exception ex) { LogHelper.ErrorLoger.Error("Api_Zan_CommentZanEdit" + ex.Message); result.message = ex.Message; } return(JsonConvert.SerializeObject(result)); }
public string Edit() { ApiResult result = new ApiResult(); try { User user = GetUserInfo(); if (user == null) { result.message = EnumBase.GetDescription(typeof(Enum_ErrorCode), Enum_ErrorCode.UnLogin); result.code = Enum_ErrorCode.UnLogin; return(JsonConvert.SerializeObject(result)); } var articleID = ZNRequest.GetInt("ArticleID"); if (articleID <= 0) { result.message = "参数异常"; return(JsonConvert.SerializeObject(result)); } Article article = new SubSonic.Query.Select(provider, "ID", "CreateUserNumber", "Goods", "Number").From <Article>().Where <Article>(x => x.ID == articleID).ExecuteSingle <Article>(); if (article == null) { result.message = "文章信息异常"; return(JsonConvert.SerializeObject(result)); } //判断是否拉黑 var black = db.Exists <Black>(x => x.CreateUserNumber == article.CreateUserNumber && x.ToUserNumber == user.Number); if (black) { result.code = Enum_ErrorCode.NoPower; result.message = "没有权限"; return(JsonConvert.SerializeObject(result)); } var success = 0; var model = db.Single <ArticleZan>(x => x.CreateUserNumber == user.Number && x.ArticleNumber == article.Number); var goods = model == null ? article.Goods + 1 : article.Goods - 1; //是否新增 var isadd = model == null ? 0 : 1; if (model == null) { model = new ArticleZan(); model.CreateDate = DateTime.Now; model.CreateUserNumber = user.Number; model.CreateIP = Tools.GetClientIP; model.ArticleNumber = article.Number; model.ArticleUserNumber = article.CreateUserNumber; success = Tools.SafeInt(db.Add <ArticleZan>(model)); //操作记录 var now = DateTime.Now.ToString("yyyy-MM-dd"); var action = db.Single <UserAction>(x => x.CreateUserNumber == user.Number && x.CreateTimeText == now && x.ActionType == Enum_ActionType.Like); LogHelper.ErrorLoger.Error(JsonConvert.SerializeObject(action)); if (action == null) { action = new UserAction(); action.CreateUserNumber = user.Number; action.ActionType = Enum_ActionType.Like; action.CreateTime = DateTime.Now; action.CreateTimeText = now; action.ActionInfo = article.Number; db.Add <UserAction>(action); } else { if (!action.ActionInfo.Contains(article.Number)) { action.ActionInfo += "," + article.Number; db.Update <UserAction>(action); } } } else { success = db.Delete <ArticleZan>(model.ID); } if (success > 0) { if (goods < 0) { goods = 0; } new SubSonic.Query.Update <Article>(provider).Set("Goods").EqualTo(goods).Where <Article>(x => x.ID == articleID).Execute(); result.result = true; result.message = isadd + "|" + goods; } } catch (Exception ex) { LogHelper.ErrorLoger.Error("Api_Zan_ArticleZanEdit" + ex.Message); result.message = ex.Message; } return(JsonConvert.SerializeObject(result)); }
public string Edit() { ApiResult result = new ApiResult(); try { User user = GetUserInfo(); if (user == null) { result.message = EnumBase.GetDescription(typeof(Enum_ErrorCode), Enum_ErrorCode.UnLogin); result.code = Enum_ErrorCode.UnLogin; return(JsonConvert.SerializeObject(result)); } var number = ZNRequest.GetString("ToUserNumber"); if (string.IsNullOrWhiteSpace(number)) { result.message = "参数异常,请刷新重试"; return(JsonConvert.SerializeObject(result)); } //判断是否拉黑 var black = db.Exists <Black>(x => x.CreateUserNumber == user.Number && x.ToUserNumber == number); if (black) { result.message = "对方已被加入黑名单,请在设置页面解除"; return(JsonConvert.SerializeObject(result)); } Fan model = db.Single <Fan>(x => x.CreateUserNumber == user.Number && x.ToUserNumber == number); if (model == null) { model = new Fan(); model.CreateUserNumber = user.Number; model.ToUserNumber = number; model.CreateDate = DateTime.Now; model.CreateIP = Tools.GetClientIP; var success = Tools.SafeInt(db.Add <Fan>(model)) > 0; if (success) { user.Follows = db.Find <Fan>(x => x.CreateUserNumber == user.Number).Count; result.result = true; result.message = user.Follows; //操作记录 var now = DateTime.Now.ToString("yyyy-MM-dd"); var action = db.Single <UserAction>(x => x.CreateUserNumber == user.Number && x.CreateTimeText == now && x.ActionType == Enum_ActionType.Follow); if (action == null) { action = new UserAction(); action.CreateUserNumber = user.Number; action.ActionType = Enum_ActionType.Follow; action.CreateTime = DateTime.Now; action.CreateTimeText = now; action.ActionInfo = number; db.Add <UserAction>(action); } else { if (!action.ActionInfo.Contains(number)) { action.ActionInfo += "," + number; db.Update <UserAction>(action); } } //推送 new AppHelper().Push(number, 0, "", user.NickName, Enum_PushType.Fan); } } else { result.result = true; result.message = db.Find <Fan>(x => x.CreateUserNumber == user.Number).Count; } } catch (Exception ex) { LogHelper.ErrorLoger.Error("Api_Fan_Edit:" + ex.Message); result.message = ex.Message; } return(JsonConvert.SerializeObject(result)); }
public string Edit() { ApiResult result = new ApiResult(); try { User user = GetUserInfo(); if (user == null) { result.message = EnumBase.GetDescription(typeof(Enum_ErrorCode), Enum_ErrorCode.UnLogin); result.code = Enum_ErrorCode.UnLogin; return(JsonConvert.SerializeObject(result)); } var ArticleNumber = ZNRequest.GetString("ArticleNumber"); if (string.IsNullOrWhiteSpace(ArticleNumber)) { result.message = "文章信息异常"; return(JsonConvert.SerializeObject(result)); } var summary = SqlFilter(ZNRequest.GetString("Summary"), false, false); if (string.IsNullOrWhiteSpace(summary)) { result.message = "请填写评论内容"; return(JsonConvert.SerializeObject(result)); } summary = CutString(summary, 2000); var dirtyword = AppHelper.HasDirtyWord(summary); if (!string.IsNullOrWhiteSpace(dirtyword)) { result.message = "您的输入内容含有敏感内容[" + dirtyword + "],请检查后重试哦"; return(JsonConvert.SerializeObject(result)); } Article article = new SubSonic.Query.Select(provider, "ID", "Number", "CreateUserNumber").From <Article>().Where <Article>(x => x.Number == ArticleNumber).ExecuteSingle <Article>(); if (article == null) { result.message = "文章信息异常"; return(JsonConvert.SerializeObject(result)); } //判断是否拉黑 var black = db.Exists <Black>(x => x.CreateUserNumber == article.CreateUserNumber && x.ToUserNumber == user.Number); if (black) { result.code = Enum_ErrorCode.NoPower; result.message = "没有权限"; return(JsonConvert.SerializeObject(result)); } Comment model = new Comment(); model.ArticleNumber = article.Number; model.ArticleUserNumber = article.CreateUserNumber; model.Summary = summary; model.Number = BuildNumber(); model.CreateDate = DateTime.Now; model.CreateUserNumber = user.Number; model.CreateIP = Tools.GetClientIP; model.ParentCommentNumber = ZNRequest.GetString("ParentCommentNumber"); model.ParentUserNumber = ZNRequest.GetString("ParentUserNumber"); model.Province = ZNRequest.GetString("Province"); model.City = ZNRequest.GetString("City"); model.District = ZNRequest.GetString("District"); model.Street = ZNRequest.GetString("Street"); model.DetailName = ZNRequest.GetString("DetailName"); model.CityCode = ZNRequest.GetString("CityCode"); model.Latitude = Tools.SafeDouble(ZNRequest.GetString("Latitude")); model.Longitude = Tools.SafeDouble(ZNRequest.GetString("Longitude")); model.ShowPosition = ZNRequest.GetInt("ShowPosition"); model.ID = Tools.SafeInt(db.Add <Comment>(model)); if (model.ID > 0) { result.result = true; result.message = model.ID; //推送 new AppHelper().Push(article.CreateUserNumber, article.ID, article.Number, user.NickName, Enum_PushType.Comment, false); } } catch (Exception ex) { LogHelper.ErrorLoger.Error("Api_Comment_Edit:" + ex.Message); result.message = ex.Message; } return(JsonConvert.SerializeObject(result)); }
private object ExecuteCommand(MethodInfo method, Player player, string[] args) { var parameters = method.GetParameters(); int addLenght = 0; if (parameters.Length > 0 && typeof(Player).IsAssignableFrom(parameters[0].ParameterType)) { addLenght = 1; } object[] objectArgs = new object[parameters.Length]; for (int k = 0; k < parameters.Length; k++) { var parameter = parameters[k]; int i = k - addLenght; if (k == 0 && addLenght == 1) { if (typeof(Player).IsAssignableFrom(parameter.ParameterType)) { objectArgs[k] = player; continue; } return(null); } if (parameter.IsOptional && args.Length <= i) { objectArgs[k] = parameter.DefaultValue; continue; } if (typeof(IParameterSerializer).IsAssignableFrom(parameter.ParameterType)) { var ctor = parameter.ParameterType.GetConstructor(Type.EmptyTypes); IParameterSerializer defaultValue = ctor.Invoke(null) as IParameterSerializer; defaultValue?.Deserialize(player, args[i]); objectArgs[k] = defaultValue; continue; } if (parameter.ParameterType.BaseType == typeof(EnumBase)) { var ctor = parameter.ParameterType.GetConstructor(Type.EmptyTypes); EnumBase instance = (EnumBase)ctor.Invoke(null); instance.Value = args[i]; objectArgs[k] = instance; continue; } if (parameter.ParameterType == typeof(Target)) { var target = JsonConvert.DeserializeObject <Target>(args[i]); target = FillTargets(player, player.Level, target); objectArgs[k] = target; continue; } if (parameter.ParameterType == typeof(BlockPos)) { var blockpos = JsonConvert.DeserializeObject <BlockPos>(args[i]); objectArgs[k] = blockpos; continue; } if (parameter.ParameterType == typeof(string)) { objectArgs[k] = args[i]; continue; } if (parameter.ParameterType == typeof(byte)) { byte value; if (!byte.TryParse(args[i], out value)) { return(null); } objectArgs[k] = value; continue; } if (parameter.ParameterType == typeof(short)) { short value; if (!short.TryParse(args[i], out value)) { return(null); } objectArgs[k] = value; continue; } if (parameter.ParameterType == typeof(int)) { int value; if (!int.TryParse(args[i], out value)) { return(null); } objectArgs[k] = value; continue; } if (parameter.ParameterType == typeof(bool)) { bool value; if (!bool.TryParse(args[i], out value)) { return(null); } objectArgs[k] = value; continue; } if (parameter.ParameterType == typeof(float)) { float value; if (!float.TryParse(args[i], out value)) { return(null); } objectArgs[k] = value; continue; } if (parameter.ParameterType == typeof(double)) { double value; if (!double.TryParse(args[i], out value)) { return(null); } objectArgs[k] = value; continue; } if (parameter.ParameterType.IsEnum) { Enum value = Enum.Parse(parameter.ParameterType, args[i], true) as Enum; if (value == null) { continue; } objectArgs[k] = value; continue; } if (IsParams(parameter) && parameter.ParameterType == typeof(string[])) { List <string> strings = new List <string>(); for (int j = i; j < args.Length; j++) { strings.Add(args[j]); } objectArgs[k] = strings.ToArray(); continue; } return(null); } return(null); }
public string Edit() { ApiResult result = new ApiResult(); try { User user = GetUserInfo(); if (user == null) { result.message = EnumBase.GetDescription(typeof(Enum_ErrorCode), Enum_ErrorCode.UnLogin); result.code = Enum_ErrorCode.UnLogin; return(JsonConvert.SerializeObject(result)); } var number = ZNRequest.GetString("ArticleNumber"); var url = ZNRequest.GetString("Url"); if (string.IsNullOrWhiteSpace(number) || string.IsNullOrWhiteSpace(url)) { result.message = "信息异常"; return(JsonConvert.SerializeObject(result)); } var id = ZNRequest.GetInt("EditID"); Background model = new Background(); if (id > 0) { model = db.Single <Background>(x => x.ID == id); } else { model.Number = BuildNumber(); model.ArticleNumber = number; model.CreateUserNumber = user.Number; model.IsUsed = Enum_Used.Approved; } model.Full = ZNRequest.GetInt("Full"); model.High = ZNRequest.GetInt("High"); model.Transparency = ZNRequest.GetInt("Transparency"); model.Url = url; var success = false; if (id == 0) { success = Tools.SafeInt(db.Add <Background>(model)) > 0; if (success) { //取消启用 var list = db.Find <Background>(x => x.ArticleNumber == number && x.Number != model.Number && x.IsUsed == Enum_Used.Approved).ToList(); if (list.Count > 0) { list.ForEach(x => { x.IsUsed = Enum_Used.Audit; }); db.UpdateMany <Background>(list); } } } else { success = db.Update <Background>(model) > 0; } if (success) { result.result = true; result.message = model.Number; } } catch (Exception ex) { LogHelper.ErrorLoger.Error("Api_Background_Edit" + ex.Message); result.message = ex.Message; } return(JsonConvert.SerializeObject(result)); }
public string Edit() { ApiResult result = new ApiResult(); try { User user = GetUserInfo(); if (user == null) { result.message = EnumBase.GetDescription(typeof(Enum_ErrorCode), Enum_ErrorCode.UnLogin); result.code = Enum_ErrorCode.UnLogin; return(JsonConvert.SerializeObject(result)); } var articleID = ZNRequest.GetInt("ArticleID"); if (articleID <= 0) { result.message = "参数异常"; return(JsonConvert.SerializeObject(result)); } Article article = new SubSonic.Query.Select(provider, "ID", "CreateUserNumber", "Number").From <Article>().Where <Article>(x => x.ID == articleID).ExecuteSingle <Article>(); if (article == null) { result.message = "文章信息异常"; return(JsonConvert.SerializeObject(result)); } Keep model = db.Single <Keep>(x => x.CreateUserNumber == user.Number && x.ArticleNumber == article.Number); if (model == null) { model = new Keep(); model.CreateDate = DateTime.Now; model.CreateUserNumber = user.Number; model.CreateIP = Tools.GetClientIP; } else { result.result = true; result.message = ""; return(JsonConvert.SerializeObject(result)); } model.ArticleNumber = article.Number; model.ArticleUserNumber = article.CreateUserNumber; var success = Tools.SafeInt(db.Add <Keep>(model)) > 0; if (success) { result.result = true; result.message = user.Follows; //操作记录 var now = DateTime.Now.ToString("yyyy-MM-dd"); var action = db.Single <UserAction>(x => x.CreateUserNumber == user.Number && x.CreateTimeText == now && x.ActionType == Enum_ActionType.Keep); if (action == null) { action = new UserAction(); action.CreateUserNumber = user.Number; action.ActionType = Enum_ActionType.Keep; action.CreateTime = DateTime.Now; action.CreateTimeText = now; action.ActionInfo = article.Number; db.Add <UserAction>(action); } else { if (!action.ActionInfo.Contains(article.Number)) { action.ActionInfo += "," + article.Number; db.Update <UserAction>(action); } } } } catch (Exception ex) { LogHelper.ErrorLoger.Error("Api_Keep_Edit:" + ex.Message); result.message = ex.Message; } return(JsonConvert.SerializeObject(result)); }
int ParseArguments (String[] args) { bool help = false; var p = new OptionSet { { "h|?|help", "Show this help message", v => help = v != null }, { "o=|out=", "Set the output directory", v => OutputDir = v }, { "ns=|namespace=", "Set the namespace of the generated code", v => Lib.BaseNamespace = v }, { "lib=", "The base name of the C++ library, i.e. 'qt' for libqt.so", v =>Lib.BaseName = v }, { "filters=", "A file containing filter directives for filtering classes", v => FilterFile = v }, { "inline=", "Inline methods in lib are: notpresent (default), present, surrogatelib (present in %lib%-inline)", v => Lib.InlinePolicy = (InlineMethods)Enum.Parse (typeof (InlineMethods), v, true) } }; try { args = p.Parse (args).ToArray (); } catch (OptionException) { Console.WriteLine ("Try `generator --help' for more information."); return 1; } if (help) { p.WriteOptionDescriptions (Console.Error); return 1; } if (args.Length != 1) { Console.WriteLine ("Usage: generator <options> <input xml file>"); return 1; } // Code templates LibsTemplate = new CSharpLibs (); ClassTemplate = new CSharpClass (); EnumTemplate = new CSharpEnum (); InputFileName = args [0]; if (Lib.BaseName == null) { Console.WriteLine ("The --lib= option is required."); return 1; } if (Lib.BaseNamespace == null) { Lib.BaseNamespace = Path.GetFileNameWithoutExtension (Lib.BaseName); } if (OutputDir == null) OutputDir = "output"; return 0; }