public async Task <IActionResult> CreateVendor(VendorRegisterDTO vendorRegisterDTO)
        {
            var vendor = _mapper.Map <Vendor>(vendorRegisterDTO);

            _repo.Add(vendor);
            if (await _repo.SaveAll())
            {
                var vendorToReturn = _mapper.Map <VendorReturnDTO>(vendor);
                return(CreatedAtRoute("GetVendor", new { id = vendor.Id }, vendorToReturn));
            }
            throw new Exception("حدث مشكلة في حفظ Vendor");
        }
Exemple #2
0
        public async Task CreateAsync(VendorRegisterDTO ShortVendorDTO)
        {
            var account = new Account();
            var role    = await _unitOfWork.RoleRepository.GetByIdAsync((long)RoleType.Vendor);

            var socialAccounts = new List <SocialAccount>();
            var socialAccount  = new SocialAccount();
            var vendor         = new Vendor();
            var person         = new Person();

            account.Role        = role;
            account.DateCreated = DateTime.Now;
            account.Email       = ShortVendorDTO.Email;
            account.Avatar      = ShortVendorDTO.Image;
            account.Location    = new Location()
            {
                Adress    = ShortVendorDTO.Location.Adress,
                IsDeleted = false,
                City      = ShortVendorDTO.Location.City,
                Latitude  = ShortVendorDTO.Location.Latitude,
                Longitude = ShortVendorDTO.Location.Longitude,
                PostIndex = ShortVendorDTO.Location.PostIndex
            };

            socialAccount.Provider = ShortVendorDTO.Provider;
            socialAccount.Uid      = ShortVendorDTO.Uid;
            socialAccount.Account  = account;

            socialAccounts.Add(socialAccount);
            account.SocialAccounts = socialAccounts;

            person.Birthday   = ShortVendorDTO.Birthday;
            person.Phone      = ShortVendorDTO.Phone;
            person.Name       = ShortVendorDTO.FirstName;
            person.MiddleName = ShortVendorDTO.MiddleName;
            person.Surname    = ShortVendorDTO.LastName;
            person.Account    = account;

            vendor.Person     = person;
            vendor.Experience = ShortVendorDTO.Experience;
            vendor.Position   = ShortVendorDTO.Position;
            vendor.ExWork     = ShortVendorDTO.Speciality;

            _unitOfWork.VendorRepository.Create(vendor);
            await _unitOfWork.SaveAsync();
        }
        public async Task <HttpResponseMessage> ConfirmVendor(VendorRegisterDTO vendor)
        {
            string token = null;

            try
            {
                await vendorService.CreateAsync(vendor);

                token = await authService.GenerateJwtTokenAsync(vendor.Provider, vendor.Uid);
            }
            catch
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }

            HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK);

            response.Headers.Add("Access-Control-Expose-Headers", "Token");
            response.Headers.Add("Token", token);

            return(response);
        }