Exemple #1
0
        public async Task <IActionResult> Create([FromBody] SaveServiceProviderResource resource)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                var sp = _mapper.Map <SaveServiceProviderResource, ServiceProvider>(resource);
                sp.UserId = await GetUserId();

                var spDetails = await _repository.GetServiceProviderByUserAsync(sp.UserId);

                if (spDetails.Any())
                {
                    return(BadRequest("You can not add more than one service provider"));
                }
                sp.IsAvailable = true;
                sp.ServiceProviderRequestsStatusId = (int)ServiceProviderStatusType.Submitted;
                _repository.Add(sp);

                await _unitOfWork.CompleteAsync();

                var result = _mapper.Map <ServiceProvider, ServiceProviderResource>(sp);

                return(Ok(result));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.ToString()));
            }
        }
Exemple #2
0
        public async Task <IActionResult> UpdateServiceProviderAvailability([FromBody] SaveServiceProviderResource resource)
        {
            var sp = await _repository.GetServiceProviderAsync(await GetServiceProviderId());

            if (sp == null)
            {
                return(NotFound());
            }

            sp.IsAvailable = resource.IsAvailable;
            await _unitOfWork.CompleteAsync();

            var result = _mapper.Map <ServiceProvider, SaveServiceProviderResource>(sp);

            return(Ok(result));
        }
Exemple #3
0
        public async Task <IActionResult> Update(int id, [FromBody] SaveServiceProviderResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var sp = await _repository.GetServiceProviderAsync(id);

            if (sp == null)
            {
                return(NotFound());
            }
            sp        = _mapper.Map(resource, sp);
            sp.UserId = await GetUserId();

            await _unitOfWork.CompleteAsync();

            var result = _mapper.Map <SaveServiceProviderResource, ServiceProvider>(resource);

            return(Ok(result));
        }
Exemple #4
0
        public async Task <IActionResult> UpdateServiceProvidersRequestsStatus(int spId, [FromBody] SaveServiceProviderResource resource)
        {
            var sp = await _repository.GetServiceProviderAsync(spId);

            if (sp == null)
            {
                return(NotFound());
            }

            sp.ServiceProviderRequestsStatusId = resource.ServiceProviderRequestsStatusId;

            await _unitOfWork.CompleteAsync();

            if (sp.ServiceProviderRequestsStatusId == (int)ServiceProviderStatusType.Approved)
            {
                await _userManager.AddToRoleAsync(sp.ApplicationUser, "Captain");
            }

            var result = _mapper.Map <ServiceProvider, SaveServiceProviderResource>(sp);

            return(Ok(result));
        }