Example #1
0
        private string GetTempTileReportCount(string teamGuid, string userName)
        {
            string tileData = Request["TileData"];

            if (String.IsNullOrEmpty(tileData))
            {
                return("Querystring:TileData is empty!");
            }
            JavaScriptSerializer jss  = new JavaScriptSerializer();
            TileViewModel        para = jss.Deserialize <TileViewModel>(tileData);

            AppTile appTile = new AppTeamSiteCustomizedTile();

            appTile.logicType = (LogicType)Enum.Parse(typeof(LogicType), para.LogicType);

            SetAppTitleLogic(para.LogicString, appTile);
            using (MainDBUnitWorkContext context = new MainDBUnitWorkContext())
            {
                IReportRepository reportRepository = new ReportRepository(context);

                EditReportService reportService = new EditReportService(reportRepository, null, null, null, null, null);
                int reportCount = reportService.GetTempTilesWithReportCount(teamGuid, userName, appTile);

                return(reportCount.ToString());
            }
        }
Example #2
0
        /// <summary>
        /// Get all the owners that has reports owned
        /// </summary>
        /// <param name="userAlias"></param>
        /// <param name="siteGuid"></param>
        /// <param name="isCurrentSiteAdmin"></param>
        /// <returns></returns>
        public ICollection <UserLoginApp> GetOwnerList(string userAlias, string siteGuid, bool isCurrentSiteAdmin)
        {
            int teamId = _teamRepository.GetFiltered(_ => _.TeamGuid == new Guid(siteGuid)).FirstOrDefault().Id;

            int allReportTileID = _tileRepository.GetAllReportsTileId(teamId);

            EditReportService editService = new EditReportService(_reportRepository, _userRepository, _teamRepository, _categoryRepository, _tagRepository, _tileRepository);

            ICollection <Statistics> ls = editService.GetTeamSiteReportsStatistics(allReportTileID, userAlias, siteGuid, isCurrentSiteAdmin);

            IEnumerable <UserLoginApp> userList = new List <UserLoginApp>();

            if (ls.Count() > 0)
            {
                Statistics OwnerStatistics = ls.Where(_ => _.Name == "Owner").FirstOrDefault();

                userList = OwnerStatistics.Values.Select(_ => new UserLoginApp
                {
                    Id       = _.GUID,
                    UserName = _.Name
                }).OrderBy(_ => _.UserName);
            }

            return(userList.ToList());
        }
Example #3
0
        private string GetReportDetal()
        {
            int reportId             = int.Parse(Request.QueryString["reportId"]);
            JavaScriptSerializer jss = new JavaScriptSerializer();


            using (MainDBUnitWorkContext context = new MainDBUnitWorkContext())
            {
                ReportRepository _reportRepository = new ReportRepository(context);

                EditReportService reportService = new EditReportService(_reportRepository, null, null, null, null, null, null);
                return(jss.Serialize(reportService.GetReportById(reportId)));
            }
        }
        private string UploadNewArticle()
        {
            int newAddedReportId     = -1;
            JavaScriptSerializer jss = new JavaScriptSerializer();
            var paramDes             = jss.Deserialize <AppReport>(Request.Params["articleData"]);

            using (MainDBUnitWorkContext context = new MainDBUnitWorkContext())
            {
                ReportRepository   repository     = new ReportRepository(context);
                UserRepository     uRepository    = new UserRepository(context);
                TeamRepository     tRepository    = new TeamRepository(context);
                CategoryRepository cRepository    = new CategoryRepository(context);
                TeamTagRepository  tagRepository  = new TeamTagRepository(context);
                TileRepository     tileRepository = new TileRepository(context);
                EditReportService  service        = new EditReportService(repository, uRepository, tRepository, cRepository, tagRepository, tileRepository);
                newAddedReportId = service.AddReport(paramDes);
            }
            return("{\"id\":\"" + newAddedReportId + "\"}");
        }
Example #5
0
        private string GetAdminReportFromCurrentTeamSite()
        {
            string tileID   = Request["TileID"];
            string teamGuid = Request["SiteGUID"];
            string userName = Session["UserName"] == null ? "" : Session["UserName"].ToString();

            using (MainDBUnitWorkContext context = new MainDBUnitWorkContext())
            {
                ReportRepository   repository     = new ReportRepository(context);
                UserRepository     uRepository    = new UserRepository(context);
                TeamRepository     tRepository    = new TeamRepository(context);
                CategoryRepository cRepository    = new CategoryRepository(context);
                TeamTagRepository  tagRepository  = new TeamTagRepository(context);
                TileRepository     tileRepository = new TileRepository(context);
                EditReportService  service        = new EditReportService(repository, uRepository, tRepository, cRepository, tagRepository, tileRepository);
                var reports = service.GetAllReportsOfTeamSite(userName, teamGuid, true, global::Application.MainBoundedContect.Enums.SortField.ReportTitle,
                                                              global::Application.MainBoundedContect.Enums.SortOrder.ASC);

                JavaScriptSerializer jss = new JavaScriptSerializer();
                return(jss.Serialize(reports));
            }
        }
        private string GetArticlesByTagId()
        {
            int    tagId             = int.Parse(Request.QueryString["tagid"]);
            string teamId            = Request.QueryString["teamid"];
            JavaScriptSerializer jss = new JavaScriptSerializer();

            string userAlias = Session["UserName"] == null?"Test":Session["UserName"].ToString();

            using (MainDBUnitWorkContext context = new MainDBUnitWorkContext())
            {
                ReportRepository   repository     = new ReportRepository(context);
                UserRepository     uRepository    = new UserRepository(context);
                TeamRepository     tRepository    = new TeamRepository(context);
                CategoryRepository cRepository    = new CategoryRepository(context);
                TeamTagRepository  tagRepository  = new TeamTagRepository(context);
                TileRepository     tileRepository = new TileRepository(context);
                EditReportService  service        = new EditReportService(repository, uRepository, tRepository, cRepository, tagRepository, tileRepository);

                var services = service.GetReportsOfTeamSiteByTagId(userAlias, teamId, true, tagId, global::Application.MainBoundedContect.Enums.SortField.ReportTitle, global::Application.MainBoundedContect.Enums.SortOrder.ASC);

                var otherReports = services.Select(report1 => new ReportItem()
                {
                    ID                = report1.Id.Value,
                    TagName           = report1.Tags.FirstOrDefault(_ => _.Id.Value == tagId).Title,
                    ReportDescription = report1.Description,
                    ReportName        = report1.Title,
                    ReprotStatus      = report1.Status.Name,
                    ReportFeaturePics = report1.Images,
                    ReportOwners      = report1.Owners.Select(_ => new UserLoginApp {
                        Sex = _.Sex, Id = _.Id, UserEmail = _.UserEmail, UserName = _.UserName, UserPhoto = _.UserPhoto
                    }).ToList <UserLoginApp>()
                });

                return(jss.Serialize(otherReports));
            }
        }
        private string GetArticlesByID()
        {
            JavaScriptSerializer jss = new JavaScriptSerializer();
            var    paramDes          = jss.Deserialize <QueryParameterReport>(Request.Params["queryParam"]);
            int    id       = paramDes.articleid;
            string teamGuid = paramDes.teamguid;

            string userAlias = Session["UserName"] == null ? "Test" : Session["UserName"].ToString();

            using (MainDBUnitWorkContext context = new MainDBUnitWorkContext())
            {
                ReportRepository   repository     = new ReportRepository(context);
                UserRepository     uRepository    = new UserRepository(context);
                TeamRepository     tRepository    = new TeamRepository(context);
                CategoryRepository cRepository    = new CategoryRepository(context);
                TeamTagRepository  tagRepository  = new TeamTagRepository(context);
                TileRepository     tileRepository = new TileRepository(context);
                EditReportService  service        = new EditReportService(repository, uRepository, tRepository, cRepository, tagRepository, tileRepository);

                // This report
                var report = service.GetReportById(id);

                var category = report.Categories.Select(_ => _.Id.GetValueOrDefault()).ToList <int>();

                // Other reports
                var otherReportsTemp = service.
                                       GetReportsOfTeamSiteByCategory(userAlias, teamGuid, true, category, global::Application.MainBoundedContect.Enums.SortField.ReportTitle, global::Application.MainBoundedContect.Enums.SortOrder.ASC).Where(_ => _.Id.Value != id).ToList <AppReport>();

                // Assemble the reports information
                var thisReport = new ReportItem()
                {
                    ReportTags        = report.Tags,
                    ID                = report.Id.Value,
                    ReportFeaturePics = report.Images,
                    ReportDescription = report.Description,
                    ReprotContent     = report.Content,
                    ReportName        = report.Title,
                    ReprotStatus      = report.Status.Name,
                    ReportOwners      = report.Owners.Select(_ => new UserLoginApp {
                        Id = _.Id, UserEmail = _.UserEmail, UserName = _.UserName
                    }).ToList <UserLoginApp>()
                };

                var otherReports = otherReportsTemp.Select(report1 => new ReportItem()
                {
                    ID = report1.Id.Value,
                    ReportDescription = report1.Description,
                    ReportName        = report1.Title,
                    ReprotStatus      = report1.Status.Name,
                    ReportOwners      = report1.Owners.Select(_ => new UserLoginApp {
                        Id = _.Id, UserEmail = _.UserEmail, UserName = _.UserName
                    }).ToList <UserLoginApp>()
                });

                QueryParameterReportSearch reports = new QueryParameterReportSearch()
                {
                    ThisReport = thisReport, OtherReports = otherReports == null ? null : otherReports.ToList <ReportItem>()
                };

                // Return the search result
                return(jss.Serialize(reports));
            }
        }
        private void SetAppTitleLogic(string logicString, AppTile appTile)
        {
            using (MainDBUnitWorkContext context = new MainDBUnitWorkContext())
            {
                TileRepository   repository        = new TileRepository(context);
                ReportRepository _reportRepository = new ReportRepository(context);

                if (!string.IsNullOrEmpty(logicString))
                {
                    EditReportService reportService = new EditReportService(null, null, null, null, null, null);

                    switch (appTile.logicType)
                    {
                    case LogicType.Static:
                        appTile.BasicLogic = null;
                        break;

                    case LogicType.Selected:
                        List <int> cataIDList = logicString.Split(',').Select(_ => Convert.ToInt32(_)).ToList();
                        appTile.BasicLogic = (new ReportDataId()).In(cataIDList);
                        break;

                    case LogicType.Filtered:
                        ReportFilter filer = new ReportFilter();

                        JavaScriptSerializer jss = new JavaScriptSerializer();

                        #region Deserialize
                        TileFilterListViewModel vm = new TileFilterListViewModel();
                        if (!String.IsNullOrEmpty(logicString))
                        {
                            vm = jss.Deserialize <TileFilterListViewModel>(logicString);
                        }

                        #endregion

                        #region Get ReportFilter
                        filer.OwnerIdCollection = (from o in vm.Owner select o.Id).ToList();
                        //filer.CatalogTypeIdCollection = (from c in vm.CatelogType select c.Id).ToList();
                        filer.TagsIdCollection        = (from t in vm.Tag select t.Id.Value).ToList();
                        filer.SubCategoryIdCollection = (from c in vm.SubCategory select c.Id.Value).ToList();
                        #endregion

                        appTile.BasicLogic = reportService.GenerateLogicByFilter(filer);
                        break;

                    case LogicType.Tagged:
                        List <int> tagIds = logicString.Split(',').Select(i => int.Parse(i.Trim())).ToList();
                        appTile.BasicLogic = (new TagId()).In(tagIds);
                        break;

                    case LogicType.AllReports:
                        appTile.BasicLogic = null;
                        break;
                    }
                }
                else
                {
                    appTile.BasicLogic = null;
                }
            }
        }
Example #9
0
        private string GetFilter()
        {
            string sitetype = Request["sitetype"];

            string siteGUID = Request["SiteGuid"];

            string searchWords = Request["SearchWords"];


            int tileId = int.Parse(Request["tileId"]);

            //if (tileId == 0)
            //{
            //    TileManager tm = new TileManager();
            //    if (sitetype.ToLower() == "selfservice")
            //    {
            //        tileId = SystemDefinedTile.SelfService_AllBIModels.SystemDefinedTileId;
            //    }
            //    else
            //    {
            //        tileId = SystemDefinedTile.MyReports_AllReports.SystemDefinedTileId;
            //    }
            //}


            string logonUser = Session["UserName"] == null ? "" : Session["UserName"].ToString();

            bool isCurrentSiteAdmin = logonUser == "" ? false : service.GetUserAdminTeams(logonUser).Count() > 0;

            using (MainDBUnitWorkContext context = new MainDBUnitWorkContext())
            {
                IReportRepository         report_repository     = new ReportRepository(context);
                IUserRepository           user_repository       = new UserRepository(context);
                ITeamRepository           team_repository       = new TeamRepository(context);
                ICategoryRepository       category_repository   = new CategoryRepository(context);
                ITagRepository            tag_repository        = new TeamTagRepository(context);
                ITileRepository           tile_repository       = new TileRepository(context);
                ITileQueryLogicRepository tile_query_repository = new TileQueryLogicRepository(context);

                EditReportService sa = new EditReportService(report_repository, user_repository, team_repository, category_repository, tag_repository, tile_repository, tile_query_repository);

                FilterListViewModel filterList = new FilterListViewModel();

                #region query filter data
                int DataCount = 0;
                ICollection <Statistics> ls = null;
                switch (sitetype.ToLower())
                {
                case "teamsite":
                    ls = sa.GetTeamSiteReportsStatistics(tileId, logonUser, siteGUID, isCurrentSiteAdmin);
                    break;

                case "reportcatalog":
                    break;

                //case "myreport":
                //    ls = sa.GetMyReportsStatistics(tileId, logonUser, teamSiteGuidUnderControl);
                //    break;
                //case "selfservice":
                //    ls = sa.GetSelfServiceStatistics(tileId, logonUser, teamSiteGuidUnderControl);
                //    break;
                //case "searchreport":
                //    ls = sa.GetSearchReportsStatistics(logonUser, teamSiteGuidUnderControl, searchWords, out DataCount);
                //    break;
                default:
                    break;
                }
                #endregion

                filterList.DataCount = DataCount;

                #region Get Statistics business moel
                foreach (Statistics l in ls)
                {
                    FilterEntityViewModel filterEty = new FilterEntityViewModel();
                    filterEty.FilterType = l.Name;

                    foreach (AttributeValue attr in l.Values)
                    {
                        Application.MainBoundedContect.ViewModel.Filters.FilterItem item = new Application.MainBoundedContect.ViewModel.Filters.FilterItem();
                        item.Name = attr.Name;
                        if (l.Name == "Owner")
                        {
                            item.Value = attr.GUID.ToString();
                        }
                        else
                        {
                            item.Value = attr.Value.ToString();
                        }
                        item.Count       = attr.Count;
                        item.ParentValue = attr.ParentValue;
                        filterEty.FilterItemList.Add(item);
                    }

                    if (!filterEty.FilterType.Equals("Category"))
                    {
                        filterEty.FilterItemList.OrderByDescending(c => c.Count).ThenBy(n => n.Value);
                    }

                    filterList.FilterList.Add(filterEty);
                }

                JavaScriptSerializer jss = new JavaScriptSerializer();
                #endregion

                return(jss.Serialize(filterList));
            }
        }
Example #10
0
        private string GetReports()
        {
            string userName = Session["UserName"] == null ? "" : Session["UserName"].ToString();
            string output;
            string siteType = Request["siteType"];
            string teamGuid = Request["SiteGuid"];

            JavaScriptSerializer jss = new JavaScriptSerializer();
            var paramDes             = jss.Deserialize <WebApplication1.Models.QueryParameterViewModel>(Request["queryParam"]);

            int tileId = int.Parse(paramDes.TileId);


            // Get the reports from the reports list
            using (MainDBUnitWorkContext context = new MainDBUnitWorkContext())
            {
                ReportRepository         rep       = new ReportRepository(context);
                TileRepository           tileRep   = new TileRepository(context);
                TileQueryLogicRepository tileQuery = new TileQueryLogicRepository(context);
                TileServices             tService  = new TileServices(tileRep, null, null, null, null, null, tileQuery);

                var tile = tService.GetTileById(tileId);

                EditReportService editReport = new EditReportService(rep, null, null, null, null, tileRep, tileQuery);


                #region Get ReportFilter
                ReportFilter filer = new ReportFilter();
                foreach (WebApplication1.Models.FilterModel vm in paramDes.FilterEntityList)
                {
                    switch (vm.FilterType)
                    {
                    case "Tag":
                        filer.TagsIdCollection = (from fl in vm.FilterItemList select int.Parse(fl.Value)).ToList();
                        break;

                    case "Owner":
                        filer.OwnerIdCollection = (from fl in vm.FilterItemList select fl.Value).ToList();
                        break;

                    case "Sub Category":
                        filer.SubCategoryIdCollection = (from fl in vm.FilterItemList select int.Parse(fl.Value)).ToList();
                        break;

                    default:
                        break;
                    }
                }
                #endregion


                // TO-DO: Team admin is set to true
                var reports = editReport.GetReportsByTeamWithReportsRequire(teamGuid,
                                                                            tileId, filer, true, userName, paramDes.CurrentPage,
                                                                            paramDes.PageSize,
                                                                            SortField.ReportTitle, (paramDes.SortAscending ? SortOrder.ASC : SortOrder.DESC)).ToArray();


                ReportListModel rptList = GetReportList(reports, Convert.ToInt32(paramDes.TileId));

                output = jss.Serialize(rptList);
                return(output);
            }
        }