Exemple #1
0
        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());
        }
Exemple #2
0
        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());
        }