public int CreateScreenShareConnection(int requestID, int userID) { ScreenShareRequest request = screenShareManager.GetScreenShareRequest(requestID); User currentUser = userManager.GetUser(userID); Connection newConnection = new Connection(); newConnection.ConnectionName = request.NewConnection.ConnectionName.Contains("Repeat") ? request.NewConnection.ConnectionName : request.NewConnection.ConnectionName + " (Repeat)"; newConnection.Lesson = request.NewConnection.Lesson; newConnection.ConnectionDate = DateTime.Now; request.NewConnection.Lesson.Connections.Add(newConnection); newConnection.Sharer = request.RequesterRequestType == RequestType.Sharer ? request.Requester : request.RequestTo; newConnection.Viewer = request.RequesterRequestType == RequestType.Sharer ? request.Requester : request.RequestTo; newConnection.Sharer.ConnectionsAsSharer.Add(newConnection); newConnection.Viewer.ConnectionsAsViewer.Add(newConnection); request.NewConnection = newConnection; connectionManager.AddConnection(newConnection); uow.Save(); return(newConnection.ID); }
public int AcceptScreenShareRequest(int screenShareID, int userID) { ScreenShareRequest request = screenShareManager.GetScreenShareRequest(screenShareID); request.IsAccepted = true; uow.Save(); return(request.ID); }
public TransactionObject EstablishPreviousConnection(int ID, string status, int userID) { TransactionObject response = new TransactionObject(); User currentUser = userManager.GetUser(userID); //currentUser.PendingStatus = "Sharer"; if (!currentUser.SentScreenShareRequests.Where(w => w.IsAccepted == false && w.NewConnection.IsConnectionEnded == false).Any()) { Connection conn = connectionManager.GetConnection(ID); User partnerUser = conn.ViewerID == currentUser.ID ? conn.Sharer : conn.Viewer; ScreenShareRequest ssRequest = new ScreenShareRequest(); ssRequest.Requester = currentUser; ssRequest.RequestTo = partnerUser; currentUser.SentScreenShareRequests.Add(ssRequest); partnerUser.ReceivedScreenShareRequests.Add(ssRequest); ssRequest.RequesterRequestType = status == "Sharer" ? RequestType.Sharer : RequestType.Viewer; ssRequest.RequestToRequestType = ssRequest.RequesterRequestType == RequestType.Sharer ? RequestType.Viewer : RequestType.Sharer; ssRequest.NewConnection = conn; screenShareManager.AddScreenShareRequest(ssRequest); try { uow.Save(); response.IsSuccess = true; } catch (Exception ex) { response.IsSuccess = false; response.Explanation = base.GetExceptionMessage(ex); } } else { response.IsSuccess = false; response.Explanation = "You already have an existing connection pending!"; } return(response); }
public void DeleteConnection(ScreenShareRequest connection) { screenShareRequestRepository.Delete(connection); }
public void AddScreenShareRequest(ScreenShareRequest screenShareRequest) { screenShareRequestRepository.Add(screenShareRequest); }