Exemplo n.º 1
0
        public static bool JoinWhiteList(IEnumerable <string> pids, ILog logger)
        {
            int result = -99;

            using (var dbhelper = DbHelper.CreateLogDbHelper())
            {
                dbhelper.BeginTransaction();
                //已存在
                var exsitPids = DalTireStockoutStatusWhile.SelectExsitWhiteList(dbhelper, pids);
                if (exsitPids.Any())
                {
                    //删
                    result = DalTireStockoutStatusWhile.DeleteExsit(dbhelper, exsitPids);
                    if (result <= 0)
                    {
                        dbhelper.Rollback();
                        return(false);
                    }
                }

                //加入
                result = DalTireStockoutStatusWhile.JoinWhiteList(dbhelper, pids);
                if (result <= 0)
                {
                    dbhelper.Rollback();
                    return(false);
                }
                dbhelper.Commit();

                // 发送邮件
                var data = pids.Except(exsitPids).ToList();
                SendEmail(data, logger);

                foreach (var item in exsitPids)
                {
                    AddOprLog(item, true);
                }

                foreach (var item in pids)
                {
                    AddOprLog(item, false);
                }
                return(true);
            }
        }