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);
        }
Esempio n. 2
0
        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());
     }
 }
Esempio n. 7
0
 public IHttpActionResult GetUserRequest(string userId, PageRecordModel pageRecordModel)
 {
     try
     {
         var response = _adminSubscriberService.GetUserRequest(userId, pageRecordModel);
         return(Ok(new { response = response }));
     }
     catch (Exception ex)
     {
         throw;
     }
 }
Esempio n. 8
0
 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;
     }
 }
Esempio n. 13
0
 /// <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);
            }
        }