Exemplo n.º 1
0
 public ActionResult SuggestToRecipient(Suggestion s)
 {
     GifterEntities entities = new GifterEntities();
     Gift gift = entities.Gifts.Where(model => model.ageFrom < s.age && model.ageTo > s.age && model.occasion.Contains(s.occasion) && model.relationship.Contains(s.relationship) && model.relationshipLengthFrom < s.relationshipLength && model.relationshipLengthTo > s.relationshipLength).FirstOrDefault();
     if (gift == null)
     {
         return View(s);
     }
     else
     {
         s.idGift = gift.id;
         if (Session["LogedUserID"] != null)
         {
             s.idUser = Convert.ToInt32(Session["LogedUserID"]);
         }
         if (s.idRecipient == null)
         {
             return RedirectToAction("Index");
         }
         s.timeStamp = DateTime.Now;
         entities.Suggestions.Add(s);         
         entities.SaveChanges();
         return RedirectToAction("AfterSuggest", s);
     }
 }
Exemplo n.º 2
0
 public ActionResult AddFeedback(Suggestion s)
 {
     if (Session["LogedUserID"] != null)
     {
             GifterEntities entities = new GifterEntities();
             Suggestion oldSugg = entities.Suggestions.Where(model => model.id.Equals(s.id)).FirstOrDefault();
             oldSugg.rating = s.rating;
             entities.SaveChanges();
             ModelState.Clear();
             return RedirectToAction("MySuggestions");
     }
     else
     {
         return RedirectToAction("Index");
     }
 }
Exemplo n.º 3
0
 public ActionResult Suggest(Suggestion s)
 {
     GifterEntities entities = new GifterEntities();
     Gift gift = entities.Gifts.Where(model => model.ageFrom < s.age && model.ageTo > s.age && model.occasion.Contains(s.occasion) && model.relationship.Contains(s.relationship) && model.relationshipLengthFrom < s.relationshipLength && model.relationshipLengthTo > s.relationshipLength).FirstOrDefault();
     List<Gift> possibleGifts = GetPossibleGifts(s);
     if (possibleGifts == null)
     {
         return AfterSuggest(s);
     }
     else
     {
         List<Suggestion> similarSuggestions = GetSimilarSuggestions(s);
         List<Gift> highestRatingGifts = GetGiftstWithHighestRating(similarSuggestions);
         possibleGifts = RemoveGiftsWithRatingLowerThenFive(similarSuggestions, possibleGifts);      
         
         s.idGift = gift.id;
         if (Session["LogedUserID"] != null)
         {
             s.idUser = Convert.ToInt32(Session["LogedUserID"]);                 
         }
         entities.Suggestions.Add(s);
         try
         {
             entities.SaveChanges();
         }
         catch (DbEntityValidationException e)
         {
             foreach (var eve in e.EntityValidationErrors)
             {
                 Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                     eve.Entry.Entity.GetType().Name, eve.Entry.State);
                 foreach (var ve in eve.ValidationErrors)
                 {
                     Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                         ve.PropertyName, ve.ErrorMessage);
                 }
             }
             throw;
         }
         return RedirectToAction("AfterSuggest", s);
     }
 }