#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.34014
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace Disco.Web.Views.User.UserParts
{
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Net;
    using System.Text;
    using System.Web;
    using System.Web.Helpers;
    using System.Web.Mvc;
    using System.Web.Mvc.Ajax;
    using System.Web.Mvc.Html;
    using System.Web.Routing;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.WebPages;
    using Disco;
    using Disco.BI.Extensions;
    using Disco.Models.Repository;
    using Disco.Services;
    using Disco.Services.Authorization;
    using Disco.Services.Web;
    using Disco.Web;
    using Disco.Web.Extensions;
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "2.0.0.0")]
    [System.Web.WebPages.PageVirtualPathAttribute("~/Views/User/UserParts/_Resources.cshtml")]
    public partial class Resources : Disco.Services.Web.WebViewPage<Disco.Web.Models.User.ShowModel>
    {
        public Resources()
        {
        }
        public override void Execute()
        {
            
            #line 2 "..\..\Views\User\UserParts\_Resources.cshtml"
  
    Authorization.Require(Claims.User.ShowAttachments);

    var canAddAttachments = Authorization.Has(Claims.User.Actions.AddAttachments);
    var canRemoveAnyAttachments = Authorization.Has(Claims.User.Actions.RemoveAnyAttachments);
    var canRemoveOwnAttachments = Authorization.Has(Claims.User.Actions.RemoveOwnAttachments);

    Html.BundleDeferred("~/Style/Shadowbox");
    Html.BundleDeferred("~/ClientScripts/Modules/Shadowbox");
    Html.BundleDeferred("~/ClientScripts/Modules/jQuery-SignalR");

    if (canAddAttachments)
    {
        Html.BundleDeferred("~/ClientScripts/Modules/Disco-AttachmentUploader");
    }

            
            #line default
            #line hidden
WriteLiteral("\r\n<div");

WriteLiteral(" id=\"UserDetailTab-Resources\"");

WriteLiteral(" class=\"UserPart\"");

WriteLiteral(">\r\n    <table");

WriteLiteral(" id=\"userShowResources\"");

WriteLiteral(">\r\n        <tr>\r\n            <td");

WriteLiteral(" id=\"AttachmentsContainer\"");

WriteLiteral(">\r\n                <div");

WriteLiteral(" id=\"Attachments\"");

WriteAttribute("class", Tuple.Create(" class=\"", 872), Tuple.Create("\"", 947)
            
            #line 22 "..\..\Views\User\UserParts\_Resources.cshtml"
, Tuple.Create(Tuple.Create("", 880), Tuple.Create<System.Object, System.Int32>(canAddAttachments ? "canAddAttachments" : "cannotAddAttachments"
            
            #line default
            #line hidden
, 880), false)
);

WriteLiteral(">\r\n                    <div");

WriteLiteral(" class=\"Disco-AttachmentUpload-DropTarget\"");

WriteLiteral(">\r\n                        <h2>Drop Attachments Here</h2>\r\n                    </" +
"div>\r\n                    <div");

WriteLiteral(" class=\"attachmentOutput\"");

WriteLiteral(">\r\n");

            
            #line 27 "..\..\Views\User\UserParts\_Resources.cshtml"
                        
            
            #line default
            #line hidden
            
            #line 27 "..\..\Views\User\UserParts\_Resources.cshtml"
                         if (Model.User.UserAttachments != null)
                        {
                            foreach (var ua in Model.User.UserAttachments)
                            {

            
            #line default
            #line hidden
WriteLiteral("                            <a");

WriteAttribute("href", Tuple.Create(" href=\"", 1386), Tuple.Create("\"", 1444)
            
            #line 31 "..\..\Views\User\UserParts\_Resources.cshtml"
, Tuple.Create(Tuple.Create("", 1393), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.User.AttachmentDownload(ua.Id))
            
            #line default
            #line hidden
, 1393), false)
);

WriteLiteral(" data-attachmentid=\"");

            
            #line 31 "..\..\Views\User\UserParts\_Resources.cshtml"
                                                                                                        Write(ua.Id);

            
            #line default
            #line hidden
WriteLiteral("\"");

WriteLiteral(" data-mimetype=\"");

            
            #line 31 "..\..\Views\User\UserParts\_Resources.cshtml"
                                                                                                                               Write(ua.MimeType);

            
            #line default
            #line hidden
WriteLiteral("\"");

WriteLiteral(">\r\n                                <span");

WriteLiteral(" class=\"icon\"");

WriteAttribute("title", Tuple.Create(" title=\"", 1554), Tuple.Create("\"", 1574)
            
            #line 32 "..\..\Views\User\UserParts\_Resources.cshtml"
, Tuple.Create(Tuple.Create("", 1562), Tuple.Create<System.Object, System.Int32>(ua.Filename
            
            #line default
            #line hidden
, 1562), false)
);

WriteLiteral(">\r\n                                    <img");

WriteLiteral(" alt=\"Attachment Thumbnail\"");

WriteAttribute("src", Tuple.Create(" src=\"", 1645), Tuple.Create("\"", 1705)
            
            #line 33 "..\..\Views\User\UserParts\_Resources.cshtml"
, Tuple.Create(Tuple.Create("", 1651), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.User.AttachmentThumbnail(ua.Id))
            
            #line default
            #line hidden
, 1651), false)
);

WriteLiteral(" /></span>\r\n                                <span");

WriteLiteral(" class=\"comments\"");

WriteAttribute("title", Tuple.Create(" title=\"", 1772), Tuple.Create("\"", 1792)
            
            #line 34 "..\..\Views\User\UserParts\_Resources.cshtml"
, Tuple.Create(Tuple.Create("", 1780), Tuple.Create<System.Object, System.Int32>(ua.Comments
            
            #line default
            #line hidden
, 1780), false)
);

WriteLiteral(">\r\n");

            
            #line 35 "..\..\Views\User\UserParts\_Resources.cshtml"
                                    
            
            #line default
            #line hidden
            
            #line 35 "..\..\Views\User\UserParts\_Resources.cshtml"
                                      if (!string.IsNullOrEmpty(ua.DocumentTemplateId))
                                      { 
            
            #line default
            #line hidden
            
            #line 36 "..\..\Views\User\UserParts\_Resources.cshtml"
                                   Write(ua.DocumentTemplate.Description);

            
            #line default
            #line hidden
            
            #line 36 "..\..\Views\User\UserParts\_Resources.cshtml"
                                                                        }
                                      else
                                      { 
            
            #line default
            #line hidden
            
            #line 38 "..\..\Views\User\UserParts\_Resources.cshtml"
                                   Write(ua.Comments);

            
            #line default
            #line hidden
            
            #line 38 "..\..\Views\User\UserParts\_Resources.cshtml"
                                                     }
            
            #line default
            #line hidden
WriteLiteral("\r\n                                </span><span");

WriteLiteral(" class=\"author\"");

WriteLiteral(">");

            
            #line 39 "..\..\Views\User\UserParts\_Resources.cshtml"
                                                       Write(ua.TechUser.ToStringFriendly());

            
            #line default
            #line hidden
WriteLiteral("</span>");

            
            #line 39 "..\..\Views\User\UserParts\_Resources.cshtml"
                                                                                                   if (canRemoveAnyAttachments || (canRemoveOwnAttachments && ua.TechUserId == CurrentUser.UserId))
                                                                                                  {
            
            #line default
            #line hidden
WriteLiteral("<span");

WriteLiteral(" class=\"remove fa fa-times-circle\"");

WriteLiteral("></span>");

            
            #line 40 "..\..\Views\User\UserParts\_Resources.cshtml"
                                                                                                                                                               }
            
            #line default
            #line hidden
WriteLiteral("<span");

WriteLiteral(" class=\"timestamp\"");

WriteLiteral(" data-livestamp=\"");

            
            #line 40 "..\..\Views\User\UserParts\_Resources.cshtml"
                                                                                                                                                                                                    Write(ua.Timestamp.ToUnixEpoc());

            
            #line default
            #line hidden
WriteLiteral("\"");

WriteAttribute("title", Tuple.Create(" title=\"", 2487), Tuple.Create("\"", 2525)
            
            #line 40 "..\..\Views\User\UserParts\_Resources.cshtml"
                                                                                                                                                             , Tuple.Create(Tuple.Create("", 2495), Tuple.Create<System.Object, System.Int32>(ua.Timestamp.ToFullDateTime()
            
            #line default
            #line hidden
, 2495), false)
);

WriteLiteral(">");

            
            #line 40 "..\..\Views\User\UserParts\_Resources.cshtml"
                                                                                                                                                                                                                                                                        Write(ua.Timestamp.ToFullDateTime());

            
            #line default
            #line hidden
WriteLiteral("</span>\r\n                            </a>   \r\n");

            
            #line 42 "..\..\Views\User\UserParts\_Resources.cshtml"
                            }
                        }

            
            #line default
            #line hidden
WriteLiteral("                    </div>\r\n");

            
            #line 45 "..\..\Views\User\UserParts\_Resources.cshtml"
                    
            
            #line default
            #line hidden
            
            #line 45 "..\..\Views\User\UserParts\_Resources.cshtml"
                     if (canAddAttachments)
                    {

            
            #line default
            #line hidden
WriteLiteral("                        <div");

WriteLiteral(" class=\"Disco-AttachmentUpload-Progress\"");

WriteLiteral("></div>\r\n");

WriteLiteral("                        <div");

WriteLiteral(" class=\"attachmentInput clearfix\"");

WriteLiteral(">\r\n                            <span");

WriteLiteral(" class=\"action upload fa fa-upload\"");

WriteLiteral(" title=\"Attach File\"");

WriteLiteral("></span><span");

WriteLiteral(" class=\"action photo fa fa-camera\"");

WriteLiteral(" title=\"Capture Image\"");

WriteLiteral("></span>\r\n                        </div>\r\n");

            
            #line 51 "..\..\Views\User\UserParts\_Resources.cshtml"
                    }

            
            #line default
            #line hidden
WriteLiteral("                    <script");

WriteLiteral(" type=\"text/javascript\"");

WriteLiteral(@">
                        Shadowbox.init({
                            skipSetup: true,
                            modal: true
                        });
                        $(function () {
                            var $Attachments = $('#Attachments');
                            var $attachmentOutput = $Attachments.find('.attachmentOutput');
                            var $dialogRemoveAttachment = null;

                            // Connect to Hub
                            var hub = $.connection.userUpdates;

                            // Map Functions
                            hub.client.addAttachment = onAddAttachment;
                            hub.client.removeAttachment = onRemoveAttachment;

                            $.connection.hub.qs = { UserId: '");

            
            #line 69 "..\..\Views\User\UserParts\_Resources.cshtml"
                                                         Write(Model.User.UserId.Replace(@"\", @"\\"));

            
            #line default
            #line hidden
WriteLiteral(@"' };
                        $.connection.hub.error(onHubError);

                        // Start Connection
                        $.connection.hub.start().fail(onHubError);

                        function onHubError(error) {
                            alert('Live-update Error: ' + error);
                        }

                        function onAddAttachment(id, quick) {
                            var data = { id: id };
                            $.ajax({
                                url: '");

            
            #line 82 "..\..\Views\User\UserParts\_Resources.cshtml"
                                 Write(Url.Action(MVC.API.User.Attachment()));

            
            #line default
            #line hidden
WriteLiteral(@"',
                                dataType: 'json',
                                data: data,
                                success: function (d) {
                                    if (d.Result == 'OK') {
                                        var a = d.Attachment;
");

            
            #line 88 "..\..\Views\User\UserParts\_Resources.cshtml"
                                        
            
            #line default
            #line hidden
            
            #line 88 "..\..\Views\User\UserParts\_Resources.cshtml"
                                         if (canRemoveAnyAttachments)
                                        {

            
            #line default
            #line hidden
WriteLiteral("                                        ");

WriteLiteral("buildAttachment(a, true, quick);");

WriteLiteral("\r\n");

            
            #line 91 "..\..\Views\User\UserParts\_Resources.cshtml"
                                        }
                                        else if (canRemoveOwnAttachments)
                                        {

            
            #line default
            #line hidden
WriteLiteral("                                        ");

WriteLiteral("buildAttachment(a, (a.AuthorId === \'");

            
            #line 94 "..\..\Views\User\UserParts\_Resources.cshtml"
                                                                              Write(CurrentUser.UserId);

            
            #line default
            #line hidden
WriteLiteral("\'), quick);");

WriteLiteral("\r\n");

            
            #line 95 "..\..\Views\User\UserParts\_Resources.cshtml"
                                        }
                                        else
                                        {

            
            #line default
            #line hidden
WriteLiteral("                                        ");

WriteLiteral("buildAttachment(a, false, quick);");

WriteLiteral("\r\n");

            
            #line 99 "..\..\Views\User\UserParts\_Resources.cshtml"
                                        }

            
            #line default
            #line hidden
WriteLiteral(@"                                    } else {
                                        alert('Unable to add attachment: ' + d.Result);
                                    }
                                },
                                error: function (jqXHR, textStatus, errorThrown) {
                                    alert('Unable to add attachment: ' + textStatus);
                                }
                            });
                        }
                        function buildAttachment(a, canRemove, quick) {
                            var t = '<a><span class=""icon""><img alt=""Attachment Thumbnail"" /></span><span class=""comments""></span><span class=""author""></span>';
                            if (canRemove)
                                t += '<span class=""remove fa fa-times-circle""></span>';
                            t += '<span class=""timestamp""></span></a>';

                            var e = $(t);

                            e.attr('data-attachmentid', a.Id).attr('data-mimetype', a.MimeType).attr('href', '");

            
            #line 117 "..\..\Views\User\UserParts\_Resources.cshtml"
                                                                                                          Write(Url.Action(MVC.API.User.AttachmentDownload()));

            
            #line default
            #line hidden
WriteLiteral(@"/' + a.Id);
                            e.find('.comments').text(a.Description);
                            e.find('.author').text(a.Author);
                            e.find('.timestamp').text(a.TimestampFull).attr('title', a.TimestampFull).livestamp(a.TimestampUnixEpoc);
                            if (canRemove)
                                e.find('.remove').click(removeAttachment);
                            if (!quick)
                                e.hide();
                            $attachmentOutput.append(e);
                            onUpdate();
                            if (!quick)
                                e.show('slow');
                            if (a.MimeType.toLowerCase().indexOf('image/') == 0)
                                e.shadowbox({ gallery: 'attachments', player: 'img', title: a.Description });
                            else
                                e.click(onDownload);

                            // Add Thumbnail
                            var buildThumbnail = function () {
                                var retryCount = 0;
                                var img = e.find('.icon img');

                                var setThumbnailUrl = function () {
                                    img.attr('src', '");

            
            #line 140 "..\..\Views\User\UserParts\_Resources.cshtml"
                                                 Write(Url.Action(MVC.API.User.AttachmentThumbnail()));

            
            #line default
            #line hidden
WriteLiteral("/\' + a.Id + \'?v=\' + retryCount);\r\n                                };\r\n           " +
"                     img.on(\'error\', function () {\r\n                            " +
"        img.addClass(\'loading\');\r\n                                    retryCount" +
"++;\r\n                                    if (retryCount < 6)\r\n                  " +
"                      window.setTimeout(setThumbnailUrl, retryCount * 250);\r\n   " +
"                             });\r\n                                img.on(\'load\'," +
" function () {\r\n                                    img.removeClass(\'loading\');\r" +
"\n                                });\r\n                                window.set" +
"Timeout(setThumbnailUrl, 100);\r\n                            };\r\n                " +
"            buildThumbnail();\r\n                        }\r\n\r\n                    " +
"    function onDownload() {\r\n                            var $this = $(this);\r\n " +
"                           var url = $this.attr(\'href\');\r\n\r\n                    " +
"        if ($.connection && $.connection.hub && $.connection.hub.transport &&\r\n " +
"                                               $.connection.hub.transport.name =" +
"= \'foreverFrame\') {\r\n                                // SignalR active with fore" +
"verFrame transport - use popup window\r\n                                window.op" +
"en(url, \'_blank\', \'height=150,width=250,location=no,menubar=no,resizable=no,scro" +
"llbars=no,status=no,toolbar=no\');\r\n                            } else {\r\n       " +
"                         // use iFrame\r\n                                if (!$at" +
"tachmentDownloadHost) {\r\n                                    $attachmentDownload" +
"Host = $(\'<iframe>\')\r\n                                        .attr({ \'src\': url" +
", \'title\': \'Attachment Download Host\' })\r\n                                      " +
"  .addClass(\'hidden\')\r\n                                        .appendTo(\'body\')" +
"\r\n                                        .contents();\r\n                        " +
"        } else {\r\n                                    $attachmentDownloadHost[0]" +
".location.href = url;\r\n                                }\r\n                      " +
"      }\r\n\r\n                            return false;\r\n                        }\r" +
"\n\r\n                        function onRemoveAttachment(id) {\r\n                  " +
"          var a = $attachmentOutput.find(\'a[data-attachmentid=\' + id + \']\');\r\n\r\n" +
"                            a.hide(300).delay(300).queue(function () {\r\n        " +
"                        var $this = $(this);\r\n                                if" +
" ($this.attr(\'data-mimetype\').toLowerCase().indexOf(\'image/\') == 0)\r\n           " +
"                         Shadowbox.removeCache(this);\r\n                         " +
"       $this.find(\'.timestamp\').livestamp(\'destroy\');\r\n                         " +
"       $this.remove();\r\n                                onUpdate();\r\n           " +
"                 });\r\n                        }\r\n\r\n                        funct" +
"ion onUpdate() {\r\n                            var attachmentCount = $attachmentO" +
"utput.children(\'a\').length;\r\n                            var tabHeading = \'Attac" +
"hments [\' + attachmentCount + \']\';\r\n                            $(\'#UserDetailTa" +
"b-ResourcesLink\').text(tabHeading);\r\n                        }\r\n\r\n");

            
            #line 199 "..\..\Views\User\UserParts\_Resources.cshtml"
                        
            
            #line default
            #line hidden
            
            #line 199 "..\..\Views\User\UserParts\_Resources.cshtml"
                         if (canAddAttachments)
                        {
            
            #line default
            #line hidden
WriteLiteral("\r\n                        //#region Add Attachments\r\n                        var " +
"attachmentUploader = new document.Disco.AttachmentUploader(\r\n                   " +
"         \'");

            
            #line 203 "..\..\Views\User\UserParts\_Resources.cshtml"
                         Write(Url.Action(MVC.API.User.AttachmentUpload(Model.User.UserId, null)));

            
            #line default
            #line hidden
WriteLiteral("\',\r\n                            $Attachments.find(\'.Disco-AttachmentUpload-DropTa" +
"rget\'),\r\n                            $Attachments.find(\'.Disco-AttachmentUpload-" +
"Progress\'));\r\n\r\n                        var $attachmentInput = $Attachments.find" +
"(\'.attachmentInput\');\r\n                        $attachmentInput.find(\'.photo\').c" +
"lick(function () {\r\n                            attachmentUploader.uploadImage()" +
";\r\n                        });\r\n                        $attachmentInput.find(\'." +
"upload\').click(function () {\r\n                            attachmentUploader.upl" +
"oadFiles();\r\n                        });\r\n\r\n                        var resource" +
"sTab;\r\n                        $(document).on(\'dragover\', function () {\r\n       " +
"                     if (!resourcesTab) {\r\n                                var t" +
"abs = $Attachments.closest(\'.ui-tabs\');\r\n                                resourc" +
"esTab = {\r\n                                    tabs: tabs,\r\n                    " +
"                resourcesIndex: tabs.children(\'ul.ui-tabs-nav\').find(\'a[href=\"#U" +
"serDetailTab-Resources\"]\').closest(\'li\').index()\r\n                              " +
"  };\r\n                            }\r\n                            var selectedInd" +
"ex = resourcesTab.tabs.tabs(\'option\', \'active\');\r\n                            if" +
" (resourcesTab.resourcesIndex !== selectedIndex)\r\n                              " +
"  resourcesTab.tabs.tabs(\'option\', \'active\', resourcesTab.resourcesIndex);\r\n    " +
"                    });\r\n                        //#endregion\r\n                 " +
"       ");

            
            #line 229 "..\..\Views\User\UserParts\_Resources.cshtml"
                               }

            
            #line default
            #line hidden
WriteLiteral("                        ");

            
            #line 230 "..\..\Views\User\UserParts\_Resources.cshtml"
                         if (canRemoveAnyAttachments || canRemoveOwnAttachments)
                        {
            
            #line default
            #line hidden
WriteLiteral(@"
                        //#region Remove Attachments

                        $attachmentOutput.find('span.remove').click(removeAttachment);

                        function removeAttachment() {
                            $this = $(this).closest('a');

                            var data = { id: $this.attr('data-attachmentid') };

                            if (!$dialogRemoveAttachment) {
                                $dialogRemoveAttachment = $('#dialogRemoveAttachment').dialog({
                                    resizable: false,
                                    height: 140,
                                    modal: true,
                                    autoOpen: false
                                });
                            }

                            $dialogRemoveAttachment.dialog(""enable"");
                            $dialogRemoveAttachment.dialog('option', 'buttons', {
                                ""Remove"": function () {
                                    $dialogRemoveAttachment.dialog(""disable"");
                                    $dialogRemoveAttachment.dialog(""option"", ""buttons"", null);
                                    $.ajax({
                                        url: '");

            
            #line 256 "..\..\Views\User\UserParts\_Resources.cshtml"
                                         Write(Url.Action(MVC.API.User.AttachmentRemove()));

            
            #line default
            #line hidden
WriteLiteral(@"',
                                        dataType: 'json',
                                        data: data,
                                        success: function (d) {
                                            if (d == 'OK') {
                                                // Do nothing, await SignalR notification
                                            } else {
                                                alert('Unable to remove attachment: ' + d);
                                            }
                                            $dialogRemoveAttachment.dialog(""close"");
                                        },
                                        error: function (jqXHR, textStatus, errorThrown) {
                                            alert('Unable to remove attachment: ' + textStatus);
                                            $dialogRemoveAttachment.dialog(""close"");
                                        }
                                    });
                                },
                                Cancel: function () {
                                    $dialogRemoveAttachment.dialog(""close"");
                                }
                            });

                            $dialogRemoveAttachment.dialog('open');

                            return false;
                        }

                        //#endregion
                        ");

            
            #line 284 "..\..\Views\User\UserParts\_Resources.cshtml"
                               }

            
            #line default
            #line hidden
WriteLiteral(@"
                        $attachmentOutput.children('a').each(function () {
                            $this = $(this);
                            if ($this.attr('data-mimetype').toLowerCase().indexOf('image/') == 0)
                                $this.shadowbox({ gallery: 'attachments', player: 'img', title: $this.find('.comments').text() });
                            else
                                $this.click(onDownload);
                        });
                    });
                    </script>
                </div>
            </td>
        </tr>
    </table>
    <script>
        $('#UserDetailTabItems').append('<li><a href=""#UserDetailTab-Resources"" id=""UserDetailTab-ResourcesLink"">Attachments [");

            
            #line 300 "..\..\Views\User\UserParts\_Resources.cshtml"
                                                                                                                          Write(Model.User.UserAttachments == null ? 0 : Model.User.UserAttachments.Count);

            
            #line default
            #line hidden
WriteLiteral("]</a></li>\');\r\n    </script>\r\n</div>\r\n");

            
            #line 303 "..\..\Views\User\UserParts\_Resources.cshtml"
 if (canRemoveAnyAttachments || canRemoveOwnAttachments)
{

            
            #line default
            #line hidden
WriteLiteral("    <div");

WriteLiteral(" id=\"dialogRemoveAttachment\"");

WriteLiteral(" class=\"dialog\"");

WriteLiteral(" title=\"Remove this Attachment?\"");

WriteLiteral(">\r\n        <p>\r\n            <i");

WriteLiteral(" class=\"fa fa-exclamation-triangle fa-lg\"");

WriteLiteral("></i>&nbsp;Are you sure?\r\n        </p>\r\n    </div>\r\n");

            
            #line 310 "..\..\Views\User\UserParts\_Resources.cshtml"
}
            
            #line default
            #line hidden
        }
    }
}
#pragma warning restore 1591
