コード例 #1
0
            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);
                }
            }
コード例 #2
0
            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);
                }
            }