public async Task <Response> AddSupplierProposal(SupplierProposalRequest supplierProposalRequest) { BidEntity bid = await _context.Bids.Where(b => b.Id == supplierProposalRequest.BidId).Include(b => b.CurrentProposals).FirstOrDefaultAsync().ConfigureAwait(false); if (bid == null) { return(new Response() { IsOperationSucceeded = false, SuccessOrFailureMessage = BidNotFoundFailString }); } // TODO? validate supplier SupplierProposalEntity new_proposal_ent = _mapper.Map <SupplierProposalEntity>(supplierProposalRequest); bid.CurrentProposals.Add(new_proposal_ent); bid.PotenialSuplliersCounter += 1; try { _context.Bids.Update(bid); await _context.SaveChangesAsync().ConfigureAwait(false); } catch (Exception ex) { return(new Response() { IsOperationSucceeded = false, SuccessOrFailureMessage = ex.Message }); } return(new Response() { IsOperationSucceeded = true, SuccessOrFailureMessage = this.getSuccessMessage() }); }
public async Task <ActionResult> AddSupplierProposal(string bidId, SupplierProposalRequest supplierProposalRequest) { if (supplierProposalRequest.BidId == null) { supplierProposalRequest.BidId = bidId; } Response response = await this.bidsManager.AddSupplierProposal(supplierProposalRequest).ConfigureAwait(false); if (response.IsOperationSucceeded) { return(this.StatusCode(StatusCodes.Status201Created, response.SuccessOrFailureMessage)); } return(this.StatusCode(StatusCodes.Status304NotModified, response.SuccessOrFailureMessage)); }
public Task <Response> AddSupplierProposal(SupplierProposalRequest supplierProposal) { throw new NotImplementedException(); }
private bool isValidProposalAsync(BidEntity bid, SupplierProposalRequest supplierProposalRequest) { return(bid.MaxPrice >= supplierProposalRequest.ProposedPrice); }