/// <summary> /// Retrieves all record.. /// </summary> public RESTQueryResponse <T> GetByQuery <T>(string query) { var response = new RESTQueryResponse <T>(); try { _TableName = TableResolver.GetTableName <T>(); var request = new RestRequest(Method.GET); ServiceNowClient.BaseUrl = new Uri(URL); IRestResponse res = ServiceNowClient.Execute(request); if (res.StatusCode == HttpStatusCode.OK) { RESTQueryResponse <T> tmp = JsonConvert.DeserializeObject <RESTQueryResponse <T> >(res.Content); if (tmp != null) { response.Result = tmp.Result; } } } catch (WebException ex) { response.ErrorMsg = ParseWebException(ex); } catch (Exception ex) { response.ErrorMsg = "An error occured retrieving the REST response: " + ex.Message; } return(response); }
protected override OutputData DoGet(IInputData input) { using (TableResolver resolver = PlugInFactoryManager.CreateInstance <TableResolver>( ResolverPlugInFactory.REG_NAME, "TaxDocument", this)) { MetaDataTableResolver metaResolver = resolver as MetaDataTableResolver; string conditionStr = string.Empty; if (metaResolver != null) { Dictionary <string, string> query = new Dictionary <string, string> { { "Title", input.QueryString["Title"] } }; IParamBuilder builder = metaResolver.GetQueryCondition(new QueryConditionObject(false, query)); if (builder != null) { QueryCondition condition = new QueryCondition(query, builder); conditionStr = "&Condition=" + HttpUtility.UrlEncode(condition.ToEncodeString()); } } string url = WebUtil.ResolveUrl("~/Library/WebListXmlPage.tkx?Source=Cxcs/FaGui"); return(OutputData.Create(url + conditionStr)); } }
public RESTSingleResponse <TResult> Post <TResult, TParam>(TParam @params) { string _params = JsonConvert.SerializeObject(@params, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); var response = new RESTSingleResponse <TResult>(); _TableName = TableResolver.GetTableName <TResult>(); var request = new RestRequest(Method.POST); ServiceNowClient.BaseUrl = new Uri(URL); request.AddParameter("application/json", _params, ParameterType.RequestBody); IRestResponse res = ServiceNowClient.Execute(request); if (res.StatusCode != HttpStatusCode.BadRequest) { RESTSingleResponse <TResult> tmp = JsonConvert.DeserializeObject <RESTSingleResponse <TResult> >(res.Content); if (tmp != null) { response.Result = tmp.Result; } } return(response); }
public RESTSingleResponse <TResult> Put <TResult, TParam>(TParam @params, string id) { string _params = JsonConvert.SerializeObject(@params, Formatting.None, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); var response = new RESTSingleResponse <TResult>(); _TableName = TableResolver.GetTableName <TResult>(); var request = new RestRequest(Method.PUT); ServiceNowClient.BaseUrl = new Uri($"{URL}/{id}"); request.AddHeader("accept", "application/json"); //request.AddHeader("authorization", "Basic T01TX0FwcF9Vc2VyOjBzY2FyOTk="); //request.AddHeader("content-type", "application/json"); request.AddParameter("application/json", _params, ParameterType.RequestBody); IRestResponse res = ServiceNowClient.Execute(request); if (res.StatusCode != HttpStatusCode.BadRequest) { RESTSingleResponse <TResult> tmp = JsonConvert.DeserializeObject <RESTSingleResponse <TResult> >(res.Content); if (tmp != null) { response.Result = tmp.Result; } } return(response); }
public RESTQueryResponse <TResult> GetByQuery <TResult, TParam>(TParam param) where TParam : class { var response = new RESTQueryResponse <TResult>(); try { var query = ParameterParser.Parse(param); _TableName = TableResolver.GetTableName <TResult>(); var request = new RestRequest(Method.GET); ServiceNowClient.BaseUrl = new Uri($"{URL}?{query}"); IRestResponse res = ServiceNowClient.Execute(request); if (res.StatusCode == HttpStatusCode.OK) { RESTQueryResponse <TResult> tmp = JsonConvert.DeserializeObject <RESTQueryResponse <TResult> >(res.Content); if (tmp != null) { response.Result = tmp.Result; } } } catch (WebException ex) { response.ErrorMsg = ParseWebException(ex); } catch (Exception ex) { response.ErrorMsg = "An error occured retrieving the REST response: " + ex.Message; } return(response); }
public static void FillCodeTable(this TableResolver resolver, IPageStyle style) { MetaDataTableResolver metaResolver = resolver as MetaDataTableResolver; if (metaResolver != null) { metaResolver.FillCodeTable(style); } }
private static void ReadDb() { EmptyDbDataSource source = new EmptyDbDataSource(); TableResolver resolver = new TableResolver("WE_CORP_USER", source); resolver.Select(); foreach (DataRow row in resolver.HostTable.Rows) { CorpUser user = new CorpUser("1", "user", new int[] { 1 }); user.ReadFromDataRow(row, "CorpUser"); Console.WriteLine(user); } }
private static void Synchronize() { var luser = CorpDepartment.GetAllUsers(1, true); Dictionary<string, bool> userId = new Dictionary<string, bool>(); foreach (var lu in luser.UserList) userId.Add(lu.Id, false); Dictionary<string, CorpUser> DbId = new Dictionary<string, CorpUser>(); EmptyDbDataSource source = new EmptyDbDataSource(); TableResolver resolver = new TableResolver("WE_CORP_USER", source); resolver.Select(); foreach (DataRow db in resolver.HostTable.Rows) { CorpUser user = new CorpUser("1", "user", new int[] { 1 }); bool isDelete = db["ValidFlag"].Value<bool>(); user.ReadFromDataRow(db, "CorpUser"); if (isDelete == true) { user.Delete(); } else { user.Enable = true; DbId.Add(user.Id, user); } } foreach (var v in DbId) if (userId.ContainsKey(v.Key)) { userId[v.Key] = true; v.Value.Update(); } else { userId.Add(v.Key, true); v.Value.Create(); } var remainder = from u in userId where !u.Value select u.Key; foreach (var rd in remainder) { CorpUser user = new CorpUser(rd, "user", new int[] { 1 }); user.Delete(); } }
public HttpStatusCode Delete <T>(string id) { try { _TableName = TableResolver.GetTableName <T>(); var request = new RestRequest(Method.DELETE); ServiceNowClient.BaseUrl = new Uri(URL + "/" + id); IRestResponse res = ServiceNowClient.Execute(request); return(res.StatusCode); } catch (WebException ex) { string ErrorMsg = ParseWebException(ex); throw new Exception(ErrorMsg); } }
public BaseSendMessage Reply(ReceiveMessage message) { TkDbContext context = DbContextUtil.CreateDbContext("Weixin"); using (EmptyDbDataSource source = new EmptyDbDataSource() { Context = context}) using (TableResolver resolver = new TableResolver("WE_CORP_APP_LOG", source)) { resolver.SetCommands(AdapterCommand.Insert); DataRow row = resolver.NewRow(); row.BeginEdit(); row["LogId"] = resolver.CreateUniId(); row["AppId"] = message.AgentId; row["CreateDate"] = message.CreateTime; row["UserId"] = message.FromUserName; row.EndEdit(); resolver.UpdateDatabase(); } return null; }
private static void DownSync() { WeFanContainter container = WeFanContainter.GetFans(); DateTime timeNow = DateTime.Now; int timeVersion = (int)timeNow.ToOADate(); using (EmptyDbDataSource source = new EmptyDbDataSource()) using (TableResolver resolver = new TableResolver("WE_USER", source)) { resolver.SetCommands(AdapterCommand.Insert | AdapterCommand.Update); while (true) { if (container.OpenIds == null) break; foreach (var openId in container.OpenIds) { WeUser user = WeUser.GetUser(openId); DataRow row = resolver.TrySelectRowWithKeys(openId); if (row == null) row = resolver.NewRow(); user.AddToDataRow(row, WeConst.USER_MODE); row["Version"] = timeVersion; } resolver.UpdateDatabase(); resolver.HostTable.Rows.Clear(); if (string.IsNullOrEmpty(container.NextOpenId)) break; else container = WeFanContainter.GetFans(container); } resolver.HostTable.Rows.Clear(); IParamBuilder builder = SqlParamBuilder.CreateParamBuilder( SqlParamBuilder.CreateSingleSql(source.Context, "WU_VERSION", TkDataType.Int, "!=", timeVersion), ParamBuilder.CreateSql("WU_SUBSCRIBE = 1")); resolver.Select(builder); foreach (DataRow row in resolver.HostTable.Rows) { row["subscribe"] = 0; } resolver.UpdateDatabase(); } }
static void Main(string[] args) { if (!ConsoleApp.Initialize()) return; string fileName = @"D:\C#\微信完整分类.csv"; DataSet dSet = CSVUtility.OpenCSV(fileName); using (EmptyDbDataSource source = new EmptyDbDataSource()) using (TableResolver resolver = new TableResolver("WE_CATEGORY", source)) { resolver.SetCommands(AdapterCommand.Insert); DataRow newRow; foreach (DataRow row in dSet.Tables[0].Rows) { newRow = resolver.NewRow(); row.AddToDataRow(newRow); } // resolver.UpdateDatabase(); } }
public static void DownSync() { WeFanContainter container = WeFanContainter.GetFans(); DateTime timeNow = DateTime.Now; int timeVersion = (int)timeNow.ToOADate(); using (EmptyDbDataSource source = new EmptyDbDataSource()) using (TableResolver resolver = new TableResolver("WE_USER", source)) using (TableResolver subResolver = new TableResolver("WE_SUBSCRIBE_DATA", source)) { subResolver.SetCommands(AdapterCommand.Insert); resolver.SetCommands(AdapterCommand.Insert | AdapterCommand.Update); while (true) { if (container.OpenIds == null) break; foreach (var openId in container.OpenIds) { WeUser user = WeUser.GetUser(openId); DataRow row = resolver.TrySelectRowWithKeys(openId); if (row == null) { row = resolver.NewRow(); DataRow subRow = subResolver.NewRow(); subRow.BeginEdit(); subRow["Id"] = subResolver.CreateUniId(); subRow["OpenId"] = openId; subRow["SubscribeDate"] = user.SubscribeTime; subRow["IsSubscribe"] = 1; subRow.EndEdit(); } user.AddToDataRow(row, WeConst.USER_MODE); row["Version"] = timeVersion; } UpdateUtil.UpdateTableResolvers(source.Context, (Action<Transaction>)null, resolver, subResolver); resolver.HostTable.Rows.Clear(); subResolver.HostTable.Rows.Clear(); if (string.IsNullOrEmpty(container.NextOpenId)) break; else container = WeFanContainter.GetFans(container); } resolver.HostTable.Rows.Clear(); subResolver.HostTable.Rows.Clear(); IParamBuilder builder = SqlParamBuilder.CreateParamBuilder( SqlParamBuilder.CreateSingleSql(source.Context, "WU_VERSION", TkDataType.Int, "!=", timeVersion), ParamBuilder.CreateSql("WU_SUBSCRIBE = 1")); resolver.Select(builder); if (resolver.HostTable.Rows.Count > 0) { foreach (DataRow row in resolver.HostTable.Rows) { row["subscribe"] = 0; DataRow subRow = subResolver.NewRow(); subRow.BeginEdit(); subRow["Id"] = subResolver.CreateUniId(); subRow["OpenId"] = row["OpenId"]; subRow["Subscribe"] = DateTime.Now; subRow["IsSubscribe"] = 0; subRow.EndEdit(); } UpdateUtil.UpdateTableResolvers(source.Context, (Action<Transaction>)null, resolver, subResolver); } } }
public static void DownSync() { WeFanContainter container = WeFanContainter.GetFans(); DateTime timeNow = DateTime.Now; int timeVersion = (int)timeNow.ToOADate(); // 公众号测试 string description = "这是一家创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式"; string picUrl = "http://p.img.eol.cn/images/1022/2011/0919/1316394859_12_iyeh.jpg"; Article ar = new Article() { Title = "企业简介", Description = description, Url = "http://baike.sogou.com/v6234.htm", PicUrl = picUrl }; //NewsCorpMessage n = new NewsCorpMessage(); //n.SetAllUser(); //n.Add(ar); //WeixinResult result = n.Send(1); string oppid = "oyyPUjvZNtOaKqJ3Nh5KIOOsclGA"; NewsServiceMessage nMsg = new NewsServiceMessage(oppid); //TextServiceMessage tMsg = new TextServiceMessage(oppid, "你们在干什么呢?"); nMsg.Add(ar); //WeixinResult result = nMsg.Send(); WeixinResult result = nMsg.Send(); Console.WriteLine(result); //公众号测试 using (EmptyDbDataSource source = new EmptyDbDataSource()) using (TableResolver resolver = new TableResolver("WE_USER", source)) using (TableResolver subResolver = new TableResolver("WE_SUBSCRIBE_DATA", source)) { subResolver.SetCommands(AdapterCommand.Insert); resolver.SetCommands(AdapterCommand.Insert | AdapterCommand.Update); while (true) { if (container.OpenIds == null) break; foreach (var openId in container.OpenIds) { WeUser user = WeUser.GetUser(openId); DataRow row = resolver.TrySelectRowWithKeys(openId); if (row == null) { row = resolver.NewRow(); DataRow subRow = subResolver.NewRow(); subRow.BeginEdit(); subRow["Id"] = subResolver.CreateUniId(); subRow["OpenId"] = openId; subRow["SubscribeDate"] = user.SubscribeTime; subRow["IsSubscribe"] = 1; subRow.EndEdit(); } user.AddToDataRow(row, WeConst.USER_MODE); row["Version"] = timeVersion; } UpdateUtil.UpdateTableResolvers(source.Context, (Action<Transaction>)null, resolver, subResolver); resolver.HostTable.Rows.Clear(); //subResolver.HostTable.Rows.Clear(); if (string.IsNullOrEmpty(container.NextOpenId)) break; else container = WeFanContainter.GetFans(container); } resolver.HostTable.Rows.Clear(); // subResolver.HostTable.Rows.Clear(); IParamBuilder builder = SqlParamBuilder.CreateParamBuilder( SqlParamBuilder.CreateSingleSql(source.Context, "WU_VERSION", TkDataType.Int, "!=", timeVersion), ParamBuilder.CreateSql("WU_SUBSCRIBE = 1")); resolver.Select(builder); if (resolver.HostTable.Rows.Count > 0) { foreach (DataRow row in resolver.HostTable.Rows) { row["subscribe"] = 0; DataRow subRow = subResolver.NewRow(); subRow.BeginEdit(); subRow["Id"] = subResolver.CreateUniId(); subRow["OpenId"] = row["OpenId"]; subRow["Subscribe"] = DateTime.Now; subRow["IsSubscribe"] = 0; subRow.EndEdit(); } UpdateUtil.UpdateTableResolvers(source.Context, (Action<Transaction>)null, resolver, subResolver); } } }
public static void UpSync() { var luser = CorpDepartment.GetAllUsers(1, true); Dictionary<string, bool> userId = new Dictionary<string, bool>(); foreach (var lu in luser.UserList) userId.Add(lu.Id, false); Dictionary<string, Tuple<CorpUser, DataRow>> DbId = new Dictionary<string, Tuple<CorpUser, DataRow>>(); EmptyDbDataSource source = new EmptyDbDataSource(); TableResolver resolver = new TableResolver("WE_CORP_USER", source); resolver.SetCommands(AdapterCommand.Update); resolver.Select(); foreach (DataRow db in resolver.HostTable.Rows) { CorpUser user = new CorpUser("1", "user", new int[] { 1 }); bool isDelete = db["ValidFlag"].Value<bool>(); user.ReadFromDataRow(db, "CorpUser"); if (!isDelete) { user.Enable = true; Tuple<CorpUser, DataRow> tup = new Tuple<CorpUser, DataRow>(user, db); DbId.Add(user.Id, tup); } } foreach (var v in DbId) if (userId.ContainsKey(v.Key)) { var userStatus = CorpUser.GetUser(v.Key).Status; bool changed = false; if (userStatus == UserStatus.Attention) { if (v.Value.Item2["AttentionFlag"].Value<int>() != ATTEN) { v.Value.Item2["AttentionFlag"] = ATTEN; changed = true; } } else if (v.Value.Item2["AttentionFlag"].Value<int>() == ATTEN) { v.Value.Item2["AttentionFlag"] = NOATTEN; changed = true; } if (changed) resolver.UpdateDatabase(); userId[v.Key] = true; var result = v.Value.Item1.Update(); if (result.IsError) Console.WriteLine("Update Error : User:{0}, {1}", v.Value.Item1.Name, result); } else { userId.Add(v.Key, true); var result = v.Value.Item1.Create(); if (result.IsError) Console.WriteLine("Create Error : User:{0}, {1}", v.Value.Item1.Name, result); } var remainder = from u in userId where !u.Value select u.Key; foreach (var rd in remainder) { CorpUser user = new CorpUser(rd, "user", new int[] { 1 }); var result = user.Delete(); if (result.IsError) Console.WriteLine("Delete Error : User:{0}, {1}", rd, result); } }