예제 #1
0
        public void Update(SortTargetModel model, List <SortModel> items)
        {
            using (var utility = DbUtility.GetInstance())
            {
                utility.BeginTransaction();

                foreach (var item in items)
                {
                    var sql = String.Format(@"UPDATE {0} SET {1} = {2} WHERE {3} = {4}",
                                            model.TableName, model.DisplayNoColumn, item.ColumnOrder + 1, model.IdColumn, item.Id);

                    utility.ExecuteNonQuery(sql);
                }

                utility.Commit();
            }
        }
예제 #2
0
        public SortListModel(SortTargetModel model)
        {
            Items = new List <SortModel>();

            if (model.SortItems != null)
            {
                if (model.SortItems.Count > 0)
                {
                    var firstItem               = model.SortItems[0];
                    var type                    = firstItem.GetType();
                    var IdColumnPropInfo        = type.GetProperty(model.IdColumn);
                    var DisplayNoColumnPropInfo = type.GetProperty(model.DisplayNoColumn);
                    var DisplayColumnPropInfo   = type.GetProperty(model.DisplayColumn);

                    foreach (var itm in model.SortItems)
                    {
                        Items.Add(new SortModel
                        {
                            Id          = Convert.ToInt64(IdColumnPropInfo.GetValue(itm, null)),
                            ColumnOrder = Converts.ToTryInt(DisplayNoColumnPropInfo.GetValue(itm, null)),
                            Description = Converts.ToTryString(DisplayColumnPropInfo.GetValue(itm, null))
                        });
                    }
                }
                return;
            }

            var where = @" WHERE 1 = 1 ";

            using (var utility = DbUtility.GetInstance())
            {
                if (!String.IsNullOrEmpty(model.OrganizationID))
                {
                    where += @" AND OrganizationID = ?OrganizationID ";
                    utility.AddParameter("OrganizationID", model.OrganizationID);
                }

                if (!String.IsNullOrEmpty(model.DisplayFlagColumn))
                {
                    where += String.Format(@" AND {0} = 1  ", model.DisplayFlagColumn);
                }

                if (!String.IsNullOrEmpty(model.StatusFlagColumn))
                {
                    where += String.Format(@" AND {0} = 0  ", model.StatusFlagColumn);
                }

                var sql = String.Format(@"
                        SELECT 
                            {0}
                          , {1}
                          , {2}
                        FROM 
                            {3}
                        {4}
                        ORDER BY
                            {2} ", model.IdColumn, model.DisplayColumn, model.DisplayNoColumn, model.TableName, where);

                var list = utility.ExecuteReader(sql);

                foreach (var item in list)
                {
                    Items.Add(new SortModel
                    {
                        Id          = Convert.ToInt64(item[model.IdColumn]),
                        ColumnOrder = Converts.ToTryInt(item[model.DisplayNoColumn]),
                        Description = Converts.ToTryString(item[model.DisplayColumn])
                    });
                }
            }
        }