コード例 #1
0
ファイル: BRPersonnel.cs プロジェクト: jackjet870/IM-2
        /// <summary>
        /// Elimina Personnels de la BD
        /// </summary>
        /// <param name="lstPersonnels"></param>
        /// <returns>0. No se pudo eliminar | >0. Se eliminarion correctamente</returns>
        /// <history>
        /// [emoguel] created 14/06/2016
        /// </history>
        public static async Task <int> DeletePersonnels(List <PersonnelShort> lstPersonnels)
        {
            int nRes = await Task.Run(() =>
            {
                using (var dbContext = new IMEntities(ConnectionHelper.ConnectionString()))
                {
                    using (var transacction = dbContext.Database.BeginTransaction(System.Data.IsolationLevel.Serializable))
                    {
                        try
                        {
                            dbContext.Database.CommandTimeout = Settings.Default.USP_OR_DeletePersonnel;
                            lstPersonnels.ForEach(pe =>
                            {
                                dbContext.USP_OR_DeletePersonnel(pe.peID);
                            });

                            int nSave = dbContext.SaveChanges();
                            transacction.Commit();
                            return(1);
                        }
                        catch
                        {
                            transacction.Rollback();
                            throw;
                        }
                    }
                }
            });

            return(nRes);
        }