Example #1
0
        public ListingModel AddListing(ListingModel listing)
        {
            if (listing != null)
            {
                using (iMAST_dbEntities db = new iMAST_dbEntities())
                {
                    try
                    {
                        db.ListingModels.Add(listing);
                        db.SaveChanges();

                        //Return the listing because it now has its new Id
                        return listing;
                    }
                    catch (Exception err)
                    {
                        return null;
                    }
                }
            }
            else
            {
                return null;
            }
        }
Example #2
0
        public string DeleteListing(ListingModel listing)
        {
            if (listing != null)
            {
                using (iMAST_dbEntities db = new iMAST_dbEntities())
                {
                    var l = db.ListingModels.Where(x => x.Id == listing.Id).FirstOrDefault();

                    if (l != null)
                    {
                        DeleteAssociatedAssignments(l);
                        DeleteAssociatedApplications(l);

                        db.ListingModels.Remove(l);
                        db.SaveChanges();
                        return "Listing Deleted";
                    }
                    else
                    {
                        return "Invalid Listing";
                    }
                }
            }
            else
            {
                return "Invalid Listing";
            }
        }
Example #3
0
        public IHttpActionResult PutListingModel(int id, ListingModel listingModel)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != listingModel.Id)
            {
                return BadRequest();
            }

            db.Entry(listingModel).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ListingModelExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }
        public void AddListingTest()
        {
            ManageController controller = new ManageController();
            ListingModel listing = new ListingModel();

            listing.Title       = "Unit Test";
            listing.StartDate   = new DateTime(2016, 3, 20, 12, 00, 00);
            listing.EndDate     = new DateTime(2016, 3, 21, 12, 00, 00);
            listing.Area        = "History";
            listing.Frequency   = "Always";
            listing.Description = "Unit testing!";
            listing.HangoutUrl  = "what.com";
            listing.TeacherId   = 5;
            listing.Open        = false;

            //Testing the AddListing function
            controller.AddListing(listing);

            //Check that the listing was actually added to the database
            ListingModel lastAdded = controller.ReturnLastAddedListing();

            Assert.IsTrue( listing.Title       == lastAdded.Title          &&
                           listing.StartDate   == lastAdded.StartDate      &&
                           listing.EndDate     == lastAdded.EndDate        &&
                           listing.Area        == lastAdded.Area           &&
                           listing.Frequency   == lastAdded.Frequency      &&
                           listing.Description == lastAdded.Description    &&
                           listing.HangoutUrl  == lastAdded.HangoutUrl     &&
                           listing.TeacherId   == lastAdded.TeacherId      &&
                           listing.Open        == lastAdded.Open );
        }
Example #5
0
        public IHttpActionResult PostListingModel(ListingModel listingModel)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            db.ListingModels.Add(listingModel);
            db.SaveChanges();

            return CreatedAtRoute("DefaultApi", new { id = listingModel.Id }, listingModel);
        }
Example #6
0
        private void DeleteAssociatedAssignments(ListingModel listing)
        {
            using (iMAST_dbEntities db = new iMAST_dbEntities())
            {
                var assignments = db.AssignedListings.Where(x => x.ListingId == listing.Id).ToList();

                foreach (AssignedListing assignment in assignments)
                {
                    db.AssignedListings.Remove(assignment);
                    db.SaveChanges();
                }
            }
        }
Example #7
0
        private void DeleteAssociatedApplications(ListingModel listing)
        {
            using (iMAST_dbEntities db = new iMAST_dbEntities())
            {
                var applicants = db.Applicants.Where(x => x.ListingId == listing.Id).ToList();

                foreach (Applicant applicant in applicants)
                {
                    db.Applicants.Remove(applicant);
                    db.SaveChanges();
                }
            }
        }
        public void GetListingsTest()
        {
            ManageController controller = new ManageController();

            var JSONListings = controller.GetListings();

            string stringListings = JsonConvert.SerializeObject(JSONListings.Data);

            List<ListingInfo> ListListings = JsonConvert.DeserializeObject<List<ListingInfo>>(stringListings);

            ListingInfo test = ListListings.Last();

            ListingModel listing = new ListingModel();

            listing.Title       = "Unit Test (Updated)";
            listing.StartDate   = new DateTime(2016, 3, 20, 12, 00, 00);
            listing.EndDate     = new DateTime(2016, 3, 21, 12, 00, 00);
            listing.Area        = "History";
            listing.Frequency   = "Always";
            listing.Description = "Unit testing... again!";
            listing.HangoutUrl  = "what.com";
            listing.TeacherId   = 5;
            listing.Open        = false;

            //Check that all listings were returned by checking for a specific listing
            Assert.IsTrue( listing.Title        == test.Title          &&
                           listing.StartDate    == test.StartDate      &&
                           listing.EndDate      == test.EndDate        &&
                           listing.Area         == test.Area           &&
                           listing.Frequency    == test.Frequency      &&
                           listing.Description  == test.Description    &&
                           listing.HangoutUrl   == test.HangoutUrl     &&
                           listing.TeacherId    == test.TeacherId      &&
                           listing.Open         == test.Open);
        }
Example #9
0
        public string GetTeacherName(ListingModel listing)
        {
            using (iMAST_dbEntities db = new iMAST_dbEntities())
            {
                var teacher = db.iMentorUsers.Where(x => x.Id == listing.TeacherId).FirstOrDefault();
                var result = teacher.UserName;

                return result;
            }
        }
Example #10
0
 public string DeleteListing(ListingModel listing)
 {
     return listingService.DeleteListing(listing);
 }
Example #11
0
 public JsonResult AddListing(ListingModel listing)
 {
     var toReturn = listingService.AddListing(listing);
     return Json(toReturn, JsonRequestBehavior.AllowGet);
 }