Beispiel #1
0
        public async Task <Result> Create([FromBody] CustomerAddressCreateRequest request)
        {
            var address = new AdminAddress
            {
                AreaCode     = request.AreaCode,
                CityCode     = request.CityCode,
                Createat     = DateTime.Now,
                DetailInfo   = request.DetailInfo,
                IsDefault    = request.IsDefault,
                PostalCode   = request.PostalCode,
                ProvinceCode = request.ProvinceCode,
                TelNumber    = request.TelNumber,
                UserName     = request.UserName
            };

            if (request.IsDefault)
            {
                var defaultAddress = await _addressRepository.Query().FirstOrDefaultAsync(e => e.IsDefault);

                if (defaultAddress != null)
                {
                    defaultAddress.IsDefault = false;

                    await _addressRepository.UpdateProperyAsync(defaultAddress, nameof(defaultAddress.IsDefault));
                }
            }

            await _addressRepository.InsertAsync(address);

            return(Result.Ok());
        }
        public async Task <Result> Create([FromBody] CustomerAddressCreateRequest request)
        {
            var userId      = HttpContext.GetUserId();
            var userAddress = new CustomerAddress(userId, request.IsDefault, request.PostalCode, request.ProvinceCode, request.CityCode, request.AreaCode, request.DetailInfo, request.TelNumber, request.UserName);

            var defaultAddress = await _customerAddressRepository.Query().FirstOrDefaultAsync(e => e.CustomerId == userId && e.IsDefault);

            if (defaultAddress != null)
            {
                defaultAddress.IsDefault = false;

                await _customerAddressRepository.UpdateAsync(defaultAddress);
            }

            await _customerAddressRepository.InsertAsync(userAddress, false);

            return(Result.Ok());
        }