예제 #1
0
            /// Return a list for admin UI list.
            /// </summary>
            /// <param name="total"></param>
            /// <param name="current"></param>
            /// <param name="rowCount"></param>
            /// <param name="where"></param>
            /// <param name="order"></param>
            /// <returns></returns>
            public static List <CroResource> TolerantSearch(out int total, int current, int rowCount, APSqlWherePhrase where, APSqlOrderPhrase order)
            {
                var t = APDBDef.CroResource;
                var u = APDBDef.ResUser;

                var query = APQuery
                            .select(t.CrosourceId, t.Title, t.CreatedTime, t.StatePKID, t.ThemeId,
                                    t.ProvinceId, t.AreaId, t.WinLevelPKID, t.Score, t.DeliveryStatus,
                                    t.Author)
                            .from(t, u.JoinInner(t.Creator == u.UserId))
                            .where (where);

                //.order_by(t.CrosourceId.Desc)

                if (order != null)
                {
                    query.order_by_add(order);
                }
                else
                {
                    query.order_by_add(t.CrosourceId.Desc);
                }

                query.primary(t.CrosourceId)
                .skip((current - 1) * rowCount)
                .take(rowCount);

                using (APDBDef db = new APDBDef())
                {
                    total = db.ExecuteSizeOfSelect(query);
                    return(db.Query(query, t.TolerantMap).ToList());
                }
            }
예제 #2
0
            /// <summary>
            /// Return a list for admin UI list.
            /// </summary>
            /// <param name="total"></param>
            /// <param name="current"></param>
            /// <param name="rowCount"></param>
            /// <param name="where"></param>
            /// <param name="order"></param>
            /// <returns></returns>
            public static List <CroResource> TolerantSearch(out int total, int current, int rowCount, APSqlWherePhrase where, APSqlOrderPhrase order)
            {
                var t = APDBDef.CroResource;
                var u = APDBDef.ResUser;

                var query = APQuery
                            .select(t.CrosourceId, t.Title, u.RealName.As("Author")        //TODO:t.MediumTypePKID
                                    , t.CreatedTime, t.StatePKID)
                            .from(t, u.JoinInner(t.Creator == u.UserId))
                            .where (where)
                            .primary(t.CrosourceId)
                            .skip((current - 1) * rowCount)
                            .take(rowCount);

                if (order != null)
                {
                    query.order_by(order);
                }

                using (APDBDef db = new APDBDef())
                {
                    total = db.ExecuteSizeOfSelect(query);
                    return(db.Query(query, t.TolerantMap).ToList());
                }
            }
예제 #3
0
            public static void SetLastLoginTime(string username)
            {
                var t     = APDBDef.ResUser;
                var query = APQuery.update(t)
                            .set(t.LastLoginTime, DateTime.Now)
                            .set(t.LoginCount, APSqlThroughExpr.Expr("LoginCount + 1"))
                            .where (t.UserName == username);

                using (var db = new APDBDef())
                {
                    db.ExecuteNonQuery(query);
                }
            }
예제 #4
0
            /// <summary>
            /// Return a list for admin UI list.
            /// </summary>
            /// <param name="total"></param>
            /// <param name="current"></param>
            /// <param name="rowCount"></param>
            /// <param name="where"></param>
            /// <param name="order"></param>
            /// <returns></returns>
            public static List <ResUser> TolerantSearch(out int total, int current, int rowCount, APSqlWherePhrase where, APSqlOrderPhrase order)
            {
                var t = APDBDef.ResUser;
                var c = APDBDef.ResCompany;
                //var r = APDBDef.ResRole;
                //var ur = APDBDef.ResUserRole;

                var query = APQuery
                            .select(t.UserId, t.UserName, t.RealName, t.GenderPKID, t.Email, t.RegisterTime, t.LoginCount, t.Actived, t.UserTypePKID,
                                    t.CompanyId, t.ProvinceId, t.AreaId,
                                    c.CompanyName //,r.RoleName
                                    )
                            .from(t,
                                  c.JoinLeft(t.CompanyId == c.CompanyId)
                                  )
                            .where (where)
                            .primary(t.UserId)
                            .skip((current - 1) * rowCount)
                            .take(rowCount);

                if (order != null)
                {
                    query.order_by(order);
                }

                using (APDBDef db = new APDBDef())
                {
                    total = db.ExecuteSizeOfSelect(query);
                    return(db.Query(query, reader =>
                    {
                        return new ResUser()
                        {
                            UserId = t.UserId.GetValue(reader),
                            UserTypePKID = t.UserTypePKID.GetValue(reader),
                            UserName = t.UserName.GetValue(reader),
                            RealName = t.RealName.GetValue(reader),
                            GenderPKID = t.GenderPKID.GetValue(reader),
                            Email = t.Email.GetValue(reader),
                            RegisterTime = t.RegisterTime.GetValue(reader),
                            LoginCount = t.LoginCount.GetValue(reader),
                            Actived = t.Actived.GetValue(reader),
                            CompanyName = c.CompanyName.GetValue(reader),
                            ProvinceId = t.ProvinceId.GetValue(reader),
                            AreaId = t.AreaId.GetValue(reader)
                        };
                    }).ToList());
                }
            }
예제 #5
0
            private void SyncItems(APDBDef db, long pickListId, int baseInc, DateTime now, List <ResPickListItem> items)
            {
                long baseId = pickListId + 1 + baseInc;

                foreach (ResPickListItem item in items)
                {
                    if (item.PickListItemId == 0)
                    {
                        item.PickListItemId = baseId++;                         //db.ResObjectCurrentIdDal.GetNewCoreAppObjId();
                    }
                    item.PickListId  = pickListId;
                    item.CreatedTime = item.LastModifiedTime = now;
                    item.Creator     = item.LastModifier = ThisApp.AppUser_Designer_Id;
                    db.ResPickListItemDal.Insert(item);
                }
            }
예제 #6
0
            /// <summary>
            /// 根据 PickList 的 InnerKey 获得所有子项
            /// </summary>
            /// <param name="innerKey"></param>
            /// <returns></returns>
            public static List <ResPickListItem> GetByPickListInnerKey(string innerKey)
            {
                var query = APQuery
                            .select(APDBDef.ResPickListItem.Asterisk)
                            .from(
                    APDBDef.ResPickListItem,
                    APDBDef.ResPickList.Join(APSqlJoinType.Inner, APDBDef.Res_PickList_Item)
                    )
                            .where (APDBDef.ResPickList.InnerKey == innerKey);


                using (APDBDef db = new APDBDef())
                {
                    return(APDBDef.ResPickListItem.MapList(db.ExecuteReader(query)));
                }
            }
예제 #7
0
            private void SyncInitData(APDBDef db, long apResAppID, ResPickList data, List <ResPickListItem> items, int baseInc)
            {
                List <ResPickList> res = db.ResPickListDal.ConditionQuery(APDBDef.ResPickList.InnerKey == data.InnerKey, null, 1, null);

                if (res.Count == 0)
                {
                    DateTime now = DateTime.Now;

                    if (data.PickListId == 0)
                    {
                        throw new Exception("Has not special PickListId!This is a Obvious Mistake");
                    }
                    data.CreatedTime = data.LastModifiedTime = now;
                    data.Creator     = data.LastModifier = ThisApp.AppUser_Designer_Id;
                    db.ResPickListDal.Insert(data);

                    SyncItems(db, data.PickListId, baseInc, now, items);
                }
            }
예제 #8
0
            public static void Sync(long roleId, List <long> approveIds)
            {
                var t = APDBDef.ResRoleApprove;

                using (APDBDef db = new APDBDef())
                {
                    var existIds = APQuery.select(t.ApproveId)
                                   .from(t)
                                   .where (t.RoleId == roleId).query(db, reader =>
                    {
                        return(reader.GetInt64(0));
                    }).ToList();

                    db.BeginTrans();
                    try
                    {
                        foreach (var id in approveIds)
                        {
                            if (existIds.Contains(id))
                            {
                                existIds.Remove(id);
                            }
                            else
                            {
                                db.ResRoleApproveDal.Insert(new ResRoleApprove(0, roleId, id));
                            }
                        }
                        if (existIds.Count > 0)
                        {
                            db.ResRoleApproveDal.ConditionDelete(t.RoleId == roleId & t.ApproveId.In(existIds.ToArray()));
                        }

                        db.Commit();
                    }
                    catch
                    {
                        db.Rollback();
                    }
                }
            }
예제 #9
0
            ///  get complex resource object
            /// </summary>
            /// <param name="db">db</param>
            /// <param name="resourceId">resourceId</param>
            /// <returns>CroResource</returns>
            public static CroResource GetResource(APDBDef db, long resourceId)
            {
                var cr    = APDBDef.CroResource;
                var f     = APDBDef.Files;
                var query = APQuery.select(cr.Asterisk, f.Asterisk)
                            .from(cr,
                                  f.JoinInner(cr.AttachmentId == f.FileId)
                                  )
                            .where (cr.CrosourceId == resourceId);

                CroResource model = null;

                return(query.query(db, r =>
                {
                    model = new CroResource();
                    cr.Fullup(r, model, false);

                    model.AttachmentName = f.FileName.GetValue(r);
                    model.AttachmentPath = f.FilePath.GetValue(r);

                    return model;
                }).FirstOrDefault());
            }
예제 #10
0
 public BaseController()
 {
     db = new APDBDef();
 }
예제 #11
0
 private void SyncInitData(APDBDef db, long apResAppID, ResPickList data, List <ResPickListItem> items)
 {
     SyncInitData(db, apResAppID, data, items, 0);
 }
예제 #12
0
            private void SyncInitData(APDBDef db, long apResAppID, ResPickList data, string[] itemNames, string defaultItem)
            {
                List <ResPickListItem> items = FromArray(0 /* strengthValue */, itemNames, null /* codes */, defaultItem);

                SyncInitData(db, apResAppID, data, items);
            }
예제 #13
0
 public override void InitData(APDBDef db)
 {
 }
예제 #14
0
        public static bool IsExccedMaxCount(long provinceId, long areaId, int allowdMaxCount, APDBDef db)
        {
            var count = GetDeliveryCount(provinceId, areaId, db);

            return(count >= allowdMaxCount);
        }
예제 #15
0
        public BaseController()
        {
            db = new APDBDef();

            //CurrentActive = ResSettings.SettingsInSession.CurrentActive;
        }
예제 #16
0
		public SqlController()
		{
			db = new APDBDef();
		}
예제 #17
0
            public override void InitData(APDBDef db)
            {
                long key, lessthen;


                #region [ 1000 < 1010 : PLKey_Gender ]

                {
                    key = 1000; lessthen = 1010;

                    var pk    = new ResPickList(key, ThisApp.PLKey_Gender, "性别", "对性别进行选择的字典项。");
                    var items = FromArray(
                        0,
                        new string[] { "男", "女" },
                        null,
                        null);

                    SyncInitData(db, ThisApp.AppId, pk, items);
                }


                #endregion

                #region [ 10230 < 10270 : PLKey_ResourceType ]

                {
                    key = 10230; lessthen = 10270;

                    var pk    = new ResPickList(key, ThisApp.PLKey_ResourceType, "资源类型", "对资源类型进行选择的字典项。");
                    var items = FromArray(
                        0,
                        new string[] {
                        "政策", "评估工具与方法", "评估报告", "课程方案与标准", "教学设计",
                        "教学课件", "教学实录", "个别化教育计划", "康复训练设计", "康复训练课件",
                        "康复训练实录", "残疾人支持服务项目介绍", "评估视频", "教学案例", "教学资源包",
                        "校本教材", "辅助器具介绍", "教具学具介绍", "支持与服务个案报告", "文献",
                        "康复训练案例", "个别化康复训练计划", "家庭教育"
                    },
                        null,
                        null);
                    long[] strengths = new long[] {
                        10001, 10002, 10002, 10003, 10003,
                        10003, 10003, 10003, 10004, 10004,
                        10004, 10005, 10002, 10003, 10003,
                        10003, 10005, 10005, 10004, 10001,
                        10004, 10004, 10005
                    };

                    for (var i = 0; i < strengths.Length; i++)
                    {
                        items[i].StrengthenValue = strengths[i];
                    }

                    SyncInitData(db, ThisApp.AppId, pk, items);
                }

                #endregion

                #region [ 10350 < 10360 : PLKey_ResourceState ]

                {
                    key = 10350; lessthen = 10360;

                    var pk    = new ResPickList(key, ThisApp.PLKey_ResourceState, "状态", "对状态进行选择的字典项。");
                    var items = FromArray(
                        0,
                        new string[] {
                        "未审核", "审核合格", "审核不合格", "已删除"
                    },
                        null,
                        null);
                    items[items.Count - 1].PickListItemId = lessthen - 1;

                    SyncInitData(db, ThisApp.AppId, pk, items);
                }

                #endregion
            }