Esempio n. 1
0
        public ActionResult <object> ImportProduct()
        {
            var filePath = Utils.FileSave(HttpContext, "xlsx");

            if (filePath.IsNullOrWhiteSpace())
            {
                return(false.ResponseDataError("上传文件失败,格式不对或超过限制文件大小"));
            }
            var       errorMsgList = new List <string>();
            DataTable table;

            try
            {
                table = NpoiExcelHelper.ExcelToTable(filePath);
            }
            catch (Exception ex)
            {
                return(false.ResponseDataError($"数据转换失败,错误信息:{ex.Message}"));
            }
            var importData = new List <CrmProductScrewEntity>();

            if (table.Rows.Count > 0)
            {
                var importDataTemp = NpoiExcelHelper.GetEntityFromDataTable <CrmProductScrewView>(table);
                var dictList       = _cache.GetOrCreate("dictcontroller_getcrmdiclist", (entry) => _repositoryDict.GetDicList()); //类别id,缓存key和字典那边一样

                var index = 1;
                foreach (var item in importDataTemp)
                {
                    index++;
                    if (dictList.FirstOrDefault(t => t.DictKey == item.ProductType && t.DictType == (int)CrmDictTypeEnum.产品类型) == null ||
                        dictList.FirstOrDefault(t => t.PDictKey == item.ProductType && t.DictKey == item.ProductNameType && t.DictType == (int)CrmDictTypeEnum.产品名称) == null ||
                        dictList.FirstOrDefault(t => t.DictKey == item.Material && t.DictType == (int)CrmDictTypeEnum.产品材质) == null ||
                        dictList.FirstOrDefault(t => t.DictKey == item.Exterior && t.DictType == (int)CrmDictTypeEnum.产品外观) == null ||
                        item.Specification.IsNullOrWhiteSpace() ||
                        item.PackageWeight == 0 ||
                        item.ProposedPrice == 0 ||
                        item.RetailPrice == 0 ||
                        item.PurchasePrice == 0 ||
                        item.CostPrice == 0
                        )
                    {
                        errorMsgList.Add($"{index}行格式错误");
                        continue;   //跳出循环
                    }
                    var model = new CrmProductScrewEntity().CopyFrom(item);
                    model.ModifyTime = DateTime.Now;
                    model.Status     = 1;
                    importData.Add(model);
                }
            }
            var isok = _repository.AddBatchProductScrew(importData);
            var msg  = !isok ? "存入数据时失败" : errorMsgList.Count == 0 ? "全部导入成功" : "【部分失败】" + string.Join("|", errorMsgList);

            return(isok.ResponseSuccessFailure(msg));
        }
Esempio n. 2
0
        /// <summary>
        /// 修改商品
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool ModifyProductScrew(CrmProductScrewEntity model)
        {
            model.ModifyTime = DateTime.Now;
            var isOk = _service.Update(model);

            if (isOk)
            {
                //添加历史
                _service.InsertAsync(new CrmProductScrewHistoryEntity().CopyFrom(model));
            }
            return(isOk);
        }
Esempio n. 3
0
        /// <summary>
        /// 添加商品
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool AddProductScrew(CrmProductScrewEntity model)
        {
            model.ModifyTime = DateTime.Now;
            var id = _service.InsertReturnId(model);

            if (id > 0)
            {
                //添加历史
                model.ProductId = id;
                _service.InsertAsync(new CrmProductScrewHistoryEntity().CopyFrom(model));
            }
            return(id > 0);
        }
Esempio n. 4
0
 public ActionResult <object> ModifyProduct([FromForm] CrmProductScrewEntity model)
 {
     return(_repository.ModifyProductScrew(model).ResponseSuccessFailure());
 }