Пример #1
0
        // update lists (1) insert, (2) update, (3) delete
        public static void SaveComboBoxList(ComboBoxItem item, IList list, ref bool in_use)
        {
            User user = (User)System.Web.HttpContext.Current.Session[Constant.session.User];
            IDBManager dbmgr = new DBManager(user.plantDBStr);
            dbmgr.ConnectionString = user.plantDBStr;

            try
            {
                dbmgr.Open();
                dbmgr.BeginTransaction();

                switch (item.update_type)
                {
                    // insert item to list
                    case 1:
                        dbmgr.CreateParameters(2);
                        dbmgr.AddParameters(0, "@name", item.name);
                        dbmgr.AddParameters(1, "@desc", item.desc);
                        dbmgr.ExecuteNonQuery(CommandType.StoredProcedure, item.query + "_u");
                        break;
                    // update item in list
                    case 2:
                        dbmgr.CreateParameters(3);
                        dbmgr.AddParameters(0, "@value", item.value);
                        dbmgr.AddParameters(1, "@name", item.name);
                        dbmgr.AddParameters(2, "@desc", item.desc);
                        dbmgr.ExecuteNonQuery(CommandType.StoredProcedure, item.query + "_u");
                        break;
                    // delete item from list
                    case 3:
                        dbmgr.CreateParameters(2);
                        dbmgr.AddParameters(0, "@value", item.value);
                        dbmgr.AddParameters(1, "@in_use", in_use, true);
                        dbmgr.ExecuteNonQuery(CommandType.StoredProcedure, item.query + "_d");
                        in_use = Convert.ToBoolean(((System.Data.Common.DbParameter)dbmgr.Parameters.GetValue(1)).Value);
                        break;
                }

                dbmgr.CommitTransaction();
            }
            catch (Exception ex)
            {
                dbmgr.RollbackTransaction();
                throw (ex);
            }
            finally
            {
                dbmgr.Dispose();
            }
        }