public void SortTasksByCategory_CanSortByCategoryTitle_ReturnTasks() { // Arrange var category = new TaskCategoryModel() { Id = Guid.NewGuid().ToString(), DateTime = DateTime.Now, Title = "Daily", }; var task = new TaskModel { Id = Guid.NewGuid().ToString(), Completeness = false, DateTime = DateTime.Now, Description = "Description", Name = "Name", Category = category, }; ITaskService taskService = new TaskService(AutomapperConfig.MapConfig()); taskService.AddTask(task); // Act var result = taskService.SortTasksByCategory(task.Category.Title); // Assert Assert.IsNotNull(result); Assert.AreEqual(task.Name, result.FirstOrDefault().Name); taskService.DeleteTaskById(task.Id); }
public void UpdateCategory_CanUpdateValidCategory_ReturnCategory() { // Arrange var category = new TaskCategoryModel() { Id = "Guid 1", DateTime = DateTime.Now, Title = "Daily", }; var updateCategory = new TaskCategoryModel() { Id = "Guid 1", DateTime = DateTime.Now, Title = "Title", }; ITaskCategoryService repository = new TaskCategoryService(AutomapperConfig.MapConfig()); // Act repository.AddCategory(category); var result = repository.UpdateCategory(updateCategory); repository.DeleteCategoryById(category.Id); // Assert Assert.IsNotNull(result); Assert.AreEqual(updateCategory, result); }
public void SortTasksByCategory_CannotSortByCategoryIfCountEqualsNull_ReturnObjectNotFoundException() { // Arrange var category = new TaskCategoryModel() { Id = Guid.NewGuid().ToString(), DateTime = DateTime.Now, Title = "Daily", }; var task = new TaskModel { Id = Guid.NewGuid().ToString(), Completeness = false, DateTime = DateTime.Now, Description = "Description", Name = "Name", Category = category, }; ITaskService taskService = new TaskService(AutomapperConfig.MapConfig()); // Act taskService.SortTasksByCategory(task.Category.Title); }
public TaskCategoryModel AddCategory(TaskCategoryModel category) { if (IsCategoryNull(category)) { throw new Exception("Cannot be add empty category."); } if (IsCategoryPropertiesNull(category)) { throw new Exception("Cannot be add category with empty properties."); } if (GetCategories(). Where(c => c.Title. Contains(category.Title)). Count() != 0) { throw new InvalidOperationException($"Category with name {category.Title} already exists."); } var categoryEntity = _mapper.Map <TaskCategoryEntity>(category); _taskCategoryRepository.AddCategory(categoryEntity); return(category); }
public string GetSubcategories(string name) { List <TaskCategoryModel> categories = _unitOfWork.Tasks.GetTaskCategories(); TaskCategoryModel category = categories.First(c => c.Name == name); List <TaskSubcatModel> subcats = _unitOfWork.Tasks.GetSubcategories(category.Id); return(JsonConvert.SerializeObject(subcats.Select(f => new { f.Id, f.Name }).ToArray())); }
private bool IsCategoryNull(TaskCategoryModel category) { if (category is null) { return(true); } return(false); }
private bool IsCategoryPropertiesNull(TaskCategoryModel category) { if (string.IsNullOrWhiteSpace(category.Title)) { return(true); } return(false); }
public void AddCategory_CannotAddInvalidCategory_ReturnException() { // Arrange var category = new TaskCategoryModel() { Id = " ", Title = null, }; ITaskCategoryService repository = new TaskCategoryService(AutomapperConfig.MapConfig()); // Act repository.AddCategory(category); }
public static TaskCategoryModel copyTaskCategoryToModel(TaskCategory tc) { if (tc == null) { return(null); } TaskCategoryModel newTC = new TaskCategoryModel() { categoryName = tc.categoryName }; return(newTC); }
public void UpdateCategory_CannotUpdateInvalidCategory_ReturnException() { // Arrange var category = new TaskCategoryModel() { Id = null, DateTime = DateTime.Now, Title = " ", }; ITaskCategoryService repository = new TaskCategoryService(AutomapperConfig.MapConfig()); // Act repository.UpdateCategory(category); }
private void UpdateBtn_Click(object sender, EventArgs e) { TaskCategoryModel newCategory = _bindingSourceCurrentCategory.Current as TaskCategoryModel; var oldCategory = _bindingSourceCategories.Current as TaskCategoryModel; newCategory.Id = oldCategory.Id; if (dataGridView1.CurrentCell.Value == null) { try { _taskCategoryService.AddCategory(newCategory); panel1.Visible = false; MessageBox.Show($"The category \"{newCategory.Title}\" added."); } catch (InvalidOperationException ex) { MessageBox.Show(ex.Message); } catch (Exception ex) { MessageBox.Show(ex.Message); } dataGridView1.Visible = true; } else { try { _taskCategoryService.UpdateCategory(newCategory); panel1.Visible = false; MessageBox.Show($"The category \"{newCategory.Title}\" updated."); } catch (System.Data.Entity.Core.ObjectNotFoundException ex) { MessageBox.Show($"{ex.Message}"); } catch (Exception ex) { MessageBox.Show(ex.Message); } } LoadCategories(); }
private void DeleteBtn_Click(object sender, EventArgs e) { TaskCategoryModel currentCategory = _bindingSourceCategories.Current as TaskCategoryModel; try { _taskCategoryService.DeleteCategoryById(currentCategory.Id); _bindingSourceCategories.Remove(currentCategory); MessageBox.Show($"The category \"{currentCategory.Title}\" deleted."); } catch (Exception ex) { MessageBox.Show(ex.Message); } LoadCategories(); }
public TaskCategoryModel UpdateCategory(TaskCategoryModel category) { if (IsCategoryNull(category)) { throw new Exception("Cannot be update empty category."); } if (IsCategoryPropertiesNull(category)) { throw new Exception("Cannot be update category with empty properties."); } var updateCategory = _mapper.Map <TaskCategoryEntity>(category); _taskCategoryRepository.UpdateCategory(updateCategory); return(category); }
private void SetCurrentCategory() { if (_bindingSourceCategories.Count > 0) { var taskCategory = TaskCategoryModel.GetCloneCategory((TaskCategoryModel)_bindingSourceCategories.Current); _bindingSourceCurrentCategory.List[0] = taskCategory; comboBox1.Items.Clear(); foreach (TaskModel item in taskCategory.Tasks) { comboBox1.Items.Add(item.Name); } } else { _bindingSourceCurrentCategory.List[0] = new TaskCategoryModel(); } _bindingSourceCurrentCategory.ResetItem(0); }