Пример #1
0
        // 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);
            }
        }
Пример #2
0
        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."
            );
        }
Пример #3
0
        public DTOComplete insertAndGetComplete(DTOComplete complete)
        {
            int id = Container.createITaskRepository().insertCompleteAndSaveChanges(Container.createIDbContext(), complete);

            complete.Id = id;

            return(complete);
        }
Пример #4
0
        // 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);
        }
Пример #5
0
        /// <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));
        }
Пример #6
0
        // Complete
        public DTOComplete getRandomCompleteWithIsCompleteTrue(DTOTask task)
        {
            var         randonFinalizationDate = getRandomDate();
            DTOComplete complete = new DTOComplete
            {
                IsComplete       = true,
                FinalizationDate = randonFinalizationDate,
                TaskId           = task.Id
            };

            return(complete);
        }
Пример #7
0
        /// <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);
        }
Пример #8
0
        /// <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);
        }
Пример #9
0
 /// <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));
 }
Пример #10
0
        public ActionResult WriteComplete(DTOComplete complete)
        {
            int id = taskService.writeComplete(complete);

            return(Json(id));
        }
Пример #11
0
 /// <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));
 }