示例#1
0
        public static bool UpdateList(LAList list)
        {
            bool success = false;
            var dbList = db.LALists.Find(list.ID);

            if (list != null)
            {
                if (list.Name != null && list.LAListItems != null)
                {
                    if (list.LAListItems.Contains(null))
                    {
                        list.LAListItems.Remove(null);
                    }
                    db.Entry(dbList).CurrentValues.SetValues(list);
                    db.Entry(dbList).State = EntityState.Modified;                    

                    foreach (var listItem in list.LAListItems)
                    {
                        if (listItem != null)
                        {
                            var dbListItem = db.LAListItems.Find(listItem.ID);
                            db.Entry(dbListItem).CurrentValues.SetValues(listItem);
                            db.Entry(dbListItem).State = EntityState.Modified;
                        }
                    }

                    db.SaveChanges();

                    success = true;
                }
            }

            return success;
        }
示例#2
0
        public void TestCreate()
        {
            LAList testList = new LAList() { ID = 80, Name = "Test List 5" };
            LAListsController testController = new LAListsController();
            var result = testController.Create() as ViewResult;

            Assert.AreEqual("Create", result.ViewName);
        }
示例#3
0
        public static bool AddList(string listName)
        {
            var ShoppingList = new LAList();
            ShoppingList.Name = listName;

            db.LALists.Add(ShoppingList);
            db.SaveChanges();

            return true;
        }
示例#4
0
        public void TestLAList()
        {
            LAList testList = new LAList() { ID = 1, Name = "Test List" };

            int id = testList.ID;
            Assert.AreEqual<int>(1, id);

            string name = testList.Name;
            Assert.IsNotNull(name);
            Assert.AreEqual<string>("Test List", name);
        }
示例#5
0
            public void TestInitialize()
            {
                Database.SetInitializer(new DbInitializer());
                this.db = new ListAssistContext(new DbConStringBuilder("WebAPITests").getConnectionString());
                db.Database.Initialize(true);                
                Assert.IsNotNull(this.db, "List assist context is null.");

                AutoMapperConfiguration.Configure();

                listQueries = new ListQueries(new DbConStringBuilder("WebAPITests").getConnectionString());

                LAList testList1 = new LAList() { Name = "Test List 1" };
                LAList testList2 = new LAList() { Name = "Test List 2" };

                LAListItem testInsertItem1 = new LAListItem() { Description = "Test Insert 1", Done = false };
                LAListItem testInsertItem2 = new LAListItem() { Description = "Test Insert 2", Done = false };
                LAListItem testInsertItem3 = new LAListItem() { Description = "Test Insert 3", Done = false };

                Assert.IsNotNull(testList1, "Test list 1 is null.");
                Assert.IsNotNull(testList2, "Test list 2 is null.");

                Assert.IsNotNull(testInsertItem1, "Test insert item 1 is null.");
                testList1.LAListItems.Add(testInsertItem1);

                Assert.IsNotNull(testInsertItem2, "Test insert item 2 is null.");
                testList1.LAListItems.Add(testInsertItem2);

                Assert.IsNotNull(testInsertItem3, "Test insert item 3 is null,");
                testList2.LAListItems.Add(testInsertItem3);

                var lists = new List<LAList>
            {
                testList1,
                testList2,
            };


                foreach (LAList newList in lists)
                {
                    this.db.LALists.Add(newList);

                    foreach (LAListItem newListItem in newList.LAListItems)
                    {
                        this.db.LAListItems.Add(newListItem);
                    }
                }

                this.db.SaveChanges();

                Assert.IsNotNull(this.db.LALists.Where(e => e.Name.Equals("Test List 1")).FirstOrDefault(), "Test List 1 not found.");
                Assert.IsNotNull(this.db.LALists.Where(e => e.Name.Equals("Test List 2")).FirstOrDefault(), "Test List 2 not found.");
                Assert.IsNull(this.db.LALists.Where(e => e.Name.Equals("Test List 3")).FirstOrDefault(), "Test List 3 found.");
            }
示例#6
0
        public void TestBlankLAList()
        {
            LAList testList3 = new LAList() { ID = 50, Name = "Blank List" };
            LAListItem testInsertItem = new LAListItem() { ID = 10, Description = "Test Insert", Done = false };

            Assert.IsNotNull(testInsertItem, "Test insert item is null.");

            testList3.LAListItems.Add(testInsertItem);
            Assert.AreEqual<int>(1, testList3.LAListItems.Count, "List item not added.");
            testList3.LAListItems.Remove(testInsertItem);
            Assert.AreEqual<int>(0, testList3.LAListItems.Count, "List item not removed.");
        }
示例#7
0
        public void TestAddListItem()
        {
            LAList testList = new LAList { Name = "Test List 1" };
            Assert.IsNotNull(testList);

            LAListItem testListItem = new LAListItem { Description = "Test Item 1", Done = true };
            Assert.IsNotNull(testListItem);

            Assert.AreEqual<int>(0, testList.LAListItems.Count);
            testList.LAListItems.Add(testListItem);
            Assert.AreEqual<int>(1, testList.LAListItems.Count);

            testList = null;
            testListItem = null;
        }
示例#8
0
        public void TestInitialize()
        {
            LAList testList1 = new LAList() { ID = 30, Name = "Test List 1" };
            LAList testList2 = new LAList() { ID = 40, Name = "Test List 2" };

            LAListItem testInsertItem1 = new LAListItem() { ID = 12, Description = "Test Insert 1", Done = false };
            LAListItem testInsertItem2 = new LAListItem() { ID = 13, Description = "Test Insert 2", Done = false };
            LAListItem testInsertItem3 = new LAListItem() { ID = 14, Description = "Test Insert 3", Done = false };

            Assert.IsNotNull(testList1, "Test list 1 is null.");
            Assert.IsNotNull(testList2, "Test list 2 is null.");

            Assert.IsNotNull(testInsertItem1, "Test insert item 1 is null.");
            testList1.LAListItems.Add(testInsertItem1);
            
            Assert.IsNotNull(testInsertItem2, "Test insert item 2 is null.");
            testList1.LAListItems.Add(testInsertItem2);

            Assert.IsNotNull(testInsertItem3, "Test insert item 3 is null,");
            testList2.LAListItems.Add(testInsertItem3);

            Database.SetInitializer(new DbInitializer());
            this.db = new ListAssistContext();

            this.db.Database.Initialize(false);
            Assert.IsNotNull(this.db, "List assist context is null.");

            var lists = new List<LAList>
            {
                testList1,
                testList2,
            };

                
            foreach (LAList newList in lists)
            {
                this.db.LALists.Add(newList);
                foreach (LAListItem newListItem in newList.LAListItems)
                {
                    this.db.LAListItems.Add(newListItem);
                }
            }

            this.db.SaveChanges();

            Assert.IsNotNull(this.db.LALists.Find(30), "List with ID = 30 not found.");
        }
示例#9
0
        public void TestRemoveListItem()
        {
            LAList testList = new LAList { Name = "Test List 2" };
            Assert.IsNotNull(testList);

            LAListItem testListItem = new LAListItem { Description = "Test Item 2", Done = false };
            Assert.IsNotNull(testListItem);

            Assert.AreEqual<int>(0, testList.LAListItems.Count);
            testList.LAListItems.Add(testListItem);
            Assert.AreEqual<int>(1, testList.LAListItems.Count);

            testList.LAListItems.Remove(testListItem);
            Assert.AreEqual<int>(0, testList.LAListItems.Count);

            testList = null;
            testListItem = null;
        }
示例#10
0
        public static bool AddList(LAList list)
        {
            bool success = false;

            if (list.Name != null)
            {
                var duplicate = db.LALists.Where(e => e.Name.Equals(list.Name)).FirstOrDefault();

                if (duplicate == null)
                {
                    db.LALists.Add(list);
                    db.SaveChanges();

                    success = true;
                }
            }

            return success;
        }
示例#11
0
        public int AddList(string listName)
        {
            int id = 0;

            if (listName != null)
            {
                var duplicate = db.LALists.Where(e => e.Name.Equals(listName)).FirstOrDefault();

                if (duplicate == null)
                {
                    var ShoppingList = new LAList();
                    ShoppingList.Name = listName;

                    db.LALists.Add(ShoppingList);
                    db.SaveChanges();

                    id = ShoppingList.ID;
                }
            }

            return id;
        }
示例#12
0
        public void TestAddListWithItems()
        {
            var newList = new LAList() { Name = "List with items" };
            newList.LAListItems.Add(new LAListItem() { Description = "Test Item 1", Done = true });
            newList.LAListItems.Add(new LAListItem() { Description = "Test Item 2", Done = false });

            var result = ListQueries.AddList(newList);

            Assert.AreEqual(true, result);
            Assert.AreEqual(3, ListQueries.GetLists().Count);

            Assert.IsNotNull(newList);
            Assert.AreEqual(2, newList.LAListItems.Count);

            ListQueries.RemoveList(newList.ID);
            Assert.AreEqual(2, ListQueries.GetLists().Count);
        }
示例#13
0
        public void TestEditListItem()
        {
            LAList testList = new LAList { Name = "Test List 3" };
            Assert.IsNotNull(testList);

            LAListItem testListItem = new LAListItem { Description = "Test Item 3", Done = false };
            Assert.IsNotNull(testListItem);

            Assert.AreEqual<int>(0, testList.LAListItems.Count);
            testList.LAListItems.Add(testListItem);
            Assert.AreEqual<int>(1, testList.LAListItems.Count);

            LAListItem updateListItem = testList.LAListItems.Find(x => x.ID == 0);
            Assert.IsNotNull(updateListItem);
            updateListItem.Done = true;
            updateListItem = null;

            LAListItem foundListItem = testList.LAListItems.Find(x => x.ID == 0);
            Assert.IsNotNull(foundListItem);
            Assert.IsTrue(foundListItem.Done);
            foundListItem = null;

            testList = null;
            testListItem = null;
        }
示例#14
0
 public ActionResult Edit(LAList lAList)
 {
     HttpResponseMessage responseMsg = null;
     
     responseMsg = this.newClient.PutAsync("api/Lists", new ObjectContent<LAList>(lAList, new System.Net.Http.Formatting.JsonMediaTypeFormatter())).Result;
     if (responseMsg.StatusCode == HttpStatusCode.OK)
     {
         return RedirectToAction("Index");
     }
     return View("Edit", lAList);
 }
示例#15
0
        public ActionResult Create([Bind(Include = "Name")] LAList AList)
        {
            if(ModelState.IsValid)
            {
                HttpResponseMessage responseMsg = this.newClient.PostAsync(string.Format("api/Lists/{0}", AList.Name), new StringContent(AList.Name)).Result;

                if (responseMsg.StatusCode == HttpStatusCode.OK)
                {
                    LAList newList = new LAList();
                    newList.Name = AList.Name;
                    newList.ID = responseMsg.Content.ReadAsAsync<int>().Result;

                    return RedirectToAction("Edit", newList);
                }

                return View("Create", AList);
            }

            return View("Create", AList);
        }
示例#16
0
 // GET: LALists/Create
 public ActionResult Create()
 {
     LAList aList = new LAList();
     return View(aList);
 }
示例#17
0
        public void TestAddListItem()
        {
            LAList testList = new LAList() { Name = "List to Remove" };
            ListQueries.AddList(testList);

            Assert.IsNotNull(ListQueries.GetList(testList.ID));
            Assert.AreEqual(0, ListQueries.GetList(testList.ID).LAListItems.Count);

            var newItem = new LAListItem()
            {
                Description = "Test Item",
                Done = true,
                ListID = testList.ID
            };

            var result = ListQueries.AddItemToList(newItem);
            var foundList = ListQueries.GetList(testList.ID);

            Assert.AreEqual(true, result);
            Assert.IsNotNull(foundList);
            Assert.AreEqual(1, foundList.LAListItems.Count);

            ListQueries.RemoveList(foundList.ID);
            Assert.AreEqual(2, ListQueries.GetLists().Count);
        }
示例#18
0
        public void TestRemoveList()
        {
            LAList testList = new LAList() { Name = "List to Remove" };
            ListQueries.AddList(testList);

            var findList = ListQueries.GetList(testList.ID);
            Assert.IsNotNull(findList, "Test List not found.");
            Assert.AreEqual<string>("List to Remove", findList.Name);

            var result = ListQueries.RemoveList(findList.ID);

            Assert.AreEqual(true, result);
            Assert.IsNull(ListQueries.GetList(3), "List 3 not removed.");
        }
示例#19
0
        public void AddListWithNullName()
        {
            var newList = new LAList();
            var result = ListQueries.AddList(newList);

            Assert.AreEqual(false, result);
            Assert.AreEqual(2, ListQueries.GetLists().Count);
        }
示例#20
0
        public void AddDuplicateList()
        {
            var newList = new LAList() { Name = "Groceries" };
            var result = ListQueries.AddList(newList);

            Assert.AreEqual(false, result);
            Assert.AreEqual(2, ListQueries.GetLists().Count);
        }