// Complete ============================================= /// <summary> /// Insert or update a complete record in db. /// </summary> /// <param name="complete">Complete record to insert or update.</param> /// <returns>The id of the inserted/updated record.</returns> public int writeComplete(DTOComplete complete) { using (DbContext) { int ret; // Set finalization date complete.FinalizationDate = getFinalizationDate(complete); // True if complete exist. Otherwise false. bool completeExistInDb = taskRepository.completeExist(DbContext, complete); // Update complete if it already exist in db if (completeExistInDb) { taskRepository.updateComplete(DbContext, complete); DbContext.SaveChanges(); ret = complete.Id; } // Insert complete if it is not found in db else { ret = taskRepository.insertCompleteAndSaveChanges(DbContext, complete); } return(ret); } }
public void InsertComplete_insert_Complete_and_return_idAsJson() { var project = insertAndgetProject(getRandomProject()); var requirement = insertAndgetRequirement(getRandomRequirement(project)); var taskList = insertTasksAndgetList(requirement, 3); var taskId = taskList.OrderBy(x => x.Id).FirstOrDefault().Id; DTOComplete complete = getRandomComplete(taskList.FirstOrDefault()); // Arrange var taskController = Container.createTasksController(); // Act var result = taskController.WriteComplete(complete) as JsonResult; // Assert var resultAsInt = result.Data as int?; var expectedComplete = Container.createIDbContext().Completes.Where(x => x.TaskId == taskId).ToList().FirstOrDefault(); Assert.IsTrue(result != null, "It is not returning a json result"); Assert.IsTrue(expectedComplete != null, "The record was not inserted."); Assert.IsTrue ( complete.IsComplete == expectedComplete.IsComplete && complete.FinalizationDate.CompareTo(expectedComplete.FinalizationDate) == 0 && complete.TaskId == expectedComplete.TaskId, "The record inserted does not correspond with the one created." ); }
public DTOComplete insertAndGetComplete(DTOComplete complete) { int id = Container.createITaskRepository().insertCompleteAndSaveChanges(Container.createIDbContext(), complete); complete.Id = id; return(complete); }
// Complete ================================================ /// <summary> /// Check if complete exist in db. /// </summary> /// <param name="context">Context of the database.</param> /// <param name="complete">DTO to check for existence.</param> /// <returns>True if complete exist in db. Otherwise false.</returns> public bool completeExist(IDbContext context, DTOComplete complete) { var query = getAll <Complete>(context) .Where(x => x.TaskId == complete.TaskId) .Any(); return(query); }
/// <summary> /// Insert a complete status for a task and save changes. /// </summary> /// <param name="context">Context of the database.</param> /// <param name="complete">Complete DTO to be inserted.</param> /// <returns>The id of the inserted record.</returns> public int insertCompleteAndSaveChanges(IDbContext context, DTOComplete complete) { // Throw exception if fk is invalid throwExceptionIfForeignKeyInvalid(complete.TaskId); // Get entity from DTO var entity = Mapper.mapEntityComplete(complete); return(insertAndSaveChanges <Complete>(context, entity)); }
// Complete public DTOComplete getRandomCompleteWithIsCompleteTrue(DTOTask task) { var randonFinalizationDate = getRandomDate(); DTOComplete complete = new DTOComplete { IsComplete = true, FinalizationDate = randonFinalizationDate, TaskId = task.Id }; return(complete); }
/// <summary> /// Update a complete status for a task. /// </summary> /// <param name="context">Context of the database.</param> /// <param name="complete">A complete DTO to be updated.</param> public void updateComplete(IDbContext context, DTOComplete complete) { // Get old entity var oldEntity = context.Completes.Where(x => x.Id == complete.Id).FirstOrDefault(); // Get new entity var newEntity = Mapper.mapEntityComplete(complete); newEntity.TaskId = oldEntity.TaskId; // Update changes context.Entry(oldEntity).CurrentValues.SetValues(newEntity); }
/// <summary> /// Get the finalization date for DTOComplete. /// </summary> /// <param name="complete">Complete DTO that contains the IsComplete parameter.</param> /// <returns>Current date if IsComplete is true. Otherwise it return the minumun datetime.</returns> private DateTime getFinalizationDate(DTOComplete complete) { var finalizationDate = (complete.IsComplete) ? DateTime.Now : (DateTime)SqlDateTime.MinValue; return(finalizationDate); }
/// <summary> /// Delete a complete entity. /// </summary> /// <param name="context">Context of the database.</param> /// <param name="complete">Complete DTO to be deleted</param> public void deleteComplete(IDbContext context, DTOComplete complete) { // Delete entity delete <Complete>(context, Mapper.mapEntityComplete(complete)); }
public ActionResult WriteComplete(DTOComplete complete) { int id = taskService.writeComplete(complete); return(Json(id)); }
/// <summary> /// Map Entity Complete to DTO Complete. /// </summary> /// <param name="Complete">Complete DTO to map from.</param> /// <returns>A Entity Complete.</returns> public Complete mapEntityComplete(DTOComplete Complete) { return(map <Complete>(Complete)); }