Ejemplo n.º 1
0
        public ActionResult Add(Base_Goods model)
        {
            model.RowState = 1;
            model.Updater  = model.Creater = CurrentUser.Name;

            var query = QueryCondition.Instance;

            query.AddEqual("GoodNo", model.GoodNo);
            query.AddEqual("ShipTo", model.ShipTo);
            query.AddEqual("RowState", "1");
            if (model.Id > 0)
            {
                query.AddNotEqual("Id", model.Id.ToString());
            }
            if (Smart.Instance.Base_GoodsBizService.GetAllDomain(query).Count > 0)
            {
                ViewBag.Error = string.Format("已经存在相同的发运地编号:{1},产品编号:{0},请重新填写", model.GoodNo, model.ShipTo);
                return(View(model));
            }
            if (model.Id == 0)
            {
                Smart.Instance.Base_GoodsBizService.Add(model);
                ViewBag.Error = "1";
                return(RedirectToAction("Add", "Goods", new { Error = 1 }));
            }
            ViewBag.Error = "1";
            Smart.Instance.Base_GoodsBizService.Update(model);
            return(RedirectToAction("Index", "Goods"));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 新增
        /// </summary>
        /// <param name="Id"></param>
        /// <param name="Error"></param>
        /// <returns></returns>
        public ActionResult Add(int?Id, string Error)
        {
            ViewBag.Error = Error;
            var model = new Base_Goods();

            if (Id.HasValue)
            {
                var query = QueryCondition.Instance.AddEqual("Id", Id.Value.ToString());
                model = Smart.Instance.Base_GoodsBizService.GetAllDomain(query).FirstOrDefault();
            }
            AddOrUpdateBaseInfo(model);
            return(View(model));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 重载 解析Excel
        /// </summary>
        /// <param name="fileAddress"></param>
        /// <returns></returns>
        public override string LoadExcel(string fileAddress)
        {
            int    rowIndex = 2;
            string error    = "success";

            try
            {
                var    goodsBizSer = Smart.Instance.Base_GoodsBizService;
                string strConn;
                strConn = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + fileAddress + "; Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1'";
                OleDbConnection conn = new OleDbConnection(strConn);
                conn.Open();
                DataTable sheetNames = conn.GetOleDbSchemaTable
                                           (OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });

                foreach (DataRow rowTable in sheetNames.Rows)
                {
                    string sheetName = rowTable["TABLE_NAME"].ToString();
                    using (conn = new OleDbConnection(strConn))
                    {
                        conn.Open();
                        OleDbCommand objCommand = new OleDbCommand(string.Format("select * from [" + sheetName + "]"), conn);

                        using (OleDbDataReader dataReader = objCommand.ExecuteReader())
                        {
                            while (dataReader.Read())
                            {
                                if (dataReader.FieldCount != 8)
                                {
                                    error = "解析错误,Excel 列头必须是8列,请下载模板 进行对比!";
                                    break;
                                }
                                var model = new Base_Goods();
                                model.ShipTo       = dataReader[0].ToString();
                                model.ShipToName   = dataReader[1].ToString();
                                model.GoodNo       = dataReader[2].ToString();
                                model.GoodName     = dataReader[3].ToString();
                                model.PML          = dataReader[4].ToString();
                                model.ShipPkgQty   = dataReader[5].ToString();
                                model.UM           = dataReader[6].ToString();
                                model.StandardDays = Convert.ToDecimal(dataReader[7]);
                                model.Updater      = model.Creater = CurrentUser.Name;
                                model.RowState     = 1;
                                var query = QueryCondition.Instance;
                                query.AddEqual("GoodNo", model.GoodNo);
                                query.AddEqual("ShipTo", model.ShipTo);
                                query.AddEqual("RowState", "1");
                                var id = goodsBizSer.GetId(query);
                                if (id > 0)
                                {
                                    model.Id = id;
                                    goodsBizSer.Update(model);
                                }
                                else
                                {
                                    goodsBizSer.Add(model);
                                }

                                rowIndex++;
                            }
                        }
                        conn.Close();
                    }

                    break;
                }
            }
            catch (Exception ex)
            {
                error = "Excel解析错误,成功" + (rowIndex - 1) + "条,错误行号:" + rowIndex + ",请检查 数据格式。";
                LogHelper.WriteLog("商品导入错误", ex);
            }
            return(error);
        }