/// <summary>
 /// Deletes the workstage.
 /// </summary>
 /// <param name="workstage">The workstage.</param>
 public void DeleteWorkstage(Workstage workstage)
 {
     throw new System.NotImplementedException();
 }
        /// <summary>
        /// Saves the workstage.
        /// </summary>
        /// <param name="workstage">The workstage.</param>
        public void SaveWorkstage(Workstage workstage)
        {
            if (workstage == null)
            {
                throw new ArgumentNullException("workstage", "Cannot save null workstage.");
            }

            if (workstage.WorkstageId == Guid.Empty)
            {
                this.DataContext.InsertWorkstage(workstage);
            }
            else
            {
                this.DataContext.UpdateWorkstage(workstage);
            }

            this.DataContext.SaveChanges();
        }
 /// <summary>
 /// Inserts the workstage.
 /// </summary>
 /// <param name="workstage">The workstage.</param>
 public void InsertWorkstage(Workstage workstage)
 {
     this.WorkstageCollection.Add(workstage);
 }
 /// <summary>
 /// Updates the workstage.
 /// </summary>
 /// <param name="workstage">The workstage.</param>
 public void UpdateWorkstage(Workstage workstage)
 {
 }
        public void SaveWorkstageIUpdatesWorkstageIfItIsNotNew()
        {
            // Arrange
            var workstageToSave = new Workstage { WorkstageId = Guid.NewGuid() };
            var service = new ProjectServices(this.dataContext);

            this.mockDataContext.Setup(x => x.InsertWorkstage(It.IsAny<Workstage>())).Callback(
                () => Assert.Fail("Insert should not be called."));

            this.mockDataContext.Setup(x => x.UpdateWorkstage(workstageToSave))
                .Verifiable();

            this.mockDataContext.Setup(x => x.SaveChanges()).Verifiable();

            // Act
            service.SaveWorkstage(workstageToSave);

            // Assert
            this.mockDataContext.Verify();
        }