public UploadResult SaveGenericDocument(byte[] documentContent, string originalName, string mimeType, MSOWebServiceCallContextDTO context)
        {
            if (documentContent == null || documentContent.Length == 0)
            {
                return(UploadResult.FileContentEmpty);
            }

            if (string.IsNullOrEmpty(originalName) || string.IsNullOrEmpty(mimeType))
            {
                return(UploadResult.InvalidFilenameOrMimeType);
            }

            if (!validateContext(context, false))
            {
                return(UploadResult.InvalidContext);
            }

            MSOIntegrationDAO dao = new MSOIntegrationDAO();

            try
            {
                switch (dao.CheckTicket(context))
                {
                case 0:
                    return(UploadResult.TicketExpired);

                case -1:
                    return(UploadResult.InvalidTicket);
                }
            }
            catch
            {
                return(UploadResult.DBConnectionError);
            }
            Guid   tempFilename = Guid.NewGuid();
            string filePath     = Path.Combine(Server.MapPath("~/temp"), tempFilename.ToString());

            try
            {
                File.WriteAllBytes(filePath, documentContent);
            }
            catch
            {
                return(UploadResult.UnableToSaveFile);
            }
            try
            {
                switch (saveGenericDocument(filePath, originalName, mimeType, context.DocumentGUID, context.LastVersionGuid, context.Description, originalName, context.Ticket))
                {
                case -1:
                    return(UploadResult.DocumentNotFound);

                case -2:
                    return(UploadResult.UnableToAddDocumentItem);
                }
                dao.DeleteTicket(context);
                return(UploadResult.OK);
            }
            catch
            {
                return(UploadResult.DBConnectionError);
            }
        }