public async Task <BaseResponses <ConfirmedBid> > Handle(ConfirmedBidRequest request, CancellationToken cancellationToken) { BaseResponses <ConfirmedBid> responce = null; using (var trx = unitOfWork.BeginTransaction()) { try { var confirmedBid = mapper.Map <ConfirmedBid>(request.ConfirmedBid); var result = await confirmedBidService.Add(confirmedBid); // bid requesti update elemek lazimdir var bidRequest = await bidRequestService.GetById(request.ConfirmedBid.BidId); var project = await projectService.GetById(request.ProjectId); bidRequest.IsConfirmed = true; project.Status = Statuses.Confirmed.ToString(); var bidUpdateResult = await bidRequestService.Update(bidRequest); var projectUpateResult = await projectService.Update(project); unitOfWork.SaveChanges(); responce = new BaseResponses <ConfirmedBid>(confirmedBid); } catch (RestException ex) { trx.Rollback(); responce = new BaseResponses <ConfirmedBid>(ex.StatusCode, ex.Message); } return(responce); } }
public async Task <BaseResponses <string> > Handle(DeleteBidRequest request, CancellationToken cancellationToken) { BaseResponses <string> responce = null; using (var trx = unitOfWork.BeginTransaction()) { try { var bidrequest = await bidRequestService.GetById(request.BidRequestId); if (!bidrequest.IsConfirmed) { var result = await bidRequestService.Delete(request.BidRequestId); unitOfWork.SaveChanges(); responce = new BaseResponses <string>(result); } } catch (Exception ex) { trx.Rollback(); responce = new BaseResponses <string>(System.Net.HttpStatusCode.BadRequest, ex.Message); } return(responce); } }