public async Task <SaveCustomerResponse> UpdateAsync(long id, SaveCustomerRequest request)
        {
            var existing = await repository.GetAsync(id);

            if (existing == null)
            {
                throw new NotFoundException();
            }

            if (existing.IsDeleted)
            {
                throw new GoneException();
            }

            Entities.Customer customer = new Entities.Customer
            {
                Id            = id,
                Name          = request.Name,
                SourceId      = request.SourceId,
                IndustryCodes = request.IndustryCodes,
                UpdatedBy     = await identityResolver.GetUserNameAsync(),
                Updated       = DateTime.UtcNow,
                Created       = existing.Created,
                CreatedBy     = existing.CreatedBy
            };

            var resultId = await repository.UpdateAsync(customer);

            return(new SaveCustomerResponse
            {
                Id = resultId
            });
        }
Пример #2
0
        public async Task <SaveCustomerResponse> AddAsync(SaveCustomerRequest request)
        {
            Entities.Customer customer = new Entities.Customer
            {
                Name          = request.Name,
                SourceId      = request.SourceId,
                IndustryCodes = request.IndustryCodes,
                CreatedBy     = await identityResolver.GetUserNameAsync(),
                Created       = DateTime.UtcNow
            };
            customer.Updated   = customer.Created;
            customer.UpdatedBy = customer.CreatedBy;

            var id = await repository.AddAsync(customer);

            return(new SaveCustomerResponse
            {
                Id = id
            });
        }