Exemplo n.º 1
0
        internal IResult <Note> Execute(Data.Models.Notebook notebook, DateTime timestamp, Employee employee, string text)
        {
            if (notebook == null)
            {
                throw new ArgumentNullException("notebook");
            }
            if (timestamp == null)
            {
                throw new ArgumentNullException("timestamp");
            }
            if (employee == null)
            {
                throw new ArgumentNullException("employee");
            }
            if (text == null)
            {
                throw new ArgumentNullException("text");
            }

            var newSequence = new EFUnitOfWorkHelper(_notebookUnitOfWork).GetNextSequence <Note>(n => n.NotebookDate == notebook.NotebookKey_Date && n.NotebookSequence == notebook.NotebookKey_Sequence, n => n.Sequence);
            var newNote     = _notebookUnitOfWork.NoteRepository.Add(new Note
            {
                NotebookDate     = notebook.Date,
                NotebookSequence = notebook.Sequence,
                Sequence         = newSequence,

                EmployeeId = employee.EmployeeId,
                TimeStamp  = timestamp,
                Text       = text
            });

            return(new SuccessResult <Note>(newNote));
        }
        internal IResult Delete(Data.Models.Notebook notebook)
        {
            var notes = notebook.Notes.ToList();

            foreach (var note in notes)
            {
                _notebookUnitOfWork.NoteRepository.Remove(note);
            }
            _notebookUnitOfWork.NotebookRepository.Remove(notebook);

            return(new SuccessResult());
        }