Ejemplo n.º 1
0
        public async Task <IActionResult> Get(long id)
        {
            var customerType = await _customerTypeRepo.GetAsync(id);

            if (customerType == null)
            {
                return(NotFound(Resources.Customers.CustomerResource.CustomerTypeNotFound));
            }
            var viewModel = AutoMapper.Mapper.Map <CustomerTypeViewModel>(customerType);

            return(Ok(viewModel));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Post([FromBody] AddCustomerViewModel model)
        {
            if (model == null)
            {
                return(BadRequest());
            }

            var customerType = await _customerTypeRepo.GetAsync(model.CustomerTypeId);

            if (customerType == null)
            {
                return(NotFound(Resources.Customers.CustomerResource.CustomerTypeNotFound));
            }

            if (await _customerRepo.IsExistNameAsync(model.Name))
            {
                ModelState.AddModelError("Name", Resources.Global.Common.ThisNameExist);
                return(BadRequest(ModelState.GetWithErrorsKey()));
            }

            var customer = new Customer(model.Name, customerType.Id, model.Note);

            var affectedRows = await _customerRepo.AddAsync(customer);

            if (affectedRows > 0)
            {
                _customerRepo.LoadReferences(customer);

                var viewModel = AutoMapper.Mapper.Map <CustomerViewModel>(customer);

                return(CreatedAtRoute("GetCustomer", new { id = customer.Number }, viewModel));
            }
            return(BadRequest());
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        private async Task Update(CreateOrEditCustomerTypeCommand input)
        {
            var model = await _customerTypeRepository.GetAsync(input.Id.Value);

            _mapper.Map(input, model);
            await _customerTypeRepository.UpdateAsync(model);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 删除客户分类
        /// </summary>
        /// <param name="request"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public async Task <bool> Handle(DeleteCustomerTypeCommand request, CancellationToken cancellationToken)
        {
            var entity = await _customerTypeRepository.GetAsync(request.Id);

            entity.VerifyUsed();
            await _customerTypeRepository.UnitOfWork.SaveEntitiesAsync();

            return(await _customerTypeRepository.DeleteAsync(request.Id));
        }