Example #1
0
        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()
            });
        }
Example #2
0
        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();
 }
Example #4
0
 private bool isValidProposalAsync(BidEntity bid, SupplierProposalRequest supplierProposalRequest)
 {
     return(bid.MaxPrice >= supplierProposalRequest.ProposedPrice);
 }