Exemplo n.º 1
0
        public async Task EditAsync(VendorEditModel model)
        {
            var vendor = await _vendorRepository.GetAsync(model.Id);

            VendorFactory.Create(model, vendor, _userId);

            _vendorRepository.Edit(vendor);

            await _unitOfWork.SaveChangesAsync();
        }
Exemplo n.º 2
0
        public async Task <ActionResult <VendorForGetDTO> > Post(VendorForAddDTO model)
        {
            if (await _vendorRepository.IsExist(model.Name, model.CategoryId).ConfigureAwait(true))
            {
                return(Conflict(new ApiResponse(409, StringConsts.EXISTED)));
            }

            if (await _vendorUserRepository.IsExistByPhone(model.VendorUser.Phone).ConfigureAwait(true))
            {
                return(Conflict(new ApiResponse(409, StringConcatenates.Exist("Phone", model.VendorUser.Phone))));
            }

            if (await _vendorUserRepository.IsExistByEmail(model.VendorUser.Email).ConfigureAwait(true))
            {
                return(Conflict(new ApiResponse(409, StringConcatenates.Exist("Email", model.VendorUser.Email))));
            }

            Vendor vendor = _mapper.Map <Vendor>(model);

            VendorUser vendorUser = _mapper.Map <VendorUser>(model.VendorUser);

            string password = SecurePassword.GeneratePassword(8);

            SecurePassword.CreatePasswordHash(password, out byte[] passwordHash, out byte[] passwordSalt);
            vendorUser.PasswordHash = passwordHash;
            vendorUser.PasswordSalt = passwordSalt;
            vendorUser.Role         = VendorUserRoleEnum.GroupAdmin;

            vendor.VendorUsers.Add(vendorUser);
            await _vendorRepository.AddAsync(vendor).ConfigureAwait(true);

            await _unitOfWork.CompleteAsync().ConfigureAwait(true);

            Email.Send("Momen", vendorUser.Email, "password", password);

            vendor = await _vendorRepository.GetAsync(vendor.Id).ConfigureAwait(true);

            VendorForGetDTO vendorDto = _mapper.Map <VendorForGetDTO>(vendor);

            return(Ok(vendorDto));
        }
Exemplo n.º 3
0
        public async Task <ActionResult <VendorRejectForGetDTO> > Post(VendorRejectForAddDTO model)
        {
            if (!await _vendorRepository.IsExist(model.VendorId).ConfigureAwait(true))
            {
                return(NotFound(new ApiResponse(404, StringConcatenates.NotExist("Vendor", model.VendorId))));
            }

            VendorReject vendorReject = _mapper.Map <VendorReject>(model);

            await _vendorRejectRepository.AddAsync(vendorReject).ConfigureAwait(true);

            Vendor vendor = await _vendorRepository.GetAsync(model.VendorId).ConfigureAwait(true);

            vendor.Status = VendorStatusEnum.Rejected;
            _vendorRepository.Edit(vendor);

            await _unitOfWork.CompleteAsync().ConfigureAwait(true);



            VendorRejectForGetDTO vendorRejectDto = _mapper.Map <VendorRejectForGetDTO>(vendorReject);

            return(Ok(vendorRejectDto));
        }
        public async Task <IEnumerable <VendorResponse> > GetVendorsAsync()
        {
            var result = await _vendorRepository.GetAsync();

            return(result.Select(x => _vendorMapper.Map(x)));
        }