public void AddToTomato(List <int> elementIds)
        {
            Domain.Tomato curentTomato = _taskUnitOfWork.TomatoRepository.GetCurrent();
            if (curentTomato == null)
            {
                curentTomato        = new Domain.Tomato();
                curentTomato.Status = Status.New;
            }

            List <Domain.Element> elements = _taskUnitOfWork.TaskRepository.GetElements(elementIds);

            elements.ForEach(x =>
            {
                x.AddToTomato(curentTomato);
                _taskUnitOfWork.TaskRepository.Update(x);
            });
            _taskUnitOfWork.Commit();


            //pw: move to repository
            //var tomatoItems = elementIds.ToList().Select(x => new Infrastructure.TomatoElement() { ElementId = x }).ToList();
            //var tomato = new Infrastructure.Tomato() { Status = CoreObjects.Tomato.Status.New, Items = tomatoItems };
            //_taskUnitOfWork.TomatoRepository.Add(tomato);
            //_taskUnitOfWork.Commit();
        }
        public void AddToTomato(string name, string details, int parentId)
        {
            Domain.Tomato curentTomato = _taskUnitOfWork.TomatoRepository.GetCurrent();
            if (curentTomato == null)
            {
                curentTomato        = new Domain.Tomato();
                curentTomato.Status = Status.New;
            }

            var element = new Domain.Element(name, details, CoreObjects.ElementType.Task, parentId);

            element.AddToTomato(curentTomato);

            _taskUnitOfWork.TaskRepository.Add(element);
            // _taskUnitOfWork.TomatoRepository.Update(curentTomato);
            _taskUnitOfWork.Commit();
        }
        public void FinishTomato(bool finishAlsoTask)
        {
            Domain.Tomato tomato = _taskUnitOfWork.TomatoRepository.GetCurrent();
            tomato.Finish();
            _taskUnitOfWork.TomatoRepository.Update(tomato);

            if (finishAlsoTask)
            {
                List <Domain.Element> elements = _taskUnitOfWork.TaskRepository.GetElements(tomato.Elements.Select(x => x.ElementId).ToList());
                //pw: chage it
                elements.ForEach(x =>
                {
                    x.Finish(DateTime.Now);
                    _taskUnitOfWork.TaskRepository.Update(x);
                });
            }

            _taskUnitOfWork.Commit();
        }
Esempio n. 4
0
        public void AddElementForExistingTomatoTest()
        {
            IMapper mapper = GetMapper();

            var taskContext = GetTaskContextInMemory();

            taskContext.Tomato.Add(new Tomato()
            {
                Status = CoreObjects.Tomato.Status.New
            });
            taskContext.SaveChanges();

            // var taskContext = GetTaskContextInMemory();
            TomatoRepository tomatoRepository = new TomatoRepository(taskContext, mapper);
            TaskRepository   taskRepository   = new TaskRepository(taskContext, mapper, new DateTimeTools.DateTimePT());
            TaskUnitOfWork   taskUnitOfWork   = new TaskUnitOfWork(taskContext, taskRepository, tomatoRepository, null);

            Domain.Tomato currentTomato = taskUnitOfWork.TomatoRepository.GetCurrent();
            var           element       = new Domain.Element("pawel", "Details", CoreObjects.ElementType.Task, 1);

            element.Tomatoes.Add(currentTomato);
            taskUnitOfWork.TaskRepository.Add(element);
            taskUnitOfWork.Commit();
        }