Example #1
0
        public IActionResult UpdateWareHouseArea(int id, string areaName, string areaCode, List <WareHouseAreaModel> ranksArrs)
        {
            try
            {
                var wareHouseArea = _wareHouseService.GetWareHouseAreaById(id);
                if (wareHouseArea == null)
                {
                    return(Error("数据错误,仓库区域未找到!"));
                }
                var model = _wareHouseService.GetWareHouseAreaByName(areaName);
                if (model != null && model.Id != wareHouseArea.Id)
                {
                    return(Error("已存在想同名称的区域"));
                }

                wareHouseArea.AreaCode = areaCode;
                wareHouseArea.AreaName = areaName;
                wareHouseArea.WhId     = ranksArrs.Count() > 0 ? ranksArrs.OrderByDescending(r => r.Rank).FirstOrDefault().WareHouseId : 0;
                _wareHouseService.UpdateWareHouseArea(wareHouseArea);

                foreach (var item in ranksArrs)
                {
                    if (item.Id == 0)
                    {
                        var warehouseAreaRank = new WareHouseAreaRanks()
                        {
                            WhAId = wareHouseArea.Id,
                            WhId  = item.WareHouseId,
                            Rank  = 0
                        };
                        _wareHouseService.AddWareHouseAreaRanks(warehouseAreaRank);
                    }
                    else
                    {
                        var rank = _wareHouseService.GetWHARanksById(item.Id);

                        rank.Rank = item.Rank;

                        _wareHouseService.UpdateWareHouseAreaRanks(rank);
                    }
                }

                return(Success());
            }
            catch (Exception ex)
            {
                return(Error(ex.Message));
            }
        }