public RemovedWorkRequest(DbRemovedWorkRequest dbRemovedWorkRequest)
 {
     RemovedWorkRequestId = dbRemovedWorkRequest.DbRemovedWorkRequestId;
     DateRemoved          = dbRemovedWorkRequest.DateRemoved;
     RemovedByUser        = new User(dbRemovedWorkRequest.DbRemovedByUser);
     WorkRequest          = new WorkRequest(dbRemovedWorkRequest.DbWorkRequest);
 }
        public RemovedWorkRequest RemoveWorkRequest(RemovedWorkRequest removedWorkRequest)
        {
            var dbContext = new DataContext();

            var dbRemovedWorkRequestFound = dbContext.DbRemovedWorkRequests.FirstOrDefault(dbRemovedWorkRequest => dbRemovedWorkRequest.DbWorkRequest.DbWorkRequestId == removedWorkRequest.WorkRequest.WorkRequestId);

            if (dbRemovedWorkRequestFound == null)
            {
                dbRemovedWorkRequestFound                        = new DbRemovedWorkRequest();
                dbRemovedWorkRequestFound.DateRemoved            = removedWorkRequest.DateRemoved;
                dbRemovedWorkRequestFound.DbRemovedWorkRequestId = removedWorkRequest.RemovedWorkRequestId;
                dbRemovedWorkRequestFound.DbWorkRequest          = GetDbWorkRequest(dbContext, removedWorkRequest.WorkRequest.WorkRequestId);
                dbRemovedWorkRequestFound.DbRemovedByUser        = new UsersRepository().GetDbUser(dbContext, removedWorkRequest.RemovedByUser.UserId);

                dbRemovedWorkRequestFound = dbContext.DbRemovedWorkRequests.Add(dbRemovedWorkRequestFound);
                dbContext.SaveChanges();
            }


            return(new RemovedWorkRequest(dbRemovedWorkRequestFound));
        }