PAWA.Classes.AdminReports.CreateApplicationFileReport C# (CSharp) Method

CreateApplicationFileReport() private method

private CreateApplicationFileReport ( FileType ft, string leftColumnClass = "", string rightColumnClass = "" ) : string
ft FileType
leftColumnClass string
rightColumnClass string
return string
        private string CreateApplicationFileReport(FileType ft, string leftColumnClass = "", string rightColumnClass = "")
        {
            string report;
            int totalUploaded = 0;
            int averageSize = 0;
            int averagePerFolder = 0;
            int averagePerUser = 0;
            int mostImagesInOneUserAccount = 0;
            int totalFolders;

            var filesID = from i in dbContext.Types
                          where i.FileType == ft
                          select i.TypeID;

            var files = from f in dbContext.Files
                        where filesID.Contains(f.TypeID)
                        select f;

            totalUploaded = files.Count();

            totalFolders = dbContext.Folders.Count();

            // check for divide by zero
            if (totalFolders != 0)
            {
                averagePerFolder = totalUploaded / totalFolders;
            }
            else
            {
                averagePerFolder = 0;
            }

            // check for divide by zero
            if (totalUploaded != 0)
            {
                averageSize = files.Sum(i => i.SizeMB) / totalUploaded;
            }
            else
            {
                averageSize = 0;
            }

            var users = from u in dbContext.Users
                        select u.UserID;

            foreach(var id in users)
            {
                int count = files.Where(i => i.UserID == id).Count();

                if(mostImagesInOneUserAccount < count)
                {
                    mostImagesInOneUserAccount = count;
                }
            }

            var usersCount = users.Distinct().Count();

            // check for divide by zero
            if (usersCount != 0)
            {
                averagePerUser = files.Count() / users.Distinct().Count();
            }
            else
            {
                averagePerUser = 0;
            }

            report = "<span class=\"" + leftColumnClass + "\" id=\"row-background-color\">Total Uploaded</span><span class=\"" + rightColumnClass + "\" id=\"row-background-color\">" +
                totalUploaded.ToString() + "</span>";
            report += "<br><span class=\"" + leftColumnClass + "\">Average Size(KB)</span><span class=\"" + rightColumnClass + "\">" +
                averageSize.ToString() + "</span>";
            report += "<br><span class=\"" + leftColumnClass + "\" id=\"row-background-color\">Average Per Folder</span><span class=\"" + rightColumnClass + "\" id=\"row-background-color\">" +
                averagePerFolder.ToString() + "</span>";
            report += "<br><span class=\"" + leftColumnClass + "\" >Average Per User</span><span class=\"" + rightColumnClass + "\">" +
                averagePerUser.ToString() + "</span>";
            report += "<br><span class=\"" + leftColumnClass + "\" id=\"row-background-color\">Most Images In One Account</span><span class=\"" + rightColumnClass + "\" id=\"row-background-color\">" +
                mostImagesInOneUserAccount.ToString() + "</span>";

            return report;
        }