Esempio n. 1
0
 public Offer MakeAction(int id, Offer.ACTION action)
 {
     using (CompraAppContext db = new CompraAppContext())
     {
         Offer offerForUpdate = db.Offers.Find(id);
         if (Exists(offerForUpdate))
         {
             if (checkAction(offerForUpdate, action))
             {
                 if (action == Offer.ACTION.ACCEPTED)
                 {
                     setRejectedToOffersLosers(db, offerForUpdate);
                     closePublicationByAcceptedOffer(db, offerForUpdate);
                 }
                 offerForUpdate.State = (int)action;
                 db.Offers.Attach(offerForUpdate);
                 db.Entry(offerForUpdate).State = EntityState.Modified;
                 db.SaveChanges();
                 return(offerForUpdate);
             }
             else
             {
                 throw new Exception("Error: Offerta ya procesada como aceptada, cancelada o rechazada.");
             }
         }
         else
         {
             throw new Exception("Error: No existe la oferta.");
         }
     }
 }
Esempio n. 2
0
 private bool checkAction(Offer currentOffer, Offer.ACTION action)
 {
     if (currentOffer.State == (int)Offer.ACTION.OPEN)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Esempio n. 3
0
 public IHttpActionResult PostOfferAction(int id, Offer.ACTION action)
 {
     try
     {
         return(Ok(offerService.MakeAction(id, action)));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }