Пример #1
0
        public ActionResult ImportPosExcel(HttpPostedFileBase posExcel)
        {
            ViewBag.Method  = "post";
            ViewBag.Success = true;
            int countPos       = 0;
            int countPosUpdate = 0;

            if (posExcel != null)
            {
                DataTable dt = null;
                if (posExcel.FileName.ToLower().EndsWith(".xlsx"))
                {
                    dt = NPOIHelper.ExcelToTableForXLSX(posExcel.InputStream, "序号");
                }
                else
                {
                    dt = NPOIHelper.ExcelToTableForXLS(posExcel.InputStream, "序号", string.Empty);
                }
                var columns = dt.Columns;

                DateRule rule  = DateRuleList.DateRules.Where(d => d.Months.Where(m => m == DateTime.Now.Month).Count() > 0).First();
                int      month = rule.ApplyMonth;
                int      year  = DateTime.Now.Year;
                try
                {
                    for (int i = 0; i <= dt.Rows.Count - 1; i++)
                    {
                        Pos pos = new Pos();
                        pos.CreateDate     = DateTime.Now;
                        pos.VendorName     = dt.Rows[i]["商户名称"].ToString();
                        pos.VendorNO       = dt.Rows[i]["商户号"].ToString();
                        pos.TerminalNO     = dt.Rows[i]["终端号"].ToString();
                        pos.InstallAddress = dt.Rows[i]["装机地址"].ToString();
                        pos.DeductRate     = dt.Rows[i]["扣率"].ToString();
                        pos.BankNO         = dt.Rows[i]["银行卡号"].ToString();
                        Pos oldPos;
                        int exits = _posService.ExistPos(pos, out oldPos, false);
                        if (exits == 1)//已存在的POS
                        {
                            countPosUpdate++;
                            oldPos.CreateDate     = DateTime.Now;
                            oldPos.VendorName     = pos.VendorName;
                            oldPos.InstallAddress = pos.InstallAddress;
                            oldPos.DeductRate     = pos.DeductRate;
                            _posService.Update(oldPos);
                        }
                        else
                        {
                            countPos++;
                            _posService.Insert(pos);
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw new OceanException("导入失败,具体原因,请查看日志!", ex);
                }
                ViewBag.countPos       = countPos;
                ViewBag.countPosUpdate = countPosUpdate;
            }
            else
            {
                ViewBag.Success = false;
                ViewBag.Message = "请选择导入文件";
            }
            return(View());
        }