public async Task <IResult> Handle(RegisterSellerCommand request, CancellationToken cancellationToken)
        {
            HashService.CreatePasswordHash(request.Password, out byte[] passwordHash, out byte[] passwordSalt);
            var seller = Seller.Register(request.FirstName, request.LastName, request.Phone
                                         , request.Email, request.Brand, passwordSalt, passwordHash);



            await _sellerRepository.AddAsync(seller, cancellationToken);

            return(new Result(true));
        }
示例#2
0
        public async Task <IActionResult> Post([FromBody] AddSellerViewModel model)
        {
            Guid?parentId = null;

            if (model == null)
            {
                return(BadRequest());
            }

            if (model.ParentSellerId.HasValue)
            {
                var parentSeller = await _sellerRepo.GetAsync(model.ParentSellerId.Value);

                if (parentSeller == null)
                {
                    return(NotFound(Resources.Sellers.SellerResource.ParentSellerNotFound));
                }
                parentId = parentSeller.Id;
            }

            if (await _sellerRepo.IsExistCodeAsync(model.Code))
            {
                ModelState.AddModelError("Code", Resources.Global.Common.ThisCodeExist);
            }
            if (await _sellerRepo.IsExistNameAsync(model.Name))
            {
                ModelState.AddModelError("Name", Resources.Global.Common.ThisNameExist);
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetWithErrorsKey()));
            }

            var seller = new Seller(model.Code, model.Name, model.Note);

            if (parentId.HasValue)
            {
                seller.ParentId = parentId.Value;
            }

            var affectedRows = await _sellerRepo.AddAsync(seller);

            if (affectedRows > 0)
            {
                _sellerRepo.LoadReferences(seller);

                var viewModel = AutoMapper.Mapper.Map <SellerViewModel>(seller);

                return(CreatedAtRoute("GetSeller", new { id = seller.Number }, viewModel));
            }
            return(BadRequest());
        }
示例#3
0
        public async Task <Response> Handle(CreateSellerCommand request, CancellationToken cancellationToken)
        {
            try
            {
                await _repository.AddAsync(request.Seller);

                return(new Response(true));
            }
            catch
            {
                return(new Response(false));
            }
        }
        public async Task <IActionResult> RegisterSellerAsync(Seller seller)
        {
            try
            {
                var result = await _repository.AddAsync(seller);

                await _repository.SaveChangesAsync();

                return(Ok(result));
            }
            catch (Exception error)
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, "Error: " + error.Message));
            }
        }