Example #1
0
 public ReturnType AddStockUnitGroup(StockUnitGroup stockunitgroup, StockUnit unit)
 {
     System.Data.Common.DbTransaction tran = null;
     using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
     {
         try
         {
             alading.Connection.Open();
             tran = alading.Connection.BeginTransaction();
             alading.AddToStockUnitGroup(stockunitgroup);
             alading.AddToStockUnit(unit);
             alading.SaveChanges();
             tran.Commit();
             return(ReturnType.Success);
         }
         catch (System.Exception ex)
         {
             if (tran != null)
             {
                 tran.Rollback();
             }
             return(ReturnType.SaveFailed);
         }
         finally
         {
             if (alading != null && alading.Connection.State != System.Data.ConnectionState.Closed)
             {
                 alading.Connection.Close();
             }
         }
     }
 }
Example #2
0
        /// <summary>
        /// 对SQLite数据库执行带参数的增删改操作,返回受影响的行数。
        /// </summary>
        /// <param name="sql">要执行的增删改的SQL语句</param>
        /// <param name="parameters">执行增删改语句所需要的参数,参数必须以它们在SQL语句中的顺序为准</param>
        /// <returns></returns>
        public int ExecuteNonQuery(string sql, List <SQLiteParameter[]> parametersList)
        {
            int affectedRows = 0;

            using (SQLiteConnection connection = new SQLiteConnection(connectionString))
            {
                connection.Open();
                using (System.Data.Common.DbTransaction transaction = connection.BeginTransaction())
                {
                    using (SQLiteCommand command = new SQLiteCommand(connection))
                    {
                        foreach (SQLiteParameter[] parameters in parametersList)
                        {
                            if (parameters != null)
                            {
                                command.Parameters.AddRange(parameters);
                            }
                            command.CommandText = sql;
                            affectedRows       += command.ExecuteNonQuery();
                        }
                    }
                    transaction.Commit();
                }
            }
            return(affectedRows);
        }
Example #3
0
        /// <summary>
        /// Commit a started transaction.
        /// </summary>
        public void Commit()
        {
            if (!IsStarted)
            {
                throw new TransactionException("The transaction is not started. Call the Begin method to start the transaction.");
            }

            IDisposable tx = TransactionManager.Instance.GetTransaction(this);

            if (tx is System.Data.Common.DbTransaction)
            {
                System.Data.Common.DbTransaction dbTx = tx as System.Data.Common.DbTransaction;

                // Close the connection associated with the transaction after the commit
                using (System.Data.Common.DbConnection connection = dbTx.Connection)
                {
                    dbTx.Commit();
                }
            }
            else
            {
                if (tx is CommittableTransaction)
                {
                    CommittableTransaction commitableTx = tx as CommittableTransaction;

                    commitableTx.Commit();
                }
            }

            TransactionState = TransactionState.Committed;
            TransactionManager.Instance.StopTransaction(this);
        }
Example #4
0
        /// <summary>
        /// 事务处理多条多条操作
        /// </summary>
        /// <param name="sqls"></param>
        /// <returns></returns>
        public override int TransactionExecute(string[] sqls)
        {
            int affectedRows = 0;

            System.Data.Common.DbTransaction transation = Connection.BeginTransaction();
            try
            {
                using (SQLiteCommand command = new SQLiteCommand())
                {
                    command.Connection = Connection;
                    for (int i = 0; i < sqls.Length; i++)
                    {
                        command.CommandText = sqls[i];
                        affectedRows        = command.ExecuteNonQuery();
                    }
                    transation.Commit();
                }
            }
            catch (Exception)
            {
                transation.Rollback();
                throw;
            }
            finally
            {
                Connection.Close();
            }
            return(affectedRows);
        }
Example #5
0
        public void SaveDB()
        {
            SQLiteConnection cn = new SQLiteConnection("data source=" + connStr);

            cn.Open();
            SQLiteCommand cmd = new SQLiteCommand();

            cmd.Connection = cn;
            System.Data.Common.DbTransaction trans = cn.BeginTransaction();
            foreach (var wp in winprizes)
            {
                foreach (var pr in wp.Persons)
                {
                    cmd.CommandText = string.Format("insert into winprize values(\"{0}\",\"{1}\",\"{2}\",\"{3}\",\"{4}\",\"{5}\")",
                                                    wp.DrawTime.ToString("yyyy-MM-dd HH:mm:ss:ffff"),
                                                    wp.Prize.Name,
                                                    wp.Prize.Picpath,
                                                    pr.Name,
                                                    pr.Text,
                                                    pr.Picpath);
                    cmd.ExecuteNonQuery();
                }
            }
            trans.Commit();
            cn.Close();
        }
Example #6
0
        public static void ExecuteNonQuery(System.Data.IDbCommand cmd)
        {
            using (System.Data.Common.DbConnection conn = GetConnection())
            {
                if (conn.State != System.Data.ConnectionState.Open)
                {
                    conn.Open();
                }

                cmd.Connection = conn;

                using (System.Data.Common.DbTransaction transact = conn.BeginTransaction())
                {
                    cmd.Transaction = transact;

                    try
                    {
                        cmd.ExecuteNonQuery();
                        transact.Commit();
                    } // End Try
                    catch (System.Exception)
                    {
                        transact.Rollback();
                        throw;
                    } // End Catch
                    finally
                    {
                        if (conn.State != System.Data.ConnectionState.Closed)
                        {
                            conn.Close();
                        }
                    } // End Finally
                }     // End Using transact
            }         // End Using conn
        }             // End Sub
Example #7
0
        public bool UpdateGeneric <T>(List <T> entity) where T : class
        {
            _cntxt = new DataContext(_connStr);
            System.Data.Common.DbTransaction tran = null;

            try
            {
                if (_cntxt.Connection.State == System.Data.ConnectionState.Closed)
                {
                    _cntxt.Connection.Open();
                }

                tran = _cntxt.Connection.BeginTransaction();
                _cntxt.Transaction = tran;

                _cntxt.GetTable <T>().AttachAll <T>(entity);
                _cntxt.Refresh(RefreshMode.KeepCurrentValues, entity);
                _cntxt.SubmitChanges();

                tran.Commit();
                _cntxt.Connection.Close();
                return(true);
            }
            catch (Exception e)
            {
                tran.Rollback();
                _cntxt.Connection.Close();
                DBEvents.LogException(e, "UpdateGeneric<T>(List<T> entity)", 0);
                return(false);
            }
        }
Example #8
0
        public int ExecuteCommandTransaction(string command,
                                             System.Data.IsolationLevel IsolationLevel, params object[] parameters)
        {
            if (this.Database.Connection.State != System.Data.ConnectionState.Open)
            {
                this.Database.Connection.Open();
            }

            using (System.Data.Common.DbTransaction dbTrans = this.Database.Connection.BeginTransaction(IsolationLevel))
            {
                this.Database.UseTransaction(dbTrans);
                try
                {
                    int rt = this.Database.ExecuteSqlCommand(command, parameters);
                    if (rt > 0)
                    {
                        dbTrans.Commit();
                    }
                    else
                    {
                        dbTrans.Rollback();
                    }

                    return(rt);
                }
                catch (Exception ex)
                {
                    dbTrans.Rollback();
                    throw ex;
                }
            }
        }
Example #9
0
        /// <summary>
        /// 桌面栏目设置保存
        /// </summary>
        /// <param name="portalcolumnnumbers"></param>
        /// <param name="customerID"></param>
        public void SavePortalColumnsNumber(List <PortalColumnNumber> portalcolumnnumbers, int customerID)
        {
            System.Data.Common.DbTransaction tran = null;
            try
            {
                this._context.Connection.Open();
                tran = this._context.Connection.BeginTransaction();
                string sql = "DELETE Sys_PortalColumnNumber WHERE customerID='" + customerID.ToString() + "'";

                this._context.ExecuteStoreCommand(sql);


                foreach (var item in portalcolumnnumbers)
                {
                    _context.PortalColumnNumbers.AddObject(item);
                }
                _context.SaveChanges();
                tran.Commit();
            }
            catch (Exception err)
            {
                if (tran != null)
                {
                    tran.Rollback();
                }
                throw err;
            }
            finally
            {
                if (this._context != null && this._context.Connection.State != System.Data.ConnectionState.Closed)
                {
                    this._context.Connection.Close();
                }
            }
        }
Example #10
0
        public void CreateUploadMessages(BO.ORCID.Person person, string loggedInInternalUsername)
        {
            // Before opening the transaction get the 'read limited' token if it exists.
            // if it does not exist or is expired we will create a message to update it.
            BO.ORCID.PersonToken personToken = new BLL.ORCID.PersonToken().GetByPersonIDAndPermissionID(person.PersonID, (int)BO.ORCID.REFPermission.REFPermissions.orcid_profile_read_limited);

            using (System.Data.Common.DbTransaction trans = base.GetEditTransaction())
            {
                try
                {
                    new ProfilesRNSDLL.BLL.ORCID.Person().Edit(person, trans);
                    if (!personToken.Exists || personToken.IsExpired)
                    {
                        CreateMessageToReadLimited(person, trans);
                    }
                    if (person.PushBiographyToORCID || (person.HasURLsToPush))
                    {
                        CreateBioUpdateMessage(person, trans, loggedInInternalUsername);
                    }
                    WorksUpdate(person, trans);
                    AffiliationsUpdate(person, trans);
                    trans.Commit();
                }
                catch (Exception ex)
                {
                    trans.Rollback();
                    throw ErrorLog.LogError(ex, loggedInInternalUsername, "An error occurred while generating the messages to send to ORCID.");
                }
            }
        }
Example #11
0
 public ReturnType AddInOutAndDetails(StockInOut stockInOut, PayCharge payChage, List <StockDetail> sdList, List <StockHouseProduct> shpList, List <View_StockItemProduct> vsipList)
 {
     System.Data.Common.DbTransaction tran = null;
     using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
     {
         try
         {
             alading.Connection.Open();
             tran = alading.Connection.BeginTransaction();
             alading.AddToPayCharge(payChage);
             alading.AddToStockInOut(stockInOut);
             foreach (StockDetail sd in sdList)
             {
                 alading.AddToStockDetail(sd);
             }
             foreach (StockHouseProduct shp in shpList)
             {
                 StockHouseProduct tmpshp = alading.StockHouseProduct.FirstOrDefault(c => c.HouseProductCode == shp.HouseProductCode);
                 if (tmpshp != null)
                 {
                     tmpshp.Num = shp.Num;
                 }
                 else
                 {
                     alading.AddToStockHouseProduct(shp);
                 }
             }
             foreach (View_StockItemProduct vsip in vsipList)
             {
                 StockItem    stockItem    = alading.StockItem.FirstOrDefault(s => s.OuterID == vsip.OuterID);
                 StockProduct stockProduct = alading.StockProduct.FirstOrDefault(s => s.SkuOuterID == vsip.SkuOuterID);
                 stockItem.TotalQuantity     = Math.Round(vsip.TotalQuantity, 3);
                 stockProduct.SkuQuantity    = vsip.SkuQuantity;
                 stockProduct.LastStockPrice = vsip.LastStockPrice;
                 stockProduct.AvgStockPrice  = vsip.AvgStockPrice;
             }
             alading.SaveChanges();
             tran.Commit();
             return(ReturnType.Success);
         }
         catch (System.Exception ex)
         {
             if (tran != null)
             {
                 tran.Rollback();
             }
             return(ReturnType.SaveFailed);
         }
         finally
         {
             if (alading != null && alading.Connection.State != System.Data.ConnectionState.Closed)
             {
                 alading.Connection.Close();
             }
         }
     }
 }
Example #12
0
 public void Commit()
 {
     foreach (IDbTransactionObserver observer in _observers)
     {
         observer.BeforeCommit();
     }
     _innerTransaction.Commit();
     foreach (IDbTransactionObserver observer in _observers)
     {
         observer.AfterCommit();
     }
 }
Example #13
0
        private void importBt_Click(object sender, EventArgs e)
        {
            OpenFileDialog fdlg = new OpenFileDialog();

            fdlg.Filter = "*.XLS,*.XLSX|*.XLS;*.XLSX";
            if (fdlg.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            FileStream fs  = File.OpenRead(fdlg.FileName);
            string     ext = Path.GetExtension(fdlg.FileName);
            IWorkbook  wk  = null;

            if (ext.ToLower().Equals(".xls"))
            {
                wk = new HSSFWorkbook(fs);
            }
            else
            {
                wk = new XSSFWorkbook(fs);
            }
            fs.Close();

            persons.Clear();

            ISheet sheet = wk.GetSheetAt(0);

            System.Data.SQLite.SQLiteConnection cn    = persons.OpenTran();
            System.Data.Common.DbTransaction    trans = cn.BeginTransaction();
            for (int i = 1; i <= sheet.LastRowNum; i++)
            {
                IRow row = sheet.GetRow(i);
                if (row.GetCell(0) == null)
                {
                    break;
                }
                string name = row.GetCell(0).ToString();
                string text = "";
                if (row.GetCell(1) != null)
                {
                    text = row.GetCell(1).ToString();
                }
                persons.Add(new Person(name, text), cn);
            }
            trans.Commit();
            persons.CloseTran(cn);

            MessageBox.Show("导入完毕");

            this.personsLv.VirtualListSize = persons.Count;
            personsLv.Invalidate();
        }
Example #14
0
        public bool DeleteGeneric <T>(List <T> entity) where T : class
        {
            bool sonuc = false;

            _cntxt = new DataContext(_connStr);
            System.Data.Common.DbTransaction tran = null;

            try
            {
                if (_cntxt.Connection.State == System.Data.ConnectionState.Closed)
                {
                    _cntxt.Connection.Open();
                }

                tran = _cntxt.Connection.BeginTransaction();
                _cntxt.Transaction = tran;

                var Table = _cntxt.GetTable <T>();

                foreach (T kayit in entity)
                {
                    Table.Attach(kayit);
                    Table.DeleteOnSubmit(kayit);
                    _cntxt.SubmitChanges();
                }
                sonuc = true;

                tran.Commit();
                _cntxt.Connection.Close();
            }
            catch (Exception exp)
            {
                tran.Rollback();
                _cntxt.Connection.Close();
                try
                {
                    StackTrace stackTrace = new StackTrace();
                    MethodBase methodBase = stackTrace.GetFrame(1).GetMethod();
                    LogException(exp, "DeleteGeneric<T>(List<T> entity) in " + methodBase.ReflectedType.Name + "." + methodBase.Name, 0);
                }
                catch { }
                sonuc = false;
            }
            finally
            {
                if (_cntxt.Connection.State == System.Data.ConnectionState.Open)
                {
                    _cntxt.Connection.Close();
                }
            }
            return(sonuc);
        }
Example #15
0
        protected void registerButton_Click(object sender, EventArgs e)
        {
            if (usernameTextBox.Text.Trim().Length == 0)
            {
                registerErrorLabel.Text = "Username empty";
            }
            else
            {
                var user = from u in entities.Users
                           where u.Username == usernameTextBox.Text
                           select u;

                if (user.Count() != 0)
                {
                    registerErrorLabel.Text = "Username taken";
                }
                else
                {
                    if (passwordTextBox.Text.Trim().Length == 0)
                    {
                        registerErrorLabel.Text = "Password empty";
                    }
                    else
                    {
                        PicChatDBEntities1 transac_entities = new PicChatDBEntities1();
                        transac_entities.Connection.Open();
                        System.Data.Common.DbTransaction transaction = transac_entities.Connection.BeginTransaction();
                        try
                        {
                            User newuser = new User()
                            {
                                Username = usernameTextBox.Text,
                                Password = passwordTextBox.Text
                            };

                            transac_entities.Users.AddObject(newuser);
                            transac_entities.SaveChanges();
                        }
                        catch (Exception ex)
                        {
                            transaction.Rollback();
                            registerErrorLabel.Text = "Error creating user";
                            return;
                        }

                        transaction.Commit();
                        registerErrorLabel.Text = "Successful registration";
                    }
                }
            }
        }
Example #16
0
        public ReturnType RemoveInOutAndDetails(string inOutCode)
        {
            System.Data.Common.DbTransaction tran = null;
            using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
            {
                try
                {
                    alading.Connection.Open();
                    tran = alading.Connection.BeginTransaction();
                    List <StockInOut> list = alading.StockInOut.Where(p => p.InOutCode == inOutCode).ToList();
                    if (list.Count == 0)
                    {
                        return(ReturnType.NotExisted);
                    }

                    else
                    {
                        StockInOut sy = list.First();
                        foreach (StockDetail sd in alading.StockDetail.Where(c => c.InOutCode == inOutCode))
                        {
                            alading.DeleteObject(sd);
                        }
                        alading.DeleteObject(sy);
                        alading.SaveChanges();
                    }
                    alading.SaveChanges();
                    tran.Commit();
                    return(ReturnType.Success);
                }
                catch (SqlException sex)
                {
                    return(ReturnType.ConnFailed);
                }
                catch (System.Exception ex)
                {
                    if (tran != null)
                    {
                        tran.Rollback();
                    }
                    return(ReturnType.SaveFailed);
                }
                finally
                {
                    if (alading != null && alading.Connection.State != System.Data.ConnectionState.Closed)
                    {
                        alading.Connection.Close();
                    }
                }
            }
        }
Example #17
0
        public ActionResult SaveSrvCycle(int SrvTypeID, int SrvNo, string SrvCycleDt)
        {
            ERPDataContext oTran = new ERPDataContext();

            oTran.Connection.Open();
            System.Data.Common.DbTransaction transaction = oTran.Connection.BeginTransaction();
            string Message = "Successfully Saved ...";

            try
            {
                string[] Row = SrvCycleDt.Split('^');

                tblSrvCycleMst oSrvM;
                tblSrvCycleItd oSrvI;
                commFunction   oCom = new commFunction();

                oSrvM           = new tblSrvCycleMst();
                oSrvM.SrvNo     = SrvNo;
                oSrvM.SrvTypeID = SrvTypeID;
                db.tblSrvCycleMsts.InsertOnSubmit(oSrvM);
                db.SubmitChanges();

                foreach (string itm in Row)
                {
                    if (itm.ToString() != "")
                    {
                        oSrvI         = new tblSrvCycleItd();
                        oSrvI.SrvNo   = SrvNo;
                        oSrvI.ItdCode = oSrvM.MstCode;
                        oSrvI.SrvDate = Convert.ToDateTime(itm);
                        db.tblSrvCycleItds.InsertOnSubmit(oSrvI);
                        db.SubmitChanges();
                    }
                }
                transaction.Commit();
            }
            catch (Exception ex)
            {
                transaction.Rollback();
                //   transaction.Connection.Close();
                Message = ex.Message;
            }
            //finally
            //{
            //  //  transaction.Connection.Close();
            //}

            return(Json(Message, JsonRequestBehavior.AllowGet));
        }
Example #18
0
        /// <summary>
        /// 用户向导部分插入四个表
        /// </summary>
        /// <param name="user"></param>
        /// <param name="list"></param>
        /// <returns></returns>
        public bool InsertUserWizard(UserInfo user, Policy policy, List <string> right, List <Dictionary <string, object> > list)
        {
            MeaningsBLL bll = new MeaningsBLL();

            using (System.Data.SQLite.SQLiteConnection conn = SQLiteHelper.SQLiteHelper.CreateConn())
            {
                if (conn.State != System.Data.ConnectionState.Open)
                {
                    conn.Open();
                }
                System.Data.Common.DbTransaction tran = conn.BeginTransaction();
                try
                {
                    /*插入userinfo*/
                    this.InsertUser(user, tran);
                    /*修改策略*/
                    processor.Update <Policy>(policy, tran);
                    /*修改权限*/
                    if (right != null)
                    {
                        Dictionary <string, List <string> > r = new Dictionary <string, List <string> >();
                        r.Add(user.UserName, right);
                        new UserRightBLL().SummitUserRight(r, tran);
                    }
                    /*修改meaning*/
                    if (list != null && list.Count > 0)
                    {
                        bll.InsertMeanRel(user.UserName, list, tran);
                    }
                    tran.Commit();
                }
                catch
                {
                    tran.Rollback();
                    conn.Close();
                    return(false);
                }
                finally
                {
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
                    }
                }
            }

            return(true);
        }
Example #19
0
        public bool DeleteGeneric <T>(List <T> entity) where T : class
        {
            bool sonuc = false;

            _cntxt = new DataContext(_connStr);
            System.Data.Common.DbTransaction tran = null;

            try
            {
                if (_cntxt.Connection.State == System.Data.ConnectionState.Closed)
                {
                    _cntxt.Connection.Open();
                }



                tran = _cntxt.Connection.BeginTransaction();
                _cntxt.Transaction = tran;

                var Table = _cntxt.GetTable <T>();

                foreach (T kayit in entity)
                {
                    Table.Attach(kayit);
                    Table.DeleteOnSubmit(kayit);
                    _cntxt.SubmitChanges();
                }
                sonuc = true;

                tran.Commit();
                _cntxt.Connection.Close();
            }
            catch (Exception exp)
            {
                tran.Rollback();
                _cntxt.Connection.Close();
                LogException(exp, "DeleteGeneric", -1);
                sonuc = false;
            }
            finally
            {
                if (_cntxt.Connection.State == System.Data.ConnectionState.Open)
                {
                    _cntxt.Connection.Close();
                }
            }
            return(sonuc);
        }
        public bool RegistrarUsuario(Usuarios model)
        {
            System.Data.Common.DbTransaction transaccion     = null;
            AdministraAccesoDatos            acceso          = null;
            List <IDataParameter>            listaParametros = null;

            try
            {
                acceso = new AdministraAccesoDatos(Configuracion.BASEDATOSLOCAL, TipoProveedor.SqlServer);

                acceso.ObtenerConexion().Open();
                transaccion = acceso.ObtenerConexion().BeginTransaction();

                listaParametros = new List <IDataParameter>();

                listaParametros.Add(new SqlParameter("@NOMBRE", model.Nombre));
                listaParametros.Add(new SqlParameter("@APELLIDO", model.Apellidos));
                listaParametros.Add(new SqlParameter("@USUARIO", model.Usuario));
                listaParametros.Add(new SqlParameter("@CONTRASENA", model.Contrasena));

                acceso.EjecutarStoredProcedureTransaccional("[dbo].[REGISTRA_USUARIO]", listaParametros.ToArray <IDataParameter>(), transaccion);

                transaccion.Commit();
                return(true);
            }
            catch (Exception ex)
            {
                if (transaccion != null)
                {
                    transaccion.Rollback();
                    transaccion.Dispose();
                }

                throw ex;
            }
            finally
            {
                if (acceso != null)
                {
                    acceso.CerrarConexion();
                }

                if (transaccion != null)
                {
                    transaccion.Dispose();
                }
            }
        }
Example #21
0
        public static void InsertList <T>(System.Data.IDbCommand cmd
                                          , System.Collections.Generic.IEnumerable <T> listToInsert
                                          , callbackAddData_t <T> addDataCallback)
        {
            using (System.Data.Common.DbConnection conn = GetConnection())
            {
                if (conn.State != System.Data.ConnectionState.Open)
                {
                    conn.Open();
                }

                cmd.Connection = conn;


                using (System.Data.Common.DbTransaction transact = conn.BeginTransaction())
                {
                    cmd.Transaction = transact;

                    try
                    {
                        foreach (T thisItem in listToInsert)
                        {
                            addDataCallback(cmd, thisItem);

                            if (cmd.ExecuteNonQuery() != 1)
                            {
                                //'handled as needed,
                                //' but this snippet will throw an exception to force a rollback
                                throw new System.InvalidProgramException();
                            }
                        } // Next thisObject
                        transact.Commit();
                    }     // End Try
                    catch (System.Exception)
                    {
                        transact.Rollback();
                        throw;
                    } // End Catch
                    finally
                    {
                        if (conn.State != System.Data.ConnectionState.Closed)
                        {
                            conn.Close();
                        }
                    } // End Finally
                }     // End Using transact
            }         // End Using conn
        }             // End Sub
Example #22
0
        protected override int ExecuteInsert(IDictionary values)
        {
            Gateway gateway = owner.Gateway;
            Type    type    = Util.GetType(this.owner.TypeName);
            object  entity  = Activator.CreateInstance(type);

            foreach (string key in values.Keys)
            {
                PropertyInfo property = Util.DeepGetProperty(type, key);
                if (property.CanWrite)
                {
                    property.SetValue(entity, ChangeType(values[key], property.PropertyType), null);
                }
            }

            NBearDataSourceEventArgs savingArgs = new NBearDataSourceEventArgs(entity);

            owner.OnSaving(savingArgs);
            entity = savingArgs.Entity;

            if (entity == null)
            {
                return(0);
            }

            System.Data.Common.DbTransaction tran = null;
            try
            {
                tran = gateway.BeginTransaction();
                MethodInfo miSave = GetGatewayMethodInfo("Int32 Save[EntityType](EntityType, System.Data.Common.DbTransaction)");
                miSave.MakeGenericMethod(type).Invoke(gateway, new object[] { entity, tran });
                tran.Commit();
            }
            catch
            {
                tran.Rollback();
                throw;
            }
            finally
            {
                gateway.CloseTransaction(tran);
            }
            owner.OnSaved(new NBearDataSourceEventArgs(entity));

            this.OnDataSourceViewChanged(EventArgs.Empty);
            return(1);
        }
Example #23
0
        public override void Excluir(object obj, out string mensagem, string strConexao)
        {
            using (var conn = ObterConexao(strConexao))
            {
                System.Data.Common.DbTransaction transaction = null;
                try
                {
                    conn.Open();
                    transaction = conn.BeginTransaction();

                    if (conn.RecordCount <Telefone>(new { IdFornecedor = obj }) > 0)
                    {
                        conn.DeleteList <Telefone>(new { IdFornecedor = obj });
                    }

                    if (conn.RecordCount <FornecedorPessoaFisica>(new { IdFornecedor = obj }) > 0)
                    {
                        conn.Delete <FornecedorPessoaFisica>(obj);
                    }

                    if (conn.RecordCount <FornecedorPessoaFisica>(new { IdFornecedor = obj }) > 0)
                    {
                        conn.Delete <FornecedorPessoaJuridica>(obj);
                    }

                    int id = conn.Delete <Fornecedor>(obj);
                    if (id == 0)
                    {
                        throw new Exception("Erro ao excluir os dados. Entre em contato com o administrador.");
                    }
                    mensagem = null;
                    transaction.Commit();
                }
                catch (Exception ex)
                {
                    if (transaction != null)
                    {
                        transaction.Rollback();
                    }
                    mensagem = ex.Message;
                }
                finally
                {
                    conn.Close();
                }
            }
        }
Example #24
0
        /// <summary>
        /// 用户向导部分插入四个表
        /// </summary>
        /// <param name="user"></param>
        /// <param name="list"></param>
        /// <returns></returns>
        public bool InsertUserWizard(UserInfo user, List <Dictionary <string, object> > list)
        {
            MeaningsBLL bll = new MeaningsBLL();

            using (System.Data.SQLite.SQLiteConnection conn = SQLiteHelper.SQLiteHelper.CreateConn())
            {
                if (conn.State != System.Data.ConnectionState.Open)
                {
                    conn.Open();
                }
                System.Data.Common.DbTransaction tran = conn.BeginTransaction();
                try
                {
                    /*插入userinfo*/
                    this.InsertUser(user, tran);
                    //先获取当前meaning及relation的最大id
                    int mId = bll.GetMeaningPKValue();
                    int rId = bll.GetRelationPKValue();
                    Dictionary <string, object> rDic, mDic;
                    foreach (Dictionary <string, object> dic in list)
                    {
                        rDic = new Dictionary <string, object>(dic);
                        mDic = new Dictionary <string, object>(dic);
                        mDic.Add("ID", ++mId);
                        rDic.Add("ID", ++rId);
                        bll.InsertOrUpdateMeaning(mDic, tran);
                        bll.InsertMeanRel(user.UserName, rDic, tran);
                    }
                    tran.Commit();
                }
                catch
                {
                    tran.Rollback();
                    conn.Close();
                    return(false);
                }
                finally
                {
                    if (conn.State == ConnectionState.Open)
                    {
                        conn.Close();
                    }
                }
            }

            return(true);
        }
        public bool EliminarUsuario(int IdUsuario)
        {
            System.Data.Common.DbTransaction transaccion     = null;
            AdministraAccesoDatos            acceso          = null;
            List <IDataParameter>            listaParametros = null;

            try
            {
                acceso = new AdministraAccesoDatos(Configuracion.BASEDATOSLOCAL, TipoProveedor.SqlServer);

                acceso.ObtenerConexion().Open();
                transaccion = acceso.ObtenerConexion().BeginTransaction();

                listaParametros = new List <IDataParameter>();

                listaParametros.Add(new SqlParameter("@IDUSUARIO", IdUsuario));

                acceso.EjecutarStoredProcedureTransaccional("[dbo].[ELIMINA_USUARIO]", listaParametros.ToArray <IDataParameter>(), transaccion);

                transaccion.Commit();
                return(true);
            }
            catch (Exception ex)
            {
                if (transaccion != null)
                {
                    transaccion.Rollback();
                    transaccion.Dispose();
                }

                throw ex;
            }
            finally
            {
                if (acceso != null)
                {
                    acceso.CerrarConexion();
                }

                if (transaccion != null)
                {
                    transaccion.Dispose();
                }
            }
        }
Example #26
0
 public void CommitPalavras()
 {
     this.RemoveAllData <PALAVRAS>();
     System.Data.Common.DbTransaction transaction = this.DbBase.BeginTransaction();
     try
     {
         foreach (var item in Palavras)
         {
             this.Save(item, transaction);
         }
         transaction.Commit();
     }
     catch { transaction.Rollback(); }
     finally
     {
         DbBase.Close();
     }
 }
        public ActionResult SubmitGoodsBaseForm(GoodsBaseUpdateModel entity)
        {
            Guid    guid;
            int     categoryID;
            decimal retailPrice;

            if (string.IsNullOrWhiteSpace(entity.BarID) || !Guid.TryParse(entity.GoodsBaseGuid, out guid) || !int.TryParse(entity.CategoryID, out categoryID) || !decimal.TryParse(entity.RetailPrice, out retailPrice))
            {
                return(Error("参数不能为空"));
            }
            var goodsBaseQuery = SysBLL.Instance.GetALL <GoodsBaseEntity>();

            if (goodsBaseQuery.Any(s => s.BarID == entity.BarID && s.ID != guid))
            {
                return(Error("条码已存在!"));
            }
            var query = SysBLL.Instance.GetALL <CategoryEntity>().FirstOrDefault(item => item.ID == categoryID);

            if (query == null)
            {
                return(Error("不存在的商品分类!"));
            }

            using (System.Data.Common.DbTransaction trans = utity.Transation)
            {
                var res = GoodsBLL.instance.UpdateGoodsBase(new GoodsBaseUpdateEntity
                {
                    GoodsBaseGuid = guid,
                    BarID         = entity.BarID,
                    CategoryID    = categoryID,
                    Category      = query.Category,
                    RetailPrice   = retailPrice
                }, trans);
                if (res > 0)
                {
                    trans.Commit();
                }
                else
                {
                    trans.Rollback();
                }
                return(res > 0 ? Success("更新成功!") : Error("更新失败!"));
            }
        }
 public ReturnType InitInput(StockItem stockItem, List <StockProduct> stockProductList, List <StockDetail> stockDetailList, List <StockHouseProduct> houseProductList)
 {
     System.Data.Common.DbTransaction tran = null;
     using (AladingEntities alading = new AladingEntities(AppSettings.GetConnectionString()))
     {
         try
         {
             alading.Connection.Open();
             tran = alading.Connection.BeginTransaction();
             alading.AddToStockItem(stockItem);
             foreach (StockProduct sp in stockProductList)
             {
                 alading.AddToStockProduct(sp);
             }
             foreach (StockDetail sd in stockDetailList)
             {
                 alading.AddToStockDetail(sd);
             }
             foreach (StockHouseProduct sh in houseProductList)
             {
                 alading.AddToStockHouseProduct(sh);
             }
             alading.SaveChanges();
             tran.Commit();
             return(ReturnType.Success);
         }
         catch (System.Exception ex)
         {
             if (tran != null)
             {
                 tran.Rollback();
             }
             return(ReturnType.SaveFailed);
         }
         finally
         {
             if (alading != null && alading.Connection.State != System.Data.ConnectionState.Closed)
             {
                 alading.Connection.Close();
             }
         }
     }
 }
Example #29
0
        public bool UpdateGeneric <T>(T entity) where T : class
        {
            bool sonuc = false;

            _cntxt = new DataContext(_connStr);
            System.Data.Common.DbTransaction tran = null;

            try
            {
                if (_cntxt.Connection.State == System.Data.ConnectionState.Closed)
                {
                    _cntxt.Connection.Open();
                }


                tran = _cntxt.Connection.BeginTransaction();
                _cntxt.Transaction = tran;

                var Table = _cntxt.GetTable <T>();
                Table.Attach(entity);
                _cntxt.Refresh(RefreshMode.KeepCurrentValues, entity);
                _cntxt.SubmitChanges();
                sonuc = true;

                tran.Commit();
                _cntxt.Connection.Close();
            }
            catch (Exception exp)
            {
                tran.Rollback();
                _cntxt.Connection.Close();
                LogException(exp, "UpdateGeneric", -1);
                sonuc = false;
            }
            finally
            {
                if (_cntxt.Connection.State == System.Data.ConnectionState.Open)
                {
                    _cntxt.Connection.Close();
                }
            }
            return(sonuc);
        }
Example #30
0
        private void BtnStart_Click(object sender, EventArgs e)
        {
            try
            {
                if (!checke1 || !checke2)
                {
                    MessageBox.Show("请先检查出差方案,请重试");
                    return;
                }
                  var dr = MessageBox.Show("确认开始吗?请提前备份好数据再开始", "确认", MessageBoxButtons.YesNo);
                  if (dr == DialogResult.Yes)
                  {
                      if (dal.Connection.State == System.Data.ConnectionState.Closed)
                      {
                          dal.Connection.Open();
                      }
                      tran = dal.Connection.BeginTransaction();
                      string strSourceSolutionId = labelFromSolutionId.Text;
                      string strToSolutionId = labelToSolutionID.Text;

                      var areaAll = (from ent in dal.T_OA_AREADIFFERENCE.Include("T_OA_TRAVELSOLUTIONS")
                                     where ent.T_OA_TRAVELSOLUTIONS.TRAVELSOLUTIONSID == strSourceSolutionId//神州通集团出差方案
                                     select ent).ToList();
                      var solutionitem = (from ent in dal.T_OA_TRAVELSOLUTIONS
                                          where ent.TRAVELSOLUTIONSID == strToSolutionId
                                          select ent).FirstOrDefault();
                      //复制城市分类
                      foreach (var area in areaAll)
                      {
                          StarCopy(solutionitem, area, strSourceSolutionId);
                      }

                      dal.SaveChanges();
                      tran.Commit();
                  }
            }
            catch (Exception ex)
            {
                tran.Rollback();
                MessageBox.Show(ex.ToString());

            }
        }
Example #31
0
        private void BtnStart_Click(object sender, EventArgs e)
        {
            try
            {
                if (!checke1 || !checke2)
                {
                    MessageBox.Show("请先检查出差方案,请重试");
                    return;
                }
                var dr = MessageBox.Show("确认开始吗?请提前备份好数据再开始", "确认", MessageBoxButtons.YesNo);
                if (dr == DialogResult.Yes)
                {
                    if (dal.Connection.State == System.Data.ConnectionState.Closed)
                    {
                        dal.Connection.Open();
                    }
                    tran = dal.Connection.BeginTransaction();
                    string strSourceSolutionId = labelFromSolutionId.Text;
                    string strToSolutionId     = labelToSolutionID.Text;

                    var areaAll = (from ent in dal.T_OA_AREADIFFERENCE.Include("T_OA_TRAVELSOLUTIONS")
                                   where ent.T_OA_TRAVELSOLUTIONS.TRAVELSOLUTIONSID == strSourceSolutionId  //神州通集团出差方案
                                   select ent).ToList();
                    var solutionitem = (from ent in dal.T_OA_TRAVELSOLUTIONS
                                        where ent.TRAVELSOLUTIONSID == strToSolutionId
                                        select ent).FirstOrDefault();
                    //复制城市分类
                    foreach (var area in areaAll)
                    {
                        StarCopy(solutionitem, area, strSourceSolutionId);
                    }

                    dal.SaveChanges();
                    tran.Commit();
                }
            }
            catch (Exception ex)
            {
                tran.Rollback();
                MessageBox.Show(ex.ToString());
            }
        }