예제 #1
0
        public virtual void GetBoard(PageViewModel <BBoard.Index> page)
        {
            Logger.Log.Error("BBoard_log Config_Block count: " + page.Context.Config.Count().ToString());
            var user  = PublicAPI.Portal.Security.User.GetCurrentUser();
            var tasks = FilterApply(page);


            var Url = UrlInit();

            string js_style  = "";
            string js_insert = "";

            string       PriorityClass = "";
            const string quote         = "\"";
            TaskCategory Category      = null;
            string       Name          = "";
            string       Executor_Html = "";
            string       EndDate_Html  = "";
            string       Subject_Html  = "";
            TaskCategory TaskCategory  = null;
            TaskCategory TaskCategory_ = null;

            List <TaskCategory> categoryList = new List <TaskCategory>();

            if (page.Context.Config != null)
            {
                foreach (var item in page.Context.Config)
                {
                    if (item.Category != null)
                    {
                        categoryList.Add(item.Category);
                    }
                }

                var isUnsort = tasks.Any(x => !categoryList.Contains(x.Category));
                if (isUnsort == true)
                {
                    string unTaskItems = "[";

                    var unsorted = tasks.Where(x => !categoryList.Contains(x.Category));

                    foreach (var untask in unsorted)
                    {
                        string userPhoto = "";
                        string User_Url  = "";

                        var Task_Url = UrlExtensions.Entity(Url, untask);

                        if (untask.Executor != null)
                        {
                            Executor_Html = untask.Executor.FullName;
                            User_Url      = UrlExtensions.Entity(Url, untask.Executor);
                            userPhoto     = UserWebExtensions.UserPhotoUrl(Url, untask.Executor, 12);
                        }

                        EndDate_Html = untask.EndDate.ToString();

                        if (untask.Subject != null)
                        {
                            Subject_Html = untask.Subject.ToString();
                        }

                        if (untask.Priority == PublicAPI.Enums.Tasks.TaskPriority.Low)
                        {
                            PriorityClass = "phui-oi-actions-low";
                        }
                        if (untask.Priority == PublicAPI.Enums.Tasks.TaskPriority.Medium)
                        {
                            PriorityClass = "phui-oi-actions-mid";
                        }
                        if (untask.Priority == PublicAPI.Enums.Tasks.TaskPriority.High)
                        {
                            PriorityClass = "phui-oi-actions-hig";
                        }

                        var tempTask_Html_ = "{\"id\": \"" + untask.Id.ToString() + "\",\"title\": \"" + "<div class=\'phui-oi-frame\'><div class=\'phui-oi-frame-content\'><div class=\'phui-oi-actions\'><div class=\'" + PriorityClass + "\'></div></div><div class=\'phui-oi-content-box\'><div class=\'phui-oi-grip\'></div><div class=\'phui-oi-table\'><div class=\'phui-oi-table-row\'><div class=\'phui-oi-col1\'><div class=\'phui-oi-name\'><span data-sigil=\'slippery\'><span class=\'phui-oi-objname\'>" + untask.Id.ToString() + "</span> <a href=\'" + Task_Url + "\' class=\'phui-oi-link\' title=\'Help\' target=\'_blank\'>" + Subject_Html + "</a></span></div><div class=\'phui-oi-content\'><div class=\'phui-oi-attributes\'><div class=\'phui-oi-attribute\' style=\'\'><a class=\'phui-tag-view phui-tag-type-object phui-tag-shade phui-tag-shade-red phui-tag-shade-slim phui-tag-icon-view \' href=\'" + User_Url + "\' target=\'_blank\' style=\'padding-bottom: 0px;\'><span class=\'phui-tag-core \'>" + Executor_Html + "</span></a></div><div class=\'phui-oi-handle-icons\'><span class=\'phui-oi-handle-icon\' style=\'background-image: url(" + userPhoto + ");\' data-sigil=\'has-tooltip\' data-meta=\'0_12\'></span></div></div></div></div></div></div></div></div></div>" + "\",}, ";
                        unTaskItems += tempTask_Html_;
                    }
                    unTaskItems += "]";

                    string js_insert_ = "";
                    string js_style_  = "";

                    var tempCategory   = "1804f008-bb00-400e-a007-0a462582b1e1";
                    var temp_classname = "Unsorted";
                    var tmp_Name       = "Unsorted";

                    js_style_   = ".Unsorted { background: #00b8d4;}";
                    js_insert_ += " BTest.addBoards([{\"id\": \"" + tempCategory + "\",\"title\":" + quote + tmp_Name + quote + ",\"class\":" + quote + temp_classname + quote + ",\"item\": " + unTaskItems + " }] ) ";

                    page.Context.Js_insert_ = js_insert_;
                    page.Context.Js_style_  = js_style_;
                }



                foreach (var column in page.Context.Config)
                {
                    string TaskItems = "[";

                    #region Name
                    if (!string.IsNullOrWhiteSpace(column.Name))
                    {
                        Name = column.Name;
                    }
                    #endregion

                    #region classname & js_style
                    string classname = Name.Replace(" ", string.Empty) + column.Numbering.ToString();
                    js_style += "." + classname + " {background: " + column.Color.ColorCode + ";}\n";
                    #endregion

                    #region Category euquals
                    var taskpull = tasks.Where(x => x.Category == column.Category);
                    foreach (var task in taskpull)
                    {
                        string userPhoto = "";
                        string User_Url  = "";

                        var Task_Url = UrlExtensions.Entity(Url, task);

                        if (task.Executor != null)
                        {
                            Executor_Html = task.Executor.FullName;
                            User_Url      = UrlExtensions.Entity(Url, task.Executor);
                            userPhoto     = UserWebExtensions.UserPhotoUrl(Url, task.Executor, 12);
                        }

                        EndDate_Html = task.EndDate.ToString();

                        if (task.Subject != null)
                        {
                            Subject_Html = task.Subject.ToString();
                        }

                        if (task.Priority == PublicAPI.Enums.Tasks.TaskPriority.Low)
                        {
                            PriorityClass = "phui-oi-actions-low";
                        }
                        if (task.Priority == PublicAPI.Enums.Tasks.TaskPriority.Medium)
                        {
                            PriorityClass = "phui-oi-actions-mid";
                        }
                        if (task.Priority == PublicAPI.Enums.Tasks.TaskPriority.High)
                        {
                            PriorityClass = "phui-oi-actions-hig";
                        }

                        page.Context.Task = task;

                        if (task.Status != null && task.CreationAuthor != null)
                        {
                            var TaskViewModel_ = new [Deleted].BPM.Web.Tasks.Models.TaskViewModel