private static Tuple <List <BaoYangPackagePromotionDetail>, string, string, byte[]> ConvertExcelToList(HttpFileCollectionBase files)
        {
            var message = string.Empty;
            var result  = null as List <BaoYangPackagePromotionDetail>;

            byte[] outBuffer = null;
            if (files.Count <= 0)
            {
                return(Tuple.Create(result, "请先上传文件", string.Empty, new byte[0]));
            }

            var file = files[0];

            if (file.ContentType != "application/vnd.ms-excel" &&
                file.ContentType != "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
            {
                return(Tuple.Create(result, "请上传Excel文件", string.Empty, new byte[0]));
            }

            var stream = file.InputStream;
            var buffer = new byte[stream.Length];

            stream.Read(buffer, 0, buffer.Length);
            outBuffer = buffer;
            var sha1Value = GetSha1Value(buffer);
            var manager   = new VipBaoYangPackageManager();

            if (manager.IsUploaded(sha1Value))
            {
                return(Tuple.Create(result, "文件已经上传过,请不要重复上传", string.Empty, new byte[0]));
            }

            var workBook = new XSSFWorkbook(new MemoryStream(buffer));
            var sheet    = workBook.GetSheetAt(0);
            var temp     = ConvertExcelToList(sheet);

            result  = temp.Item1;
            message = temp.Item2;
            if (!string.IsNullOrEmpty(message))
            {
                return(Tuple.Create(result, message, string.Empty, new byte[0]));
            }
            if (!result.Any())
            {
                return(Tuple.Create(result, "Excel内容为空", sha1Value, new byte[0]));
            }
            var repetitionNumber = result.GroupBy(x => x.MobileNumber)
                                   .Where(x => x.Count() > 1)
                                   .Select(x => x.Key).ToList();

            if (repetitionNumber.Any())
            {
                message = $"{string.Join(",", repetitionNumber)}以上手机号重复, 请确认";
            }

            return(Tuple.Create(result, message, sha1Value, outBuffer));
        }