Get the latest checked-in version (document) of a document from SP 2010 doc library
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}
I have a document library with versioning enabled in SharePoint 2010.
I want to get the file which is checked-in and for any checked-out file, i need to get its latest checked-in version (document).
I am using c# server side object model on SharePoint 2010.
Can anyone help me out please?
c# sharepoint sharepoint-2010 document-versioning
add a comment |
I have a document library with versioning enabled in SharePoint 2010.
I want to get the file which is checked-in and for any checked-out file, i need to get its latest checked-in version (document).
I am using c# server side object model on SharePoint 2010.
Can anyone help me out please?
c# sharepoint sharepoint-2010 document-versioning
1
It would be awesome if you could provide a Minimal, Complete, and Verifiable example of your attempt so far.
– mjwills
Jan 3 at 11:17
add a comment |
I have a document library with versioning enabled in SharePoint 2010.
I want to get the file which is checked-in and for any checked-out file, i need to get its latest checked-in version (document).
I am using c# server side object model on SharePoint 2010.
Can anyone help me out please?
c# sharepoint sharepoint-2010 document-versioning
I have a document library with versioning enabled in SharePoint 2010.
I want to get the file which is checked-in and for any checked-out file, i need to get its latest checked-in version (document).
I am using c# server side object model on SharePoint 2010.
Can anyone help me out please?
c# sharepoint sharepoint-2010 document-versioning
c# sharepoint sharepoint-2010 document-versioning
asked Jan 3 at 11:11


KalpeshKalpesh
1141213
1141213
1
It would be awesome if you could provide a Minimal, Complete, and Verifiable example of your attempt so far.
– mjwills
Jan 3 at 11:17
add a comment |
1
It would be awesome if you could provide a Minimal, Complete, and Verifiable example of your attempt so far.
– mjwills
Jan 3 at 11:17
1
1
It would be awesome if you could provide a Minimal, Complete, and Verifiable example of your attempt so far.
– mjwills
Jan 3 at 11:17
It would be awesome if you could provide a Minimal, Complete, and Verifiable example of your attempt so far.
– mjwills
Jan 3 at 11:17
add a comment |
1 Answer
1
active
oldest
votes
This could help. It will iterate through all items in the list and if the item is Checked Out it will find latest Published version.
using Microsoft.SharePoint;
using System;
using System.Linq;
class Program
{
static void Main(string args)
{
using (SPSite site = new SPSite("https://sharepoint.domain.com"))
using (SPWeb web = site.OpenWeb())
{
SPList list = web.GetList($"{web.ServerRelativeUrl.TrimEnd('/')}/DocumentLibrary");
SPListItemCollection items = list.GetItems(new SPQuery());
foreach (SPListItem item in items)
{
object checkedOutTo = item[SPBuiltInFieldId.CheckoutUser];
if (checkedOutTo == null)
{
// Latest version
Console.WriteLine($"{item.ID} | {item.Versions[0].VersionLabel}");
// Here are bytes of the file itself
byte bytes = item.File.OpenBinary();
}
else
{
// Find latest published version
SPFileVersion version = item.File.Versions
.Cast<SPFileVersion>()
.OrderByDescending(v => v.ID)
.Where(v => v.Level == SPFileLevel.Published)
.FirstOrDefault();
if (version != null)
{
Console.WriteLine($"{item.ID} | {version.VersionLabel} | {checkedOutTo}");
// Here are bytes of the file itself
byte bytes = version.OpenBinary();
}
else
Console.WriteLine($"{item.ID} | No published version | {checkedOutTo}");
}
}
}
}
}
Hi Lukas thanks for your valuable response! This will give me only the version number whereas i need a actual document of that version number.
– Kalpesh
Jan 4 at 3:41
You're right, sorry. See updated answer.
– Lukas Nespor
Jan 4 at 7:20
Thanks Lukas for your valuable help! Appreciate your time and help!
– Kalpesh
Jan 4 at 11:09
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54021170%2fget-the-latest-checked-in-version-document-of-a-document-from-sp-2010-doc-libr%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
This could help. It will iterate through all items in the list and if the item is Checked Out it will find latest Published version.
using Microsoft.SharePoint;
using System;
using System.Linq;
class Program
{
static void Main(string args)
{
using (SPSite site = new SPSite("https://sharepoint.domain.com"))
using (SPWeb web = site.OpenWeb())
{
SPList list = web.GetList($"{web.ServerRelativeUrl.TrimEnd('/')}/DocumentLibrary");
SPListItemCollection items = list.GetItems(new SPQuery());
foreach (SPListItem item in items)
{
object checkedOutTo = item[SPBuiltInFieldId.CheckoutUser];
if (checkedOutTo == null)
{
// Latest version
Console.WriteLine($"{item.ID} | {item.Versions[0].VersionLabel}");
// Here are bytes of the file itself
byte bytes = item.File.OpenBinary();
}
else
{
// Find latest published version
SPFileVersion version = item.File.Versions
.Cast<SPFileVersion>()
.OrderByDescending(v => v.ID)
.Where(v => v.Level == SPFileLevel.Published)
.FirstOrDefault();
if (version != null)
{
Console.WriteLine($"{item.ID} | {version.VersionLabel} | {checkedOutTo}");
// Here are bytes of the file itself
byte bytes = version.OpenBinary();
}
else
Console.WriteLine($"{item.ID} | No published version | {checkedOutTo}");
}
}
}
}
}
Hi Lukas thanks for your valuable response! This will give me only the version number whereas i need a actual document of that version number.
– Kalpesh
Jan 4 at 3:41
You're right, sorry. See updated answer.
– Lukas Nespor
Jan 4 at 7:20
Thanks Lukas for your valuable help! Appreciate your time and help!
– Kalpesh
Jan 4 at 11:09
add a comment |
This could help. It will iterate through all items in the list and if the item is Checked Out it will find latest Published version.
using Microsoft.SharePoint;
using System;
using System.Linq;
class Program
{
static void Main(string args)
{
using (SPSite site = new SPSite("https://sharepoint.domain.com"))
using (SPWeb web = site.OpenWeb())
{
SPList list = web.GetList($"{web.ServerRelativeUrl.TrimEnd('/')}/DocumentLibrary");
SPListItemCollection items = list.GetItems(new SPQuery());
foreach (SPListItem item in items)
{
object checkedOutTo = item[SPBuiltInFieldId.CheckoutUser];
if (checkedOutTo == null)
{
// Latest version
Console.WriteLine($"{item.ID} | {item.Versions[0].VersionLabel}");
// Here are bytes of the file itself
byte bytes = item.File.OpenBinary();
}
else
{
// Find latest published version
SPFileVersion version = item.File.Versions
.Cast<SPFileVersion>()
.OrderByDescending(v => v.ID)
.Where(v => v.Level == SPFileLevel.Published)
.FirstOrDefault();
if (version != null)
{
Console.WriteLine($"{item.ID} | {version.VersionLabel} | {checkedOutTo}");
// Here are bytes of the file itself
byte bytes = version.OpenBinary();
}
else
Console.WriteLine($"{item.ID} | No published version | {checkedOutTo}");
}
}
}
}
}
Hi Lukas thanks for your valuable response! This will give me only the version number whereas i need a actual document of that version number.
– Kalpesh
Jan 4 at 3:41
You're right, sorry. See updated answer.
– Lukas Nespor
Jan 4 at 7:20
Thanks Lukas for your valuable help! Appreciate your time and help!
– Kalpesh
Jan 4 at 11:09
add a comment |
This could help. It will iterate through all items in the list and if the item is Checked Out it will find latest Published version.
using Microsoft.SharePoint;
using System;
using System.Linq;
class Program
{
static void Main(string args)
{
using (SPSite site = new SPSite("https://sharepoint.domain.com"))
using (SPWeb web = site.OpenWeb())
{
SPList list = web.GetList($"{web.ServerRelativeUrl.TrimEnd('/')}/DocumentLibrary");
SPListItemCollection items = list.GetItems(new SPQuery());
foreach (SPListItem item in items)
{
object checkedOutTo = item[SPBuiltInFieldId.CheckoutUser];
if (checkedOutTo == null)
{
// Latest version
Console.WriteLine($"{item.ID} | {item.Versions[0].VersionLabel}");
// Here are bytes of the file itself
byte bytes = item.File.OpenBinary();
}
else
{
// Find latest published version
SPFileVersion version = item.File.Versions
.Cast<SPFileVersion>()
.OrderByDescending(v => v.ID)
.Where(v => v.Level == SPFileLevel.Published)
.FirstOrDefault();
if (version != null)
{
Console.WriteLine($"{item.ID} | {version.VersionLabel} | {checkedOutTo}");
// Here are bytes of the file itself
byte bytes = version.OpenBinary();
}
else
Console.WriteLine($"{item.ID} | No published version | {checkedOutTo}");
}
}
}
}
}
This could help. It will iterate through all items in the list and if the item is Checked Out it will find latest Published version.
using Microsoft.SharePoint;
using System;
using System.Linq;
class Program
{
static void Main(string args)
{
using (SPSite site = new SPSite("https://sharepoint.domain.com"))
using (SPWeb web = site.OpenWeb())
{
SPList list = web.GetList($"{web.ServerRelativeUrl.TrimEnd('/')}/DocumentLibrary");
SPListItemCollection items = list.GetItems(new SPQuery());
foreach (SPListItem item in items)
{
object checkedOutTo = item[SPBuiltInFieldId.CheckoutUser];
if (checkedOutTo == null)
{
// Latest version
Console.WriteLine($"{item.ID} | {item.Versions[0].VersionLabel}");
// Here are bytes of the file itself
byte bytes = item.File.OpenBinary();
}
else
{
// Find latest published version
SPFileVersion version = item.File.Versions
.Cast<SPFileVersion>()
.OrderByDescending(v => v.ID)
.Where(v => v.Level == SPFileLevel.Published)
.FirstOrDefault();
if (version != null)
{
Console.WriteLine($"{item.ID} | {version.VersionLabel} | {checkedOutTo}");
// Here are bytes of the file itself
byte bytes = version.OpenBinary();
}
else
Console.WriteLine($"{item.ID} | No published version | {checkedOutTo}");
}
}
}
}
}
edited Jan 4 at 7:19
answered Jan 3 at 11:38


Lukas NesporLukas Nespor
9641918
9641918
Hi Lukas thanks for your valuable response! This will give me only the version number whereas i need a actual document of that version number.
– Kalpesh
Jan 4 at 3:41
You're right, sorry. See updated answer.
– Lukas Nespor
Jan 4 at 7:20
Thanks Lukas for your valuable help! Appreciate your time and help!
– Kalpesh
Jan 4 at 11:09
add a comment |
Hi Lukas thanks for your valuable response! This will give me only the version number whereas i need a actual document of that version number.
– Kalpesh
Jan 4 at 3:41
You're right, sorry. See updated answer.
– Lukas Nespor
Jan 4 at 7:20
Thanks Lukas for your valuable help! Appreciate your time and help!
– Kalpesh
Jan 4 at 11:09
Hi Lukas thanks for your valuable response! This will give me only the version number whereas i need a actual document of that version number.
– Kalpesh
Jan 4 at 3:41
Hi Lukas thanks for your valuable response! This will give me only the version number whereas i need a actual document of that version number.
– Kalpesh
Jan 4 at 3:41
You're right, sorry. See updated answer.
– Lukas Nespor
Jan 4 at 7:20
You're right, sorry. See updated answer.
– Lukas Nespor
Jan 4 at 7:20
Thanks Lukas for your valuable help! Appreciate your time and help!
– Kalpesh
Jan 4 at 11:09
Thanks Lukas for your valuable help! Appreciate your time and help!
– Kalpesh
Jan 4 at 11:09
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54021170%2fget-the-latest-checked-in-version-document-of-a-document-from-sp-2010-doc-libr%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
It would be awesome if you could provide a Minimal, Complete, and Verifiable example of your attempt so far.
– mjwills
Jan 3 at 11:17