public static void ProcessCorpUser(bool subscribe, string logonName) { using (EmptyDbDataSource source = WeDataUtil.CreateSource()) using (InternalCorpUserResolver resolver = new InternalCorpUserResolver(source)) { DataRow row = resolver.TrySelectRowWithParam("UserLogonName", logonName); if (row != null) { resolver.SetCommands(AdapterCommand.Update); row.BeginEdit(); DateTime current = DateTime.Now; if (subscribe) { row["AttentionFlag"] = 1; row["AttentionDate"] = current; row["UnAttentionDate"] = DBNull.Value; } else { row["AttentionFlag"] = 0; row["UnAttentionDate"] = current; } row["UpdateDate"] = current; row.EndEdit(); } resolver.UpdateDatabase(); } }
private static bool RetriveSessionFromCookie() { var cookies = WebGlobalVariable.Request.Cookies; HttpCookie cookie = cookies[RightConst.USER_INFO_COOKIE_NAME]; if (cookie == null) { return(false); } CookieUserInfo userInfo = CookieUserInfo.FromEncodeString(cookie.Value); if (userInfo == null) { return(false); } EmptyDbDataSource source = new EmptyDbDataSource(); using (source) using (UserResolver resolver = new UserResolver(source)) { try { IUserInfo info = resolver.CheckUserLogOnById(userInfo.UserId, userInfo.Password); WebGlobalVariable.SessionGbl.AppRight.Initialize(info); return(true); } catch { return(false); } } }
private static bool RetriveSessionFromCookie() { var cookies = WebGlobalVariable.Request.Cookies; HttpCookie cookie = cookies[RightConst.USER_INFO_COOKIE_NAME]; if (cookie == null) return false; CookieUserInfo userInfo = CookieUserInfo.FromEncodeString(cookie.Value); if (userInfo == null) return false; EmptyDbDataSource source = new EmptyDbDataSource(); using (source) using (UserResolver resolver = new UserResolver(source)) { try { IUserInfo info = resolver.CheckUserLogOnById(userInfo.UserId, userInfo.Password); WebGlobalVariable.SessionGbl.AppRight.Initialize(info); return true; } catch { return false; } } }
public ToolsDocumentSource() { OrderBy = "ORDER BY DOC_ORGIN_DATE DESC"; SortQuery = true; Context = DbContextUtil.CreateDbContext("Tools"); MainResolver = new TaxDocumentResolver(this); Operators = new ListOperators(); using (var idSource = new EmptyDbDataSource()) { SqlSelector.Select(idSource.Context, idSource.DataSet, "Document", "SELECT DISTINCT DOC_SOURCE_ID FROM CS_DOCUMENT WHERE DOC_SOURCE_ID IS NOT NULL"); DataTable table = idSource.DataSet.Tables["Document"]; if (table == null || table.Rows.Count == 0) { FilterSql = new MarcoConfigItem(false, false, "DOC_VERIFY_FLAG > 0"); } else { var ids = from row in table.AsEnumerable() select row["DOC_SOURCE_ID"].ToString(); string sql = string.Format(ObjectUtil.SysCulture, "DOC_VERIFY_FLAG > 0 AND DOC_DOC_ID NOT IN ({0})", string.Join(",", ids)); FilterSql = new MarcoConfigItem(false, false, sql); } } }
public BaseSendMessage Reply(ReceiveMessage message) { TkDbContext context; if (string.IsNullOrEmpty(ContextName)) { context = DbContextUtil.CreateDefault(); } else { context = DbContextUtil.CreateDbContext(ContextName); } using (EmptyDbDataSource source = new EmptyDbDataSource()) { source.Context = context; string sql = Expression.Execute(Sql, source); SqlSelector.Select(source.Context, source.DataSet, TABLE_NAME, sql); DataTable table = source.DataSet.Tables[TABLE_NAME]; if (table.Rows.Count == 0) { TextSendMessage result = new TextSendMessage(message, EmptyMessage); return(result); } else { NewsSendMessage result = new NewsSendMessage(message); int count = 0; if (fFirstArticles.Count > 0) { foreach (var article in fFirstArticles) { result.Add(article); ++count; } } int maxCount = MAX_COUNT; if (FootArticle != null) { maxCount--; } foreach (DataRow row in table.Rows) { if (++count > maxCount) { break; } Article article = DataRowArticle.CreateArticle(source, row, message); result.Add(article); } if (FootArticle != null) { result.Add(FootArticle); } return(result); } } }
internal static EmptyDbDataSource CreateSource() { EmptyDbDataSource source = new EmptyDbDataSource() { Context = DbContextUtil.CreateDbContext("Weixin") }; return(source); }
public OutputData Update(IInputData input, object instance) { BasePasswordData passwd = instance.Convert<BasePasswordData>(); using (EmptyDbDataSource source = new EmptyDbDataSource()) using (UserResolver resolver = new UserResolver(source)) { return ChangePasswd(resolver, passwd); } }
public OutputData Update(IInputData input, object instance) { BasePasswordData passwd = instance.Convert <BasePasswordData>(); using (EmptyDbDataSource source = new EmptyDbDataSource()) using (UserResolver resolver = new UserResolver(source)) { return(ChangePasswd(resolver, passwd)); } }
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 BaseSendMessage Reply(ReceiveMessage message) { TkDbContext context; if (string.IsNullOrEmpty(ContextName)) context = DbContextUtil.CreateDefault(); else context = DbContextUtil.CreateDbContext(ContextName); using (EmptyDbDataSource source = new EmptyDbDataSource()) { source.Context = context; string sql = Expression.Execute(Sql, source); SqlSelector.Select(source.Context, source.DataSet, TABLE_NAME, sql); DataTable table = source.DataSet.Tables[TABLE_NAME]; if (table.Rows.Count == 0) { TextSendMessage result = new TextSendMessage(message, EmptyMessage); return result; } else { NewsSendMessage result = new NewsSendMessage(message); int count = 0; if (fFirstArticles.Count > 0) { foreach (var article in fFirstArticles) { result.Add(article); ++count; } } int maxCount = MAX_COUNT; if (FootArticle != null) maxCount--; foreach (DataRow row in table.Rows) { if (++count > maxCount) break; Article article = DataRowArticle.CreateArticle(source, row, message); result.Add(article); } if (FootArticle != null) result.Add(FootArticle); return result; } } }
public BaseSendMessage Reply(ReceiveMessage message) { using (EmptyDbDataSource source = WeDataUtil.CreateSource()) using (TableResolver resolver = new CorpAppLogResolver(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); }
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 ProcessNormalUser(bool subscrible, string openId) { using (EmptyDbDataSource source = WeDataUtil.CreateSource()) using (UserResolver resolver = new UserResolver(source)) using (SubscribeDataResolver subResolver = new SubscribeDataResolver(source)) { subResolver.SetCommands(AdapterCommand.Insert); resolver.SetCommands(AdapterCommand.Insert | AdapterCommand.Update); DateTime current = DateTime.Now; DataRow row = resolver.TrySelectRowWithKeys(openId); if (row == null) { row = resolver.NewRow(); } if (subscrible) { WeUser user = WeUser.GetUser(openId); user.AddToDataRow(row); } else { row["Subscribe"] = 0; } DataRow subRow = subResolver.NewRow(); subRow.BeginEdit(); subRow["Id"] = subResolver.CreateUniId(); subRow["OpenId"] = openId; subRow["SubscribeDate"] = current; subRow["IsSubscribe"] = subscrible ? 1 : 0; subRow.EndEdit(); UpdateUtil.UpdateTableResolvers(source.Context, null, new TableResolver[] { 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); } }
public TempSource(DataSet dataSet, EmptyDbDataSource source) { DataSet = dataSet; Context = source.Context; }
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 override OutputData DoAction(IInputData input) { try { string docId = input.QueryString["DocId"]; using (TaxDocumentResolver destResolver = new TaxDocumentResolver(this)) { DataRow row = destResolver.TrySelectRowWithParam("SourceId", docId); if (row != null) { throw new WebPostException("已经复制过该文档!"); } var toolSource = new EmptyDbDataSource() { Context = DbContextUtil.CreateDbContext("Tools") }; using (toolSource) using (var srcResolver = new TaxDocumentResolver(toolSource)) using (var srcAttachResolver = new DocAttachmentResolver(toolSource)) using (var destAttachResolver = new DocAttachmentResolver(this)) { srcResolver.SelectWithKeys(docId); srcAttachResolver.SelectWithParam("DocId", docId); DataSetUtil.CopyDataTable(srcResolver.HostTable, destResolver.HostTable); destResolver.SetCommands(AdapterCommand.Insert); string id = null; string keyField = destResolver.KeyField; foreach (DataRow destRow in destResolver.HostTable.Rows) { id = destResolver.CreateUniId(); destRow.BeginEdit(); destRow["SourceId"] = destRow[keyField]; destRow[keyField] = id; destRow.EndEdit(); } DataTable attachTable = srcAttachResolver.HostTable; if (attachTable == null) { UpdateUtil.UpdateTableResolvers(null, destResolver); } else { DataTable destAttachTable = destAttachResolver.SelectTableStructure(); DataSetUtil.CopyDataTable(attachTable, destAttachTable); foreach (DataRow attachRow in destAttachTable.Rows) { attachRow.BeginEdit(); attachRow["AttId"] = destAttachResolver.CreateUniId(); attachRow["DocId"] = id; attachRow.EndEdit(); } destAttachResolver.SetCommands(AdapterCommand.Insert); UpdateUtil.UpdateTableResolvers(null, destResolver, destAttachResolver); } return(OutputData.CreateToolkitObject(destResolver.CreateKeyData())); } } } catch (WebPostException ex) { return(OutputData.CreateToolkitObject(ex.CreateErrorResult())); } }
public override OutputData DoAction(IInputData input) { try { string docId = input.QueryString["DocId"]; using (TaxDocumentResolver destResolver = new TaxDocumentResolver(this)) { DataRow row = destResolver.TrySelectRowWithParam("SourceId", docId); if (row != null) throw new WebPostException("已经复制过该文档!"); var toolSource = new EmptyDbDataSource() { Context = DbContextUtil.CreateDbContext("Tools") }; using (toolSource) using (var srcResolver = new TaxDocumentResolver(toolSource)) using (var srcAttachResolver = new DocAttachmentResolver(toolSource)) using (var destAttachResolver = new DocAttachmentResolver(this)) { srcResolver.SelectWithKeys(docId); srcAttachResolver.SelectWithParam("DocId", docId); DataSetUtil.CopyDataTable(srcResolver.HostTable, destResolver.HostTable); destResolver.SetCommands(AdapterCommand.Insert); string id = null; string keyField = destResolver.KeyField; foreach (DataRow destRow in destResolver.HostTable.Rows) { id = destResolver.CreateUniId(); destRow.BeginEdit(); destRow["SourceId"] = destRow[keyField]; destRow[keyField] = id; destRow.EndEdit(); } DataTable attachTable = srcAttachResolver.HostTable; if (attachTable == null) { UpdateUtil.UpdateTableResolvers(null, destResolver); } else { DataTable destAttachTable = destAttachResolver.SelectTableStructure(); DataSetUtil.CopyDataTable(attachTable, destAttachTable); foreach (DataRow attachRow in destAttachTable.Rows) { attachRow.BeginEdit(); attachRow["AttId"] = destAttachResolver.CreateUniId(); attachRow["DocId"] = id; attachRow.EndEdit(); } destAttachResolver.SetCommands(AdapterCommand.Insert); UpdateUtil.UpdateTableResolvers(null, destResolver, destAttachResolver); } return OutputData.CreateToolkitObject(destResolver.CreateKeyData()); } } } catch (WebPostException ex) { return OutputData.CreateToolkitObject(ex.CreateErrorResult()); } }