Exemplo n.º 1
0
        public async Task <Response> CreateShare(CreateShareRequest request)
        {
            Response response = new CreateShareResponseInvalidUserID(request);

            if (_dal.isUserExists(request.Share.UserID) && _dal.isDocExists(request.Share.DocID))
            {
                try
                {
                    //create share
                    DataSet ds = _dal.CreateShare(request.Share.DocID, request.Share.UserID);
                    response = new CreateShareResponseOK(request);
                    //update user for new share
                    await _socket.Send(request.Share.UserID, "newDocumentUpdate");
                }
                catch (Exception ex)
                {
                    response = new AppResponseError(ex.Message);
                }
            }
            return(response);
        }
Exemplo n.º 2
0
        public async Task <Response> CreateMarker(CreateMarkerRequest request)
        {
            Response response = new CreateMarkerResponseInvalidMarkerData(request);

            if (_dal.isUserExists(request.UserID) && _dal.isDocExists(request.DocID) && isValidMarkerType(request.MarkerType))
            {
                try
                {
                    //create marker
                    var     markerID = Guid.NewGuid().ToString();
                    DataSet ds       = _dal.CreateMarker(request.DocID, markerID, request.UserID, request.MarkerType, request.StrokeColor,
                                                         request.BackgroundColor, request.X, request.Y, request.XRadius, request.YRadius);
                    response = new CreateMarkerResponseOK(request);

                    //update other users
                    List <string> usersIDs = new List <string>();
                    DataSet       ds2      = _dal.GetSharedUsers(request.DocID);
                    foreach (DataRow row in ds2.Tables[0].Rows)
                    {
                        usersIDs.Add((string)row["USER_ID"]);
                    }
                    DataSet ds3     = _dal.GetDocument(request.DocID);
                    DataRow docData = ds3.Tables[0].Rows[0];
                    usersIDs.Add((string)docData["USER_ID"]);
                    foreach (string userID in usersIDs)
                    {
                        await _socket.Send(userID, "newMarkerUpdate");
                    }
                }
                catch (Exception ex)
                {
                    response = new AppResponseError(ex.Message);
                }
            }
            return(response);
        }