示例#1
0
        /// <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);
        }