Beispiel #1
0
        public string GetTaskDisplayValue(int taskId, string value, string propname)
        {
            Worktask task = this.worktaskRepository.Detail(taskId);

            if (task != null)
            {
                if (propname.Equals("Status"))
                {
                    int id = (int)(task.WorkflowInstance.WorkflowID == null ? 0 : task.WorkflowInstance.WorkflowID);
                    return(WorkflowService.GetInstance().GetState(id, int.Parse(value)).Name);
                }
                else if (propname.Equals("Priority"))
                {
                    return(CategoryService.GetInstance().GetCategoryName(int.Parse(value), Contain.CatType.Priority));
                }
                else if (propname.Equals("TaskType"))
                {
                    return(CategoryService.GetInstance().GetCategoryName(int.Parse(value), Contain.CatType.Category));
                }
                else if (propname.Equals("BoardID"))
                {
                    return(task.Board.Title);
                }
                else if (propname.Equals("Assignee"))
                {
                    return(AccountHelper.GetUserFullname(task.AssigneeAcc.UserName));
                }
                else if (propname.Equals("Reporter"))
                {
                    return(AccountHelper.GetUserFullname(task.ReporterAcc.UserName));
                }
            }
            return(value);
        }
        public string loadReportFile(List <TaskReportRecordModel> data, List <TaskReportRecordModel> dataPrev)
        {
            var fileinfo = new FileInfo(strTempFile);

            try
            {
                using (_reportExcelPck = new ExcelPackage(fileinfo))
                {
                    ExcelWorkbook excelWorkBook = _reportExcelPck.Workbook;
                    // generate sheet 1
                    ExcelWorksheet excelWorksheet = excelWorkBook.Worksheets.First();

                    String reporttitle = excelWorksheet.Cells[4, 1].Value.ToString();
                    reporttitle = reporttitle.Replace("[month]", _reportTime.Month.ToString()).Replace("[year]", _reportTime.Year.ToString());
                    excelWorksheet.Cells[4, 1].Value = reporttitle;
                    int  index       = 0;
                    int  catid       = -1;
                    bool newcat      = false;
                    int  groupcount  = 0;
                    int  startingrow = 10;
                    foreach (TaskReportRecordModel item in data)
                    {
                        newcat = false;
                        if (catid < 0 || catid != (int)item.TaskType)
                        {
                            catid  = (int)item.TaskType;
                            newcat = true;
                        }
                        if (newcat)
                        {
                            excelWorksheet.InsertRow(startingrow + index + groupcount, 1, startingrow - 1);
                            excelWorksheet.Cells[startingrow + index + groupcount, 1].Value = Convert.ToChar(65 + groupcount).ToString();
                            excelWorksheet.Cells[startingrow + index + groupcount, 2].Value = CategoryService.GetInstance().GetCategoryName((int)item.TaskType, Contain.CatType.Category);
                            groupcount++;
                        }
                        excelWorksheet.InsertRow(startingrow + 1 + index + groupcount, 1, startingrow + index + groupcount);

                        excelWorksheet.Cells[startingrow + index + groupcount, 1].Value = index + 1;
                        excelWorksheet.Cells[startingrow + index + groupcount, 2].Value = item.Title;
                        excelWorksheet.Cells[startingrow + index + groupcount, 3].Value = item.AssigneeName;
                        if (item.CreationDate.Month == _reportTime.Month && item.CreationDate.Year == _reportTime.Year)
                        {
                            excelWorksheet.Cells[startingrow + index + groupcount, 4].Value = "X";
                        }
                        if (item.LastUpdateDate.Month == _reportTime.Month && item.LastUpdateDate.Year == _reportTime.Year)
                        {
                            excelWorksheet.Cells[startingrow + index + groupcount, 5].Value = "X";
                        }

                        if (item.Status == 1 || item.Status == 2)
                        {
                            excelWorksheet.Cells[startingrow + index + groupcount, 6].Value = "X";
                        }
                        if (item.Status == 3 || item.Status == 4 || item.Status == 5)
                        {
                            excelWorksheet.Cells[startingrow + index + groupcount, 7].Value = "X";
                        }
                        if (item.Status == 6)
                        {
                            excelWorksheet.Cells[startingrow + index + groupcount, 8].Value = "X";
                        }

                        index++;
                    }

                    //_reportExcelPck.Save();

                    // generate sheet 2
                    excelWorksheet = excelWorkBook.Worksheets[2];
                    DateTime prevMonth = _reportTime.AddMonths(-1);
                    reporttitle = excelWorksheet.Cells[4, 1].Value.ToString();
                    reporttitle = reporttitle.Replace("[month]", prevMonth.Month.ToString()).Replace("[year]", prevMonth.Year.ToString());
                    excelWorksheet.Cells[4, 1].Value = reporttitle;
                    index      = 0;
                    catid      = -1;
                    newcat     = false;
                    groupcount = 0;
                    foreach (TaskReportRecordModel item in dataPrev)
                    {
                        newcat = false;
                        if (catid < 0 || catid != (int)item.TaskType)
                        {
                            catid  = (int)item.TaskType;
                            newcat = true;
                        }
                        if (newcat)
                        {
                            excelWorksheet.InsertRow(startingrow + index + groupcount, 1, startingrow - 1);
                            excelWorksheet.Cells[startingrow + index + groupcount, 1].Value = Convert.ToChar(65 + groupcount).ToString();
                            excelWorksheet.Cells[startingrow + index + groupcount, 2].Value = CategoryService.GetInstance().GetCategoryName((int)item.TaskType, Contain.CatType.Category);
                            groupcount++;
                        }
                        excelWorksheet.InsertRow(startingrow + 1 + index + groupcount, 1, startingrow + index + groupcount);

                        excelWorksheet.Cells[startingrow + index + groupcount, 1].Value = index + 1;
                        excelWorksheet.Cells[startingrow + index + groupcount, 2].Value = item.Title;
                        excelWorksheet.Cells[startingrow + index + groupcount, 3].Value = item.AssigneeName;
                        excelWorksheet.Cells[startingrow + index + groupcount, 4].Value = item.CreationDate.ToString("dd-MM-yyyy");
                        excelWorksheet.Cells[startingrow + index + groupcount, 5].Value = item.LastUpdateDate.ToString("dd-MM-yyyy");

                        if (item.Status == 1 || item.Status == 2)
                        {
                            excelWorksheet.Cells[startingrow + index + groupcount, 6].Value = "X";
                        }
                        if (item.Status == 3 || item.Status == 4 || item.Status == 5)
                        {
                            excelWorksheet.Cells[startingrow + index + groupcount, 7].Value = "X";
                        }
                        if (item.Status == 6)
                        {
                            excelWorksheet.Cells[startingrow + index + groupcount, 8].Value = "X";
                        }

                        index++;
                    }

                    _reportExcelPck.Save();
                    _reportExcelPck.Dispose();
                    return(strTempFile);
                }
            }
            catch
            {
            }
            return(String.Empty);
        }
        public static void Initialize()
        {
            ICategoryRepository   catRepository      = (ICategoryRepository)System.Web.Mvc.DependencyResolver.Current.GetService(typeof(ICategoryRepository));
            IAccountRepository    accRepository      = (IAccountRepository)System.Web.Mvc.DependencyResolver.Current.GetService(typeof(IAccountRepository));
            IBoardRepository      boardRepository    = (IBoardRepository)System.Web.Mvc.DependencyResolver.Current.GetService(typeof(IBoardRepository));
            IWorkflowRepository   workflowRepository = (IWorkflowRepository)System.Web.Mvc.DependencyResolver.Current.GetService(typeof(IWorkflowRepository));
            IWorktaskRepository   worktaskRepository = (IWorktaskRepository)System.Web.Mvc.DependencyResolver.Current.GetService(typeof(IWorktaskRepository));
            CategoryService       catService;
            UserPermissionService userService;
            KanbanService         kanbanService;
            WorkflowService       workflowService;
            BoardService          boardService;
            WorktaskService       worktaskService;

            if (CategoryService.GetInstance() == null)
            {
                catService = new CategoryService(catRepository);
            }
            else
            {
                catService = CategoryService.GetInstance();
            }
            if (UserPermissionService.GetInstance() == null)
            {
                userService = new UserPermissionService(accRepository);
            }
            else
            {
                userService = UserPermissionService.GetInstance();
            }
            if (KanbanService.GetInstance() == null)
            {
                kanbanService = new KanbanService(boardRepository, accRepository);
            }
            else
            {
                kanbanService = KanbanService.GetInstance();
            }
            if (WorkflowService.GetInstance() == null)
            {
                workflowService = new WorkflowService(workflowRepository);
            }
            else
            {
                workflowService = WorkflowService.GetInstance();
            }
            if (BoardService.GetInstance() == null)
            {
                boardService = new BoardService(boardRepository);
            }
            else
            {
                boardService = BoardService.GetInstance();
            }
            if (WorktaskService.GetInstance() == null)
            {
                worktaskService = new WorktaskService(worktaskRepository, catRepository);
            }
            else
            {
                worktaskService = WorktaskService.GetInstance();
            }
        }