public ServiceResponse GetInvoiceHistory(string userID, PageRecordModel pageRecordModel) { ObjectId UserID = ObjectId.Parse(userID); var us = _unitOfWork.UserRepository.GetAll().Where(x => x.Id == UserID).FirstOrDefault(); List <UserInvoiceHistoryModel> userInvoiceHistoryModels = null; if (us.UserInvoiceHistory != null) { userInvoiceHistoryModels = us.UserInvoiceHistory.Select(n => new UserInvoiceHistoryModel() { Id = n.Id, PlanName = n.PlanName, PlanId = n.PlanId, TransactionDate = n.TransactionDate, Status = n.Status, Price = n.Price, Paid = n.Paid }).ToList(); } var userInvoiceHistoryList = userInvoiceHistoryModels != null?userInvoiceHistoryModels.Skip((pageRecordModel.PageNumber - 1) *pageRecordModel.PageSize).Take(pageRecordModel.PageSize).ToList() : null; var result = new ServiceResponse { MultipleData = new Dictionary <string, object>() { { "Total", userInvoiceHistoryModels != null?userInvoiceHistoryModels.Count:0 }, { "PaymentDetail", userInvoiceHistoryList } }, Success = true }; return(result); }
public IHttpActionResult GetUsersList(PageRecordModel pageRecordModel) { int userCount = 0; pageRecordModel.OrganizationID = OrganizationID; return(Ok(new { users = _configureService.GetUsers(pageRecordModel, out userCount), count = userCount })); }
public IHttpActionResult GetUserInstrumentalDetails(int records, PageRecordModel pageRecordModel) { pageRecordModel.OrganizationID = OrganizationID; pageRecordModel.UserID = UserID; pageRecordModel.DatasourceIDs = DatasourceIDs; var result = _performersService.GetUserDetailInstrumental(records, pageRecordModel, UserID); return(Ok(result)); }
public IHttpActionResult GetTopFivePinnedUsers(PageRecordModel pageRecordModel) { pageRecordModel.OrganizationID = OrganizationID; pageRecordModel.UserID = UserID; pageRecordModel.DatasourceIDs = DatasourceIDs; var response = _performersService.GetTopFivePinnedUsers(pageRecordModel); return(Ok(response)); }
public ServiceResponse GetUserRequest(string userID, PageRecordModel pageRecordModel) { ObjectId UserID = ObjectId.Parse(userID); var us = _unitOfWork.UserRepository.GetAll().Where(x => x.Id == UserID).FirstOrDefault(); //List<UserRequest> userRequest = null; //if (us.UserRequests != null) //{ // userRequest = us.UserRequests.Select(n => new UserRequest() // { // Details = n.Details, // }).ToList(); //} var requestType = new List <EnumHelper>(); foreach (RequestTypeEnum RequestType in Enum.GetValues(typeof(RequestTypeEnum))) { var r = new EnumHelper { intValue = (int)RequestType, stringValue = Enum.GetName(typeof(RequestTypeEnum), RequestType), DisplayName = ((RequestTypeEnum)Enum.ToObject(typeof(RequestTypeEnum), RequestType)).GetEnumDisplayName() }; requestType.Add(r); } var requestStatus = new List <EnumHelper>(); foreach (RequestStatusEnum RequestStatus in Enum.GetValues(typeof(RequestStatusEnum))) { var r = new EnumHelper { intValue = (int)RequestStatus, stringValue = Enum.GetName(typeof(RequestStatusEnum), RequestStatus), DisplayName = ((RequestStatusEnum)Enum.ToObject(typeof(RequestStatusEnum), RequestStatus)).GetEnumDisplayName() }; requestStatus.Add(r); } var userRequests = us.UserRequests.Skip((pageRecordModel.PageNumber - 1) * pageRecordModel.PageSize).Take(pageRecordModel.PageSize).ToList(); var result = new ServiceResponse { MultipleData = new Dictionary <string, object>() { { "Total", us.UserRequests.Count }, { "UserRequests", userRequests }, { "RequestType", requestType }, { "RequestStatus", requestStatus }, }, Success = true }; return(result); }
public List <T> GetPagedRecordsLinq(PageRecordModel pageRecordModel, Expression <Func <T, bool> > whereCondition, Expression <Func <T, string> > orderBy, string sortDirection = "asc") { if (sortDirection == "asc") { return((_collection.AsQueryable().Where(whereCondition).OrderBy(orderBy).Skip((pageRecordModel.PageNumber - 1) * pageRecordModel.PageSize).Take(pageRecordModel.PageSize)).ToList()); } else { return((_collection.AsQueryable().Where(whereCondition).OrderByDescending(orderBy).Skip((pageRecordModel.PageNumber - 1) * pageRecordModel.PageSize).Take(pageRecordModel.PageSize)).ToList()); } }
public IHttpActionResult GetUserRequest(string userId, PageRecordModel pageRecordModel) { try { var response = _adminSubscriberService.GetUserRequest(userId, pageRecordModel); return(Ok(new { response = response })); } catch (Exception ex) { throw; } }
public IHttpActionResult GetSubscribers(PageRecordModel pageRecordModel) { try { var response = _adminSubscriberService.GetSubscribers(pageRecordModel); return(Ok(new { response = response })); } catch (Exception ex) { throw; } }
public IHttpActionResult GetTop5Performers(PageRecordModel pageRecordModel) { try { pageRecordModel.OrganizationID = OrganizationID; pageRecordModel.UserID = UserID; pageRecordModel.DatasourceIDs = DatasourceIDs; var response = _performersService.GetTop5Performers(pageRecordModel, UserGroups); return(Ok(new { response = response })); } catch (Exception ex) { throw; } }
public ServiceResponse GetUserNotifications(PageRecordModel pageRecordModel) { var Name = ""; foreach (var filter in pageRecordModel.Filters) { if (filter.Key == "Name") { Name = pageRecordModel.Filters.Single(x => x.Key == "Name").Value; } } var allUsers = _unitOfWork.UserRepository.GetAll().Where(x => x.RoleID == 2 && x.Name.ToLower().Contains(Name.ToLower())).ToList(); var allNotifications = new List <AdminNotificationModel>(); foreach (var user in allUsers) { foreach (var n in user.Notifications) { AdminNotificationModel notification = new AdminNotificationModel(); notification.userId = user.Id.ToString(); notification.Name = user.Name; notification.Email = user.EmailID; notification.NotificationId = n.id; notification.Notification = n.Text; notification.Date = n.Date; allNotifications.Add(notification); } } var notifications = allNotifications.Skip((pageRecordModel.PageNumber - 1) * pageRecordModel.PageSize).Take(pageRecordModel.PageSize).ToList(); var result = new ServiceResponse { Data = notifications, MultipleData = new Dictionary <string, object>() { { "Notifications", notifications }, { "Total", allNotifications.Count }, }, Success = true }; return(result); }
public IHttpActionResult GetFilteringData(PageRecordModel pageRecordModel) { try { //var timeLines = _performersService.getTimeLines(); pageRecordModel.OrganizationID = OrganizationID; pageRecordModel.UserID = UserID; pageRecordModel.DatasourceIDs = DatasourceIDs; var response = _performersService.GetAccountDetails(pageRecordModel, UserGroups); var totalRecords = _performersService.GetAccountDetailsCount(pageRecordModel, UserGroups); return(Ok(new { records = response, count = totalRecords })); } catch (Exception ex) { throw; } }
public IHttpActionResult GetAccounts(PageRecordModel pageRecordModel) { //_accountDetailService.AddDummyAcountDetails(); try { pageRecordModel.PageSize = pageRecordModel.PageSize == 0 ? ReadConfiguration.PageSize : pageRecordModel.PageSize; pageRecordModel.OrganizationID = OrganizationID; pageRecordModel.UserID = UserID; pageRecordModel.DatasourceIDs = DatasourceIDs; var response = _performersService.GetAccountDetails(pageRecordModel, UserGroups); var totalRecords = _performersService.GetAccountDetailsCount(pageRecordModel, UserGroups); return(Ok(new { response = response, count = totalRecords })); } catch (Exception ex) { throw; } }
/// <summary> /// Get Records for a page /// </summary> /// <returns></returns> public List <T> GetPagedRecords(PageRecordModel pageRecordModel, SortDefinition <T> sortDefinition = null, FilterDefinition <T> filterDefinition = null, ProjectionDefinition <T> projection = null) { if (sortDefinition == null && filterDefinition == null) { return(_collection.Find(x => true).Skip(pageRecordModel.PageSize * (pageRecordModel.PageNumber - 1)).Limit(pageRecordModel.PageSize).ToList()); } else if (sortDefinition != null && filterDefinition != null) { return(_collection.Find(filterDefinition).Skip(pageRecordModel.PageSize * (pageRecordModel.PageNumber - 1)).Limit(pageRecordModel.PageSize).Sort(sortDefinition).ToList()); } else if (sortDefinition == null && filterDefinition != null) { return(_collection.Find(filterDefinition).Skip(pageRecordModel.PageSize * (pageRecordModel.PageNumber - 1)).Limit(pageRecordModel.PageSize).ToList()); } else if (sortDefinition != null && filterDefinition == null) { return(_collection.Find(x => true).Skip(pageRecordModel.PageSize * (pageRecordModel.PageNumber - 1)).Limit(pageRecordModel.PageSize).Sort(sortDefinition).ToList()); } else { return(_collection.Find(filterDefinition).Skip(pageRecordModel.PageSize * (pageRecordModel.PageNumber - 1)).Limit(pageRecordModel.PageSize).Sort(sortDefinition).ToList()); } }
public ServiceResponse GetSubscribers(PageRecordModel pageRecordModel) { var planFilter = ""; var paymentFilter = ""; var nameFilter = ""; foreach (var filter in pageRecordModel.Filters) { if (filter.Key == "PlanFilter") { planFilter = pageRecordModel.Filters.Single(x => x.Key == "PlanFilter").Value; } if (filter.Key == "PaymentFilter") { paymentFilter = pageRecordModel.Filters.Single(x => x.Key == "PaymentFilter").Value; } if (filter.Key == "Name") { nameFilter = pageRecordModel.Filters.Single(x => x.Key == "Name").Value; } } var plans = _unitOfWork.SubscriptionPlanRepository.GetAll().ToList(); var subscribersList = new List <AdminSubscriberModel>(); IEnumerable <AdminSubscriberModel> subscribers; if (!string.IsNullOrEmpty(planFilter)) { subscribers = _unitOfWork.UserRepository.GetAll().Where(x => x.RoleID == 2 && x.Name.ToLower().Contains(nameFilter.ToLower()) && x.UserPlans.Any(y => y.IsActive == true && y.PlanID == Convert.ToInt32(planFilter))).ToList() .Select(a => new AdminSubscriberModel() { UserID = a.Id, Name = a.Name, EmailID = a.EmailID, PlanName = plans.Where(x => x.PlanID == a.UserPlans.Where(up => up.IsActive == true).Select(up => up.PlanID).FirstOrDefault()).Select(x => x.Name).FirstOrDefault(), IsTrial = a.UserPlans.Where(up => up.IsActive == true).Select(up => up.Days).First() > 0 ? true : false, PhoneNumber = a.PhoneNumber, ReportUser = _unitOfWork.UserRepository.GetAll().Where(x => x.RoleID == 3 && x.OrganizationID == a.OrganizationID).Count(), MonthlyRatePerAccount = a.MonthlyRatePerAccount != 0 ? a.MonthlyRatePerAccount : 0, BillAmount = _unitOfWork.UserRepository.GetAll().Any(X => X.RoleID == 3) ? _unitOfWork.UserRepository.GetAll().Where(x => x.RoleID == 3 && x.OrganizationID == a.OrganizationID).Count() * a.MonthlyRatePerAccount != 0 ? a.MonthlyRatePerAccount : 0 : 0, PaymentStatus = GetUserPaymentStatusByuser(a), OpenRequest = a.UserRequests.Where(x => x.StatusID == (int)RequestStatusEnum.Open).FirstOrDefault() != null ? S2TAnalytics.Common.Helper.Helper.GetEnumDisplayName(RequestTypeEnum.SubscritionPlan) : "" }); } else { subscribers = _unitOfWork.UserRepository.GetAll().Where(x => x.RoleID == 2 && x.Name.ToLower().Contains(nameFilter.ToLower()) && x.UserPlans.Any(y => y.IsActive == true)).ToList() .Select(a => new AdminSubscriberModel() { UserID = a.Id, Name = a.Name, EmailID = a.EmailID, PlanName = plans.Where(x => x.PlanID == a.UserPlans.Where(up => up.IsActive == true).Select(up => up.PlanID).FirstOrDefault()).Select(x => x.Name).FirstOrDefault(), IsTrial = a.UserPlans.Where(up => up.IsActive == true).Select(up => up.Days).First() > 0 ? true : false, PhoneNumber = a.PhoneNumber, ReportUser = _unitOfWork.UserRepository.GetAll().Where(x => x.RoleID == 3 && x.OrganizationID == a.OrganizationID).Count(), MonthlyRatePerAccount = a.MonthlyRatePerAccount != 0 ? a.MonthlyRatePerAccount : 0, BillAmount = _unitOfWork.UserRepository.GetAll().Any(X => X.RoleID == 3) ? _unitOfWork.UserRepository.GetAll().Where(x => x.RoleID == 3 && x.OrganizationID == a.OrganizationID).Count() * a.MonthlyRatePerAccount != 0 ? a.MonthlyRatePerAccount : 0 : 0, PaymentStatus = GetUserPaymentStatusByuser(a), OpenRequest = a.UserRequests.Where(x => x.StatusID == (int)RequestStatusEnum.Open).FirstOrDefault() != null ? S2TAnalytics.Common.Helper.Helper.GetEnumDisplayName(RequestTypeEnum.SubscritionPlan) : "" }); } // var expression = GetExpression(pageRecordModel.SortBy); if (pageRecordModel.SortOrder == "asc") { if (pageRecordModel.SortBy == "Name" || pageRecordModel.SortBy == "") { subscribersList = subscribers.OrderBy(x => x.Name).ToList(); } else if (pageRecordModel.SortBy == "PlanName") { subscribersList = subscribers.OrderBy(x => x.PlanName).ToList(); } else if (pageRecordModel.SortBy == "Email") { subscribersList = subscribers.OrderBy(x => x.EmailID).ToList(); } else if (pageRecordModel.SortBy == "Phone") { subscribersList = subscribers.OrderBy(x => x.PhoneNumber).ToList(); } else if (pageRecordModel.SortBy == "ReportUser") { subscribersList = subscribers.OrderBy(x => x.ReportUser).ToList(); } else if (pageRecordModel.SortBy == "MonthlyRates") { subscribersList = subscribers.OrderBy(x => x.MonthlyRatePerAccount).ToList(); } else if (pageRecordModel.SortBy == "Bill") { subscribersList = subscribers.OrderBy(x => x.BillAmount).ToList(); } else if (pageRecordModel.SortBy == "PaymentStatus") { subscribersList = subscribers.OrderBy(x => x.PaymentStatus).ToList(); } else if (pageRecordModel.SortBy == "Request") { subscribersList = subscribers.OrderBy(x => x.OpenRequest).ToList(); } } else { if (pageRecordModel.SortBy == "Name" || pageRecordModel.SortBy == "") { subscribersList = subscribers.OrderByDescending(x => x.Name).ToList(); } else if (pageRecordModel.SortBy == "PlanName") { subscribersList = subscribers.OrderByDescending(x => x.PlanName).ToList(); } else if (pageRecordModel.SortBy == "Email") { subscribersList = subscribers.OrderByDescending(x => x.EmailID).ToList(); } else if (pageRecordModel.SortBy == "Phone") { subscribersList = subscribers.OrderByDescending(x => x.PhoneNumber).ToList(); } else if (pageRecordModel.SortBy == "ReportUser") { subscribersList = subscribers.OrderByDescending(x => x.ReportUser).ToList(); } else if (pageRecordModel.SortBy == "MonthlyRates") { subscribersList = subscribers.OrderByDescending(x => x.MonthlyRatePerAccount).ToList(); } else if (pageRecordModel.SortBy == "Bill") { subscribersList = subscribers.OrderByDescending(x => x.BillAmount).ToList(); } else if (pageRecordModel.SortBy == "PaymentStatus") { subscribersList = subscribers.OrderByDescending(x => x.PaymentStatus).ToList(); } else if (pageRecordModel.SortBy == "Request") { subscribersList = subscribers.OrderByDescending(x => x.OpenRequest).ToList(); } } var newSubscribersList = subscribersList.Skip((pageRecordModel.PageNumber - 1) * pageRecordModel.PageSize).Take(pageRecordModel.PageSize).ToList(); //if (pageRecordModel.SortOrder == "asc") // subscribersList = subscribers.OrderBy(expression).ToList(); //else // subscribersList = subscribers.OrderByDescending(expression).ToList(); var subscriberPlan = _unitOfWork.SubscriptionPlanRepository.GetAll().Select(p => new EnumHelper() { stringValue = p.Name, intValue = p.PlanID }).ToList(); var plansIds = Enum.GetValues(typeof(SubscriberReminderEnum)).Cast <int>().ToList(); var subscriberReminders = new List <EnumHelper>(); foreach (var w in plansIds) { var r = new EnumHelper { intValue = w, stringValue = Enum.GetName(typeof(SubscriberReminderEnum), w), DisplayName = ((SubscriberReminderEnum)Enum.ToObject(typeof(SubscriberReminderEnum), w)).GetEnumDisplayName() }; subscriberReminders.Add(r); } var result = new ServiceResponse { MultipleData = new Dictionary <string, object>() { { "Subscribers", newSubscribersList }, { "Plans", subscriberPlan }, { "SubscriberReminders", subscriberReminders }, }, Success = true }; return(result); }
public HttpResponseMessage DownloadExcel(PageRecordModel pageRecordModel) { pageRecordModel.OrganizationID = OrganizationID; pageRecordModel.UserID = UserID; pageRecordModel.DatasourceIDs = DatasourceIDs; var wb = new XLWorkbook(); var ws = wb.Worksheets.Add("Performers"); // From a query //var list = new List<Person>(); //list.Add(new Person() { Name = "John", Age = 30, House = "On Elm St." }); //list.Add(new Person() { Name = "Mary", Age = 15, House = "On Main St." }); //list.Add(new Person() { Name = "Luis", Age = 21, House = "On 23rd St." }); //list.Add(new Person() { Name = "Henry", Age = 45, House = "On 5th Ave." }); var performers = _performersService.GetAccountsForExport(pageRecordModel, UserGroups); var performersToExport = from p in performers select new { p.PerformerName, p.AccountNumber, p.NAV, p.ROI, p.WINRate, p.DD, p.Leverage, p.Location, p.UserGroup }; //ws.Cell(6, 6).Value = "From Query"; //ws.Range(6, 6, 6, 8).Merge().AddToNamed("Titles"); string[] columns = { "Name", "Account Number", "NAV", "ROI", "WIN Rate", "DD", "Leverage", "Location", "UserGroup" }; foreach (var i in Enumerable.Range(1, 9)) { ws.Cell(1, i).Value = columns[i - 1]; ws.Cell(1, i).Style.Fill.BackgroundColor = XLColor.BallBlue; ws.Cell(1, i).Style.Font.Bold = true; ws.Cell(1, i).Style.Font.SetFontColor(XLColor.White); } ws.Cell(2, 1).InsertData(performersToExport); //// Prepare the style for the titles //var titlesStyle = wb.Style; //titlesStyle.Font.Bold = true; //titlesStyle.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; //titlesStyle.Fill.BackgroundColor = XLColor.Cyan; //// Format all titles in one shot //wb.NamedRanges.NamedRange("Titles").Ranges.Style = titlesStyle; ws.Columns().AdjustToContents(); using (var ms = new MemoryStream()) { wb.SaveAs(ms); var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new ByteArrayContent(ms.ToArray()) }; result.Content.Headers.Add("x-filename", "Performers.xls"); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); return(result); } }