Example #1
0
        public async Task <ActionResult> UserReport(string Id)
        {
            UserReportViewModel view = new UserReportViewModel();
            var User = await UserManager.Users.SingleOrDefaultAsync(u => u.Id == Id);

            if (User != null)
            {
                var res         = this.service.LogsForUser(Id);
                var PurchaseRes = this.PurchaseService.GetByCustomerId(Id);

                if (res.Success && PurchaseRes.Success)
                {
                    view.User                = User;
                    view.UserMusicLogs       = res.UserMusicLogs;
                    view.UserWatchArtistLogs = res.UserWatchArtistLogs;
                    view.UserWatchTagsLogs   = res.UserWatchTagsLogs;
                    view.Purchases           = PurchaseRes.Entities.Where(p => p.PurchaseStatus !=
                                                                          PurchaseStatus.NotPaidBycustomer);
                }
                else
                {
                    ModelState.AddModelError("", "שגיאה במהלך שליפת הנתונים");
                }
            }
            else
            {
                ModelState.AddModelError("", "משתמש לא נמצא");
            }

            return(View(view));
        }
        public ActionResult GetTopRecentQuestions()
        {
            HtmlToText          convert   = new HtmlToText();
            UserReportViewModel mainModel = new UserReportViewModel();
            var questList = new List <TopTenQuestionForLatestReportViewModel>();

            var topTenQuestion = _applicationDbContext.Questions
                                 .OrderByDescending(dt => dt.DateAsked)
                                 .Take(10);

            foreach (var top in topTenQuestion)
            {
                TopTenQuestionForLatestReportViewModel questModel = new TopTenQuestionForLatestReportViewModel();
                questModel.QuestionId    = top.QuestionId;
                questModel.QuestionTitle = top.Title;
                questModel.QuestionText  = top.QuestionText;

                var    QuestOwner    = UserManager.FindByIdAsync(top.UserId);
                string QuestionOwner = QuestOwner.Result.NameExtension;
                questModel.QuestionOwner = QuestionOwner;
                questModel.DateAsked     = top.DateAsked.ToString("d,MMMM yy");
                questModel.TimeAsked     = top.DateAsked.ToString("H:mm tt");

                questList.Add(questModel);
            }
            mainModel.TopTenQuestionForLatestReportViewModels = questList;
            return(PartialView("_RecentQuestions", mainModel));
        }
 public IActionResult UsersReport(string userId)
 {
     if (User.Identity.Name == null)
     {
         return(RedirectToAction("Index", "NotFound"));
     }
     else
     {
         UserReportViewModel viewModel = new UserReportViewModel();
         viewModel.Orders = new List <Order>();
         viewModel.User   = new User();
         if (string.IsNullOrEmpty(userId))
         {
             viewModel.Orders.AddRange(ordersService.GetOrders());
             viewModel.User = new User();
             return(View(viewModel));
         }
         else
         {
             viewModel.Orders.AddRange(ordersService.GetOrders().Where(o => o.UserId == userId));
             if (viewModel.Orders.Count() > 0)
             {
                 viewModel.User = viewModel.Orders?.FirstOrDefault().User;
             }
             else
             {
                 viewModel.User = new User();
             }
             return(View(viewModel));
         }
     }
 }
Example #4
0
        public UserReportViewModel GetReport()
        {
            try
            {
                UserDAL userDAL = new UserDAL();

                var totalUsers = userDAL.GetTotalUsers();

                var inactiveUsers = userDAL.GetInactiveUsers();


                var urvm = Mapper.Map <UserBE, UserViewModel>(userDAL.GetUserReport());

                UserReportViewModel userReportViewModel = new UserReportViewModel()
                {
                    Users         = urvm.ToList(),
                    InactiveUsers = inactiveUsers,
                    TotalUsers    = totalUsers
                };

                return(userReportViewModel);
            }
            catch (Exception ex)
            {
                throw new Exception(Messages.Generic_Error);
            }
        }
Example #5
0
        public async Task <IActionResult> ManageReports()
        {
            var user = await _userManager.FindByNameAsync(User.Identity.Name);

            var reports          = _reportData.GetByAuthorId(user.Id);
            var reportViewModels = new List <ReportViewModel>();

            foreach (var report in reports)
            {
                reportViewModels.Add(new ReportViewModel {
                    Id          = report.Id,
                    ProjectName = report.Project.Title,
                    Date        = report.Date.ToHijri(),
                    Title       = report.Title,
                    IsViewed    = report.ProjectManagers.Any(pm => pm.IsViewd == true)
                });
            }

            var userReportViewModel = new UserReportViewModel {
                Reports  = reportViewModels,
                Messages = SystemOperations.GetMessageViewModels(_messageService, user.Id)
            };

            return(View(userReportViewModel));
        }
Example #6
0
        public ActionResult Users()
        {
            var vm = new UserReportViewModel();

            vm.Users = AdminManagerFactory.GetManager().GetUserReport();

            return(View(vm));
        }
Example #7
0
        public async Task <IActionResult> ListReports()
        {
            var reports = await _context.Reports.Include(r => r.User).Include(r => r.Plant).ToListAsync();

            UserReportViewModel model = new UserReportViewModel();

            model.Report = reports;

            return(View(reports));
        }
        public ActionResult Users()
        {
            {
                var repo  = UsersRepositoryFactory.GetRepository();
                var model = new UserReportViewModel();

                model.UsersReportList = repo.GetAllUsers().ToList();

                return(View(model));
            }
        }
        [InlineData(-1, "bad person", "eom", false)] // Unsuccessful PostUserReport (User does not exist)
        public void TestPostUserReport(int userId, string reason, string desc, bool expectingSuccess)
        {
            var controllerContextMock = new Mock <ControllerContext>()
            {
                CallBase = true
            };
            var contextMock = new Mock <ApplicationDbContext>()
            {
                CallBase = true
            };

            contextMock.Setup(c => c.SaveChanges()).Returns(1);

            var controller = new ReportsController
            {
                ControllerContext = controllerContextMock.Object,
                Context           = contextMock.Object
            };

            var viewModel = new UserReportViewModel()
            {
                Description    = desc,
                Reason         = reason,
                ReportedUserId = userId,
                TargetUsername = "******"
            };
            var result = controller.PostUserReport(viewModel);

            if (expectingSuccess)
            {
                Assert.True(result is RedirectToRouteResult);
            }
            else
            {
                var valContext = new ValidationContext(viewModel, null, null);
                var valResults = new List <ValidationResult>();
                if (Validator.TryValidateObject(viewModel, valContext, valResults, true))
                {
                    Assert.True(result is ViewResult);
                }
                else
                {
                    // This means that the passed model was not valid, meaning the system will not successfully save.
                    // However, ModelState object of the controller does not work properly in unit test cases.
                    // So, we deem this test a success, as if it had failed.
                    Assert.True(true);
                }
            }
        }
        public ActionResult Index(int?page)
        {
            UserReportViewModel viewModel = new UserReportViewModel();

            IQueryable <Report> reports = _applicationDbContext.Reports
                                          .Include(t => t.Topic).Include(c => c.Category).Include(r => r.ReportImages)
                                          .Include(reb => reb.Rebuttals).Include(th => th.Threads).Include(rcu => rcu.RipoffCaseUpdates)
                                          .Include(upd => upd.ReportUpdates).Include(v => v.ReportVideos)
                                          .OrderByDescending(d => d.DateCreated);

            var reportList = new List <ReportsWithOwner>();
            var questList  = new List <TopTenQuestionForLatestReportViewModel>();

            foreach (var m in reports)
            {
                var        models  = new ReportsWithOwner();
                HtmlToText convert = new HtmlToText();


                models.RandomId = Guid.NewGuid().ToString();

                string PageTitle    = m.CompanyorIndividual + " : " + convert.Convert(m.ReportText).Substring(0, 50);
                string sm_PageTitle = Regex.Replace(PageTitle, "[^A-Za-z0-9]", "-");

                models.PageTitle           = sm_PageTitle;
                models.ReportId            = m.ReportId;
                models.CompanyorIndividual = m.CompanyorIndividual;
                //string reportText = convert.Convert(m.ReportText);
                models.ReportText   = convert.Convert(m.ReportText);
                models.DateCreated  = m.DateCreated;
                models.CategoryName = m.Category.Name;
                models.TopicName    = m.Topic.Name;

                var User        = UserManager.FindByIdAsync(m.UserId);
                var ReportOwner = User.Result.NameExtension;


                //var CatName = _applicationDbContext.Categories

                models.DisplayName = ReportOwner;

                if (m.ReportImages.Count > 0)
                {
                    models.ReportImagesExist = true;
                    models.ReportImagesCount = m.ReportImages.Count;
                }
                if (m.Rebuttals.Count > 0)
                {
                    models.RebuttalsExist = true;
                    models.RebuttalsCount = m.Rebuttals.Count;
                }
                if (m.Threads.Count > 0)
                {
                    models.ThreadsExist = true;
                    models.ThreadsCount = m.Threads.Count;
                }
                //if ()
                //{
                //    models.CaseUpdatesExist = true;

                //}

                if (m.ReportUpdates.Count > 0)
                {
                    models.ReportUpdateExist = true;
                    models.ReportUpdateCount = m.ReportUpdates.Count;
                }
                if (m.ReportVideos.Count > 0)
                {
                    models.ReportVideosExist = true;
                    models.ReportVideoCount  = m.ReportVideos.Count;
                }
                else
                {
                }

                reportList.Add(models);
            }

            //var topTenQuestion = _applicationDbContext.Questions
            //            .OrderByDescending(dt => dt.DateAsked)
            //            .Take(10);
            //foreach(var top in topTenQuestion)
            //{
            //    TopTenQuestionForLatestReportViewModel questModel = new TopTenQuestionForLatestReportViewModel();
            //    questModel.QuestionId = top.QuestionId;
            //    questModel.QuestionTitle = top.Title;
            //    questModel.QuestionText = top.QuestionText;

            //    var QuestOwner = UserManager.FindByIdAsync(top.UserId);
            //    string QuestionOwner = QuestOwner.Result.NameExtension;
            //    questModel.QuestionOwner = QuestionOwner;
            //    questModel.DateAsked = top.DateAsked.ToString("d,MMMM yy");
            //    questModel.TimeAsked = top.DateAsked.ToString("H:mm tt");

            //    questList.Add(questModel);
            //}

            int pageSize   = 25;
            int pageNumber = page ?? 1;

            //viewModel.TopTenQuestionForLatestReportViewModels = questList;
            viewModel.ReportsWithOwners = reportList.ToPagedList <ReportsWithOwner>(pageNumber, pageSize);

            return(View(viewModel));
        }
 public IActionResult UsersReport(UserReportViewModel viewModel)
 {
     return(RedirectToAction("UsersReport", "Report", new { userId = viewModel.User.Id }));
 }
Example #12
0
        public async Task <IActionResult> Index()
        {
            DateTime startTime = DateTime.Now.AddDays(-DateTime.Now.Day + 1).ToString("yyyy-MM-dd").TryToDateTime();
            DateTime endTime   = DateTime.Now.AddDays(1).ToString("yyyy-MM-dd").TryToDateTime();

            if (Request.Method == "POST")
            {
                startTime = Request.Form["startTime"].TryToDateTime();
                endTime   = Request.Form["endTime"].TryToDateTime();
            }
            ViewBag.startTime = startTime.ToString("yyyy-MM-dd");
            ViewBag.endTime   = endTime.ToString("yyyy-MM-dd");
            UserBll         userBll  = new UserBll();
            List <UserInfo> userlist = await userBll.GetListAsync();

            SalesProjectBll salesProjectBll = new SalesProjectBll();
            // 成单量统计
            List <UserEnterReport> entercustomTotal = await salesProjectBll.GetAsync(startTime, endTime, 0);

            // 客户量统计
            EnterCustomerBll       customerBll   = new EnterCustomerBll();
            List <UserEnterReport> customerTotal = await customerBll.GetAsync(startTime, endTime, 0);

            //电话量统计
            EnterCustPhaseLogBll   phlogbll   = new EnterCustPhaseLogBll();
            List <UserEnterReport> phonetotal = await phlogbll.GetAsync(startTime, endTime, 0);

            List <UserReportViewModel> reportlist = new List <UserReportViewModel>();
            // 应收账款
            var ReceoverPayList = await salesProjectBll.GetListAsync(0, startTime, endTime);

            ReceivedPaymentsLogBll receivedPaymentsLogBll = new ReceivedPaymentsLogBll();
            var ReceivedPaymentsLogList = await receivedPaymentsLogBll.GetListAsync(startTime, endTime, 0);

            if (userlist != null)
            {
                foreach (var user in userlist)
                {
                    if (User.UserName != "admin" && User.ID != user.ID)
                    {
                        continue;
                    }
                    UserReportViewModel userReportView = new UserReportViewModel();
                    if (customerTotal != null && customerTotal.Count > 0)
                    {
                        var customer = customerTotal.FirstOrDefault(x => x.UserID == user.ID);
                        if (customer != null)
                        {
                            userReportView.CustomorTotal = customer.Total;
                        }
                    }

                    if (entercustomTotal != null && entercustomTotal.Count > 0)
                    {
                        var enter = entercustomTotal.FirstOrDefault(x => x.UserID == user.ID);
                        if (enter != null)
                        {
                            userReportView.SalesProjectTotal = enter.Total;
                        }
                    }

                    if (phonetotal != null && phonetotal.Count > 0)
                    {
                        var phone = phonetotal.FirstOrDefault(x => x.UserID == user.ID);
                        if (phone != null)
                        {
                            userReportView.PhoneTotal = phone.Total;
                        }
                    }
                    userReportView.UserID    = user.ID;
                    userReportView.UserName  = user.Name;
                    userReportView.TargetAmt = user.TargetAmt;
                    if (ReceoverPayList != null && ReceoverPayList.Count > 0)
                    {
                        var rlist = from rpay in ReceoverPayList
                                    where rpay.HeadID == user.ID
                                    select rpay.ProjectAmt;
                        if (rlist != null)
                        {
                            userReportView.ReceoverPay = rlist.Sum();
                        }
                    }

                    if (ReceivedPaymentsLogList != null && ReceivedPaymentsLogList.Count > 0)
                    {
                        var rplist = from rplog in ReceivedPaymentsLogList
                                     where rplog.UserID == user.ID
                                     select rplog.Amt;
                        if (rplist != null)
                        {
                            userReportView.HReceoverPay = rplist.Sum();
                        }
                    }
                    reportlist.Add(userReportView);
                }
            }
            ViewBag.root = "report";
            return(View(reportlist));
        }
        private List<ReportColumn> GetReportColumns(UserReportViewModel userReport)
        {
            try
            {
                var userLogged = Session[Utils.UserKey] as UserModel;

                var userLevel = Utils.GetUserLevel(userLogged.UserCategory);

                var userReportOutPut = userReport.Output.Split(',').ToList();

                var reportDefaultOutput = userReport.DefaultOuput.Split(',').ToList();

                var userReportFilterableColumns = userReport.UserFilters.Split(',');

                var columnsConfig = new JavaScriptSerializer().Deserialize<List<ReportColumn>>(userReport.OutputConfiguration);

                var result = (from column in reportDefaultOutput
                    let columnConfig = columnsConfig.FirstOrDefault(col => col.Name == column)
                    select new ReportColumn
                    {
                        Name = column,
                        Level = columnConfig.IsNull() ? 0 : columnConfig.Level,
                        Selected = userReportOutPut.Contains(column) && userLevel >= (columnConfig.IsNull() ? 0 : columnConfig.Level),
                        Filterable = userReportFilterableColumns.Contains(column),
                        Width = columnConfig.IsNull() ? 120 : columnConfig.Width,
                        Index = columnConfig.IsNull() ? 0 : columnConfig.Index,
                        Label = Utils.GetColumnLabel(userReport.Labels, column)
                    }).ToList();

                result.Sort((a, b) => a.Index.CompareTo(b.Index));

                return result;
            }
            catch (Exception exception)
            {
                return null;
            }
        }
        private UserReportInfoModel GetUserReportParameters(UserReportViewModel userReportConfig, List<Argument> arguments = null)
        {
            try
            {
                if (!arguments.IsNull())
                    arguments = arguments.Where(arg => !arg.IsNull()).ToList();

                var reportParameters = userReportConfig.Parameters.ToList();

                //Recovering default parameters from ReportConfig
                var defaultParams = userReportConfig.ParamsDefaultConfiguration.Split(',');

                var argsResult = new List<Argument>();

                for (var i = 0; i < reportParameters.Count; i++)
                {
                    var reportParameter = reportParameters[i];

                    if (!arguments.IsNull() && arguments.Any(x => !x.IsNull()))
                    {
                        var argument = arguments.FirstOrDefault(arg => !arg.Param.IsNull() && arg.Param.Name == reportParameter.Name);

                        Argument newArg;

                        if (!argument.IsNull() && !argument.Value.IsNull())
                            newArg = argument;

                        //Check if the parameter is ID type and there is no other parameter with the same name in the Args
                        else if (reportParameter.Name.IsIdParameter())
                        {
                            var argumentId = arguments.FirstOrDefault(arg => !arg.Param.IsNull() && arg.Param.Name.IsIdParameter());

                            newArg = new Argument
                            {
                                Param = reportParameters[i],
                                Value = !argumentId.IsNull() && !argumentId.Value.IsNull() ? argumentId.Value : GetLoggedUserId()
                            };
                        }
                        else
                        {
                            newArg = new Argument
                            {
                                Param = reportParameter,
                                Value = defaultParams.TryGetValue(i)
                            };
                        }
                        argsResult.Add(newArg);
                    }
                    //Check if the parameter is ID type and there is no other parameter with the same name in the Args
                    else if (reportParameter.Name.IsIdParameter())
                    {
                        argsResult.Add(new Argument
                        {
                            Param = reportParameters[i],
                            Value = GetLoggedUserId()
                        });
                    }
                    else
                    {
                        argsResult.Add(new Argument
                        {
                            Param = reportParameter,
                            Value = defaultParams.TryGetValue(i)
                        });
                    }
                }
                return new UserReportInfoModel
                {
                    Args = argsResult,
                    ReportId = userReportConfig.ReportId,
                    UserId = userReportConfig.UserId
                };
            }
            catch (Exception exception)
            {

                return null;
            }
        }
        private List<Argument> GetSubReportArguments(UserReportViewModel subReport, SubReportParams subReportParams)
        {
            var predefinedFilters = subReport.PredefinedFilters;

            var argsResult = predefinedFilters.Where(pref => pref.Type == FilterType.Value).Select(predefinedFilter => new Argument(predefinedFilter.ParameterName, predefinedFilter.Value)).ToList();

            var indexArg = new Argument(subReportParams.IndexParamName, subReportParams.IndexParamValue);

            var columnNameFilter = predefinedFilters.FirstOrDefault(filter => filter.ColumnName == subReportParams.ColumnName);

            var columnNameArg = !columnNameFilter.IsNull() ? new Argument(columnNameFilter.ParameterName, subReportParams.ColumnValue) : null;

            argsResult.AddRange(new List<Argument> { indexArg, columnNameArg });

            return argsResult;
        }