public async Task <IActionResult> CreateOffer([FromBody] NewOfferModel offer)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var offerCreated = await _offerService.CreateOfferAsync(offer.Name, offer.Description, offer.RoleId);

            return(CreatedAtAction("GetOffer", new { id = offerCreated.OfferId }, offer));
        }
Beispiel #2
0
        public NewOfferModel AddOfferToNegotiation(NewOfferModel newOffer)
        {
            var offer = new Offer
            {
                SenderId      = newOffer.SenderId,
                ReceiverId    = newOffer.ReceiverId,
                Amount        = newOffer.Amount,
                TimeSent      = newOffer.TimeSent,
                PricePerUnit  = newOffer.PricePerUnit,
                MerchandiseId = newOffer.MerchandiseId,
                IsOfferToBuy  = newOffer.IsOfferToBuy
            };
            var negotiation = GetSingleByPredicate(n =>
                                                   (n.Company1Id == newOffer.SenderId &&
                                                    n.Company2Id == newOffer.ReceiverId) ||
                                                   (n.Company1Id == newOffer.ReceiverId &&
                                                    n.Company2Id == newOffer.SenderId));

            negotiation.Offers.Add(offer);
            _context.SaveChanges();
            newOffer.NewOfferId = offer.Id;
            return(newOffer);
        }
Beispiel #3
0
 public void SendNewOffer(NewOfferModel newOffer)
 {
     _negotiationRepository.AddOfferToNegotiation(newOffer);
     Clients.All.SendAsync("RecieveNewOffer", newOffer);
 }