/// <summary> /// Discard individual document from Matter Center /// </summary> /// <param name="requestObject">Request object</param> /// <param name="mailAttachmentDetails">Attachment object</param> /// <returns>Status of discarding individual document</returns> internal static string DiscardCheckout(RequestObject requestObject, MailAttachmentDetails mailAttachmentDetails) { string result = ConstantStrings.FALSE; ClientContext clientContext; try { using (clientContext = ServiceUtility.GetClientContext(requestObject.SPAppToken, new Uri(mailAttachmentDetails.FullUrl.Split(Convert.ToChar(ConstantStrings.DOLLAR, CultureInfo.InvariantCulture))[0]), requestObject.RefreshToken)) { Microsoft.SharePoint.Client.File file = clientContext.Web.GetFileByServerRelativeUrl(mailAttachmentDetails.FullUrl.Split(Convert.ToChar(ConstantStrings.DOLLAR, CultureInfo.InvariantCulture))[1].TrimEnd(ConstantStrings.Semicolon[0])); clientContext.Load(file); clientContext.ExecuteQuery(); if (file.CheckOutType != CheckOutType.None) { file.UndoCheckOut(); result = string.Concat(ConstantStrings.TRUE, ConstantStrings.Comma, ConstantStrings.Space, file.Name); } clientContext.ExecuteQuery(); } } catch (Exception exception) { Logger.LogError(exception, MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name, ServiceConstantStrings.LogTableName); result = string.Concat(ConstantStrings.FALSE, ConstantStrings.Comma, ConstantStrings.Space, ServiceUtility.RemoveEscapeCharacter(exception.Message)); } return(result); }