public void ToEF_Successful() { //ARRANGE var instrument = new InstrumentTO { Id = 4, Name = "Saxophone" }; var libUser = new LibUserTO { Id = 1, IdentityUserId = 24 }; var category = new CategoryTO { Id = 2, Name = "Jazz" }; var sheet = new SheetTO { Id = 3, Name = "Sam's Dixie", Category = category, IsCurrent = true, IsIndependance = true, IsGarde = false, }; var sheetPart = new SheetPartTO { Id = 2, Instrument = instrument, Sheet = sheet, Path = "Path" }; //ACT var instrumentEF = instrument.ToEF(); var libUserEF = libUser.ToEF(); var categoryEF = category.ToEF(); var sheetEF = sheet.ToEF(); var sheetPartEF = sheetPart.ToEF(); //Assert Assert.AreEqual(instrument.Name, instrumentEF.Name); Assert.AreEqual(libUser.IdentityUserId, libUserEF.IdentityUserId); Assert.AreEqual(category.Name, categoryEF.Name); Assert.AreEqual(sheet.Name, sheetEF.Name); Assert.AreEqual(sheetPart.Sheet.Name, sheetPartEF.Sheet.Name); }
public CategoryTO Update(CategoryTO entity) { if (entity is null) { throw new ArgumentNullException(nameof(entity)); } if (entity.Id <= 0) { throw new ArgumentException("Category To Update Invalid Id"); } if (!libraryContext.Categories.Any(x => x.Id == entity.Id)) { throw new KeyNotFoundException($"Update(CategoryTO) Can't find category to update."); } var editedEntity = libraryContext.Categories.FirstOrDefault(e => e.Id == entity.Id); if (editedEntity != default) { editedEntity.UpdateFromDetached(entity.ToEF()); } var tracking = libraryContext.Categories.Update(editedEntity); tracking.State = EntityState.Detached; libraryContext.SaveChanges(); return(tracking.Entity.ToTransferObject()); }
public void DeleteSheet_ProvidingNull_ThrowException() { //Arrange var options = new DbContextOptionsBuilder <LibraryContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new LibraryContext(options); ISheetRepository sheetRepository = new SheetRepository(context); ICategoryRepository categoryRepository = new CategoryRepository(context); var category = new CategoryTO { Name = "Musique de films" }; var addedCategory = categoryRepository.Add(category); var category2 = new CategoryTO { Name = "Musique de classique" }; var addedCategory2 = categoryRepository.Add(category2); context.SaveChanges(); var sheet = new SheetTO { Name = "BestOf", Arranger = "Jean-Luc", Category = addedCategory, Composer = "Morricone", IsCurrent = false, IsGarde = false, IsIndependance = true }; var sheet2 = new SheetTO { Name = "Young Amadeus", Arranger = "Jan de Haan", Category = addedCategory2, Composer = "Mozart", IsCurrent = true, IsGarde = false, IsIndependance = true }; //Act & Assert Assert.ThrowsException <ArgumentException>(() => sheetRepository.Delete(sheet)); }
public void UpdateCategory_Successful() { //Arrange var options = new DbContextOptionsBuilder <LibraryContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new LibraryContext(options); ICategoryRepository categoryRepository = new CategoryRepository(context); var category = new CategoryTO { Name = "Musiq de flims" }; var category2 = new CategoryTO { Name = "Musique Classique" }; var category3 = new CategoryTO { Name = "Musique Contemporaine" }; var AddedCategory = categoryRepository.Add(category); var AddedCategory2 = categoryRepository.Add(category2); var AddedCategory3 = categoryRepository.Add(category3); context.SaveChanges(); //Act AddedCategory.Name = "Musique de films"; var test = categoryRepository.Update(AddedCategory); context.SaveChanges(); //Assert Assert.AreEqual(3, categoryRepository.GetAll().Count()); Assert.AreEqual("Musique de films", test.Name); }
public IActionResult CreateNewCategory(CategoryTO category) { var cat = _librarianUC.AddNewCategory(category); // TODO popup that says that the catery is added. return(RedirectToAction("AllCategories")); }
public void GetCategoryById_Successful() { //Arrange var options = new DbContextOptionsBuilder <LibraryContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new LibraryContext(options); ICategoryRepository categoryRepository = new CategoryRepository(context); var category = new CategoryTO { Name = "Musique de films" }; var category2 = new CategoryTO { Name = "Musique Classique" }; var category3 = new CategoryTO { Name = "Musique Contemporaine" }; var AddedCategory = categoryRepository.Add(category); var AddedCategory2 = categoryRepository.Add(category2); var AddedCategory3 = categoryRepository.Add(category3); context.SaveChanges(); //Act var result = categoryRepository.GetById(1); var result2 = categoryRepository.GetById(2); var result3 = categoryRepository.GetById(3); //Assert Assert.AreEqual("Musique de films", result.Name); Assert.AreEqual("Musique Classique", result2.Name); Assert.AreEqual("Musique Contemporaine", result3.Name); }
public void AddCategory_AddExistingCategory_DoNotInsertTwiceInDb() { //Arrange var options = new DbContextOptionsBuilder <LibraryContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new LibraryContext(options); ICategoryRepository categoryRepository = new CategoryRepository(context); //Act var category = new CategoryTO { Name = "Musique de films" }; var result = categoryRepository.Add(category); var category2 = new CategoryTO { Name = "Musique de films", Id = 1 }; var result2 = categoryRepository.Add(category2); context.SaveChanges(); //Assert Assert.IsNotNull(result); Assert.AreEqual(1, categoryRepository.GetAll().Count()); }
public CategoryTO AddNewCategory(CategoryTO category) { if (category == null || category.Name.Trim().Length < 1) { throw new ArgumentNullException(); } ; var addedCategory = unitOfWork.CategoryRepository.Add(category); return(addedCategory); }
public static CategoryEF ToEF(this CategoryTO Category) { if (Category is null) { throw new ArgumentNullException(nameof(Category)); } return(new CategoryEF { Id = Category.Id, Name = Category.Name, }); }
public void ToTEF_ProvidingNull_ThrowException() { InstrumentTO instrument = null; LibUserTO libUser = null; CategoryTO category = null; SheetTO sheet = null; SheetPartTO sheetPart = null; //ACT Assert.ThrowsException <ArgumentNullException>(() => instrument.ToEF()); Assert.ThrowsException <ArgumentNullException>(() => libUser.ToEF()); Assert.ThrowsException <ArgumentNullException>(() => category.ToEF()); Assert.ThrowsException <ArgumentNullException>(() => sheet.ToEF()); Assert.ThrowsException <ArgumentNullException>(() => sheetPart.ToEF()); }
public void UpdateCategory_ProvidingNonExistingCategory_ThrowException() { var options = new DbContextOptionsBuilder <LibraryContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new LibraryContext(options); ICategoryRepository categoryRepository = new CategoryRepository(context); var category = new CategoryTO { Name = "Musique de films" }; //Act & Assert Assert.ThrowsException <ArgumentException>(() => categoryRepository.Update(category)); }
/// <summary> /// 获取实体分页 /// </summary> public DataTable GetCategoryList(CategoryTO TO, int pageIndex, int pageSize, string orderBy, out int rowCount) { string table = " [Category] "; string pk = " ID "; string fields = " * "; string filter = "";// string.Format(" Status={0} ", ConstantsManager.JiLuZhuangTai.Normal); #region 组织查询条件 //if (!string.IsNullOrEmpty(TO.MC)) //{ // filter += string.Format(" and MC like '%{0}%' ", StringHelper.SQLFilter(TO.MC)); //} #endregion string sort = " ID DESC ";//排序 if (!string.IsNullOrEmpty(orderBy)) { sort = orderBy; } SqlParameter[] parameters = { new SqlParameter("@Tables", SqlDbType.VarChar, 1000), new SqlParameter("@PK", SqlDbType.VarChar, 100), new SqlParameter("@Fields", SqlDbType.VarChar, 1000), new SqlParameter("@Pageindex", SqlDbType.Int), new SqlParameter("@PageSize", SqlDbType.Int), new SqlParameter("@Filter", SqlDbType.VarChar, 1000), new SqlParameter("@Sort", SqlDbType.VarChar, 200), new SqlParameter("@RowCount", SqlDbType.Int) }; parameters[0].Value = table; parameters[1].Value = pk; parameters[2].Value = fields; parameters[3].Value = pageIndex; parameters[4].Value = pageSize; parameters[5].Value = filter; parameters[6].Value = sort; parameters[7].Direction = ParameterDirection.Output; DataSet ds = SqlHelper.RunProcedure("SP_DividePage", parameters, "CategoryList"); rowCount = (int)parameters[7].Value; return(ds.Tables[0]); }
public bool Delete(CategoryTO entity) { if (entity is null) { throw new KeyNotFoundException(); } if (entity.Id <= 0) { throw new ArgumentException("Category To Delete Invalid Id"); } var category = libraryContext.Categories.FirstOrDefault(x => x.Id == entity.Id); libraryContext.Categories.Remove(category); libraryContext.SaveChanges(); return(true); }
public CategoryTO Add(CategoryTO entity) { if (entity is null) { throw new ArgumentNullException(); } if (entity.Id != 0) { return(entity); } var entityEF = entity.ToEF(); var result = libraryContext.Categories.Add(entityEF); libraryContext.SaveChanges(); return(result.Entity.ToTransferObject()); }
public void UpdateSheet_Successful() { //Arrange var options = new DbContextOptionsBuilder <LibraryContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new LibraryContext(options); ISheetRepository sheetRepository = new SheetRepository(context); ICategoryRepository categoryRepository = new CategoryRepository(context); //Act var category = new CategoryTO { Name = "Musique de films" }; var addedCategory = categoryRepository.Add(category); var category2 = new CategoryTO { Name = "Musique de classique" }; var addedCategory2 = categoryRepository.Add(category2); context.SaveChanges(); var sheet = new SheetTO { Name = "BestOf", Arranger = "Jean-Luc", Category = addedCategory, Composer = "Morricone", IsCurrent = false, IsGarde = false, IsIndependance = true }; var sheet2 = new SheetTO { Name = "Young Amadeus", Arranger = "Jan de Haan", Category = addedCategory2, Composer = "Mozart", IsCurrent = true, IsGarde = false, IsIndependance = true }; var addedSheet = sheetRepository.Add(sheet); var addedSheet2 = sheetRepository.Add(sheet2); context.SaveChanges(); //Act addedSheet.Category = addedCategory2; var test = sheetRepository.Update(addedSheet); context.SaveChanges(); //Assert Assert.AreEqual(2, sheetRepository.GetAll().Count()); Assert.AreEqual("Musique de classique", test.Category.Name); }
public void AddCategory_Successful() { //Arrange var options = new DbContextOptionsBuilder <LibraryContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new LibraryContext(options); ICategoryRepository categoryRepository = new CategoryRepository(context); //Act var category = new CategoryTO { Name = "Musique de films" }; var result = categoryRepository.Add(category); context.SaveChanges(); //Assert Assert.IsNotNull(result); Assert.AreEqual(result.Name, "Musique de films"); }
public void AddSheet_AddExistingSheet_DoNotInsertTwiceInDb() { //Arrange var options = new DbContextOptionsBuilder <LibraryContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new LibraryContext(options); ISheetRepository sheetRepository = new SheetRepository(context); ICategoryRepository categoryRepository = new CategoryRepository(context); //Act var category = new CategoryTO { Name = "Musique de films" }; var addedCategory = categoryRepository.Add(category); var category2 = new CategoryTO { Name = "Musique de classique" }; var addedCategory2 = categoryRepository.Add(category2); context.SaveChanges(); var sheet = new SheetTO { Name = "BestOf", Arranger = "Jean-Luc", Category = addedCategory, Composer = "Morricone", IsCurrent = false, IsGarde = false, IsIndependance = true }; var sheet2 = new SheetTO { Id = 1, Name = "BestOf", Arranger = "Jean-Luc", Category = addedCategory2, Composer = "Morricone", IsCurrent = false, IsGarde = false, IsIndependance = true }; var addedSheet = sheetRepository.Add(sheet); var addedSheet2 = sheetRepository.Add(sheet2); context.SaveChanges(); //Assert Assert.IsNotNull(sheet); Assert.AreEqual(1, sheetRepository.GetAll().Count()); }
public void UpdateSheetPart_Successful() { var options = new DbContextOptionsBuilder <LibraryContext>() .UseInMemoryDatabase(databaseName: MethodBase.GetCurrentMethod().Name) .Options; using var context = new LibraryContext(options); ISheetRepository sheetRepository = new SheetRepository(context); ICategoryRepository categoryRepository = new CategoryRepository(context); ISheetPartRepository sheetPartRepository = new SheetPartRepository(context); IInstrumentRepository instrumentRepository = new InstrumentRepository(context); //Act var category = new CategoryTO { Name = "Musique de films" }; var addedCategory = categoryRepository.Add(category); var category2 = new CategoryTO { Name = "Musique de classique" }; var addedCategory2 = categoryRepository.Add(category2); context.SaveChanges(); var sheet = new SheetTO { Name = "BestOf", Arranger = "Jean-Luc", Category = addedCategory, Composer = "Morricone", IsCurrent = false, IsGarde = false, IsIndependance = true }; var sheet2 = new SheetTO { Name = "Youg Amadeus", Arranger = "Jan de Haan", Category = addedCategory2, Composer = "Mozart", IsCurrent = true, IsGarde = false, IsIndependance = true }; var addedSheet = sheetRepository.Add(sheet); var addedSheet2 = sheetRepository.Add(sheet2); context.SaveChanges(); var instru = new InstrumentTO { Name = "Saxophone" }; var instru2 = new InstrumentTO { Name = "Trumpet" }; var instru3 = new InstrumentTO { Name = "Flute" }; var addedInstru = instrumentRepository.Add(instru); var addedInstru2 = instrumentRepository.Add(instru2); var addedInstru3 = instrumentRepository.Add(instru3); context.SaveChanges(); var sheetPart = new SheetPartTO { Instrument = addedInstru, Sheet = addedSheet, Path = @"C:\sheet" }; var sheetPart2 = new SheetPartTO { Instrument = addedInstru2, Sheet = addedSheet }; var sheetPart3 = new SheetPartTO { Instrument = addedInstru, Sheet = addedSheet2 }; var addedSheetPart = sheetPartRepository.Add(sheetPart); var addedSheetPart2 = sheetPartRepository.Add(sheetPart2); var addedSheetPart3 = sheetPartRepository.Add(sheetPart3); context.SaveChanges(); //ACT addedSheetPart.Instrument = addedInstru3; var test = sheetPartRepository.Update(addedSheetPart); context.SaveChanges(); //Assert Assert.AreEqual(3, sheetPartRepository.GetAll().Count()); Assert.AreEqual("Flute", test.Instrument.Name); }
/// <summary> /// 获得数据列表分页 /// </summary> /// <returns></returns> public DataTable GetCategoryList(CategoryTO TO, int pageIndex, int pageSize, string orderBy, out int rowCount) { return(service.GetCategoryList(TO, pageIndex, pageSize, orderBy, out rowCount)); }
public IActionResult DeleteCategory(int id, CategoryTO category) { _libraryUnitOfWork.CategoryRepository.Delete(category); return(RedirectToAction("AllCategories")); }