public async Task <Result> Put(int id, [FromBody] WarehouseCreateParam model) { var currentUser = await _workContext.GetCurrentUserAsync(); var warehouse = await _warehouseRepository.Query() .Include(x => x.Address) .FirstOrDefaultAsync(x => x.Id == id); if (warehouse == null) { throw new Exception("仓库不存在"); } //验证所选择省市区是否属于国家 var province = await _provinceRepository.FirstOrDefaultAsync(model.StateOrProvinceId); if (province == null) { throw new Exception("省市区不存在"); } if (province.CountryId != model.CountryId) { throw new Exception("所选择省市区不属于当前选择的国家"); } warehouse.Name = model.Name; warehouse.AdminRemark = model.AdminRemark; warehouse.UpdatedOn = DateTime.Now; if (warehouse.Address == null) { warehouse.Address = new Address(); _addressRepository.Add(warehouse.Address); } warehouse.Address.ContactName = model.ContactName; warehouse.Address.Phone = model.Phone; warehouse.Address.ZipCode = model.ZipCode; warehouse.Address.StateOrProvinceId = model.StateOrProvinceId; warehouse.Address.CountryId = model.CountryId; warehouse.Address.City = model.City; warehouse.Address.AddressLine1 = model.AddressLine1; warehouse.Address.AddressLine2 = model.AddressLine2; warehouse.Address.UpdatedOn = DateTime.Now; await _warehouseRepository.SaveChangesAsync(); return(Result.Ok()); }
public async Task <Result> Post([FromBody] WarehouseCreateParam model) { var currentUser = await _workContext.GetCurrentUserAsync(); //验证所选择省市区是否属于国家 var province = await _provinceRepository.FirstOrDefaultAsync(model.StateOrProvinceId); if (province == null) { throw new Exception("省市区不存在"); } if (province.CountryId != model.CountryId) { throw new Exception("所选择省市区不属于当前选择的国家"); } var address = new Address { ContactName = model.ContactName, AddressLine1 = model.AddressLine1, AddressLine2 = model.AddressLine2, Phone = model.Phone, StateOrProvinceId = model.StateOrProvinceId, CountryId = model.CountryId, City = model.City, ZipCode = model.ZipCode }; var warehouse = new Warehouse { Name = model.Name, Address = address, AdminRemark = model.AdminRemark }; _warehouseRepository.Add(warehouse); await _warehouseRepository.SaveChangesAsync(); return(Result.Ok()); }