Example #1
0
        public static List <UserDTO> GetUsersList()
        {
            var                sumPayThisMonth = 0;
            List <UserDTO>     userList        = new List <UserDTO> ();
            List <AlertsUsers> alertsUsers     = new List <AlertsUsers> ();

            using (SuperGmachEntities db = new SuperGmachEntities()) {
                foreach (User u in db.Users)
                {
                    UserDTO user = Userconvert.DALtoDTO(u);
                    //cheac if the user Proper else add alret
                    if (user.Management_status.Id != "Proper")
                    {
                        AlertsUsers alert = new AlertsUsers()
                        {
                            UserId = user.Id_user,
                            Alret  = " סטטוס ניהול לחבר " + user.Last_name + " " + user.First_name + " " + user.Management_status.Name + " סיבת הסטטוס " + user.Status_reason
                        };
                        alertsUsers.Add(alert);
                    }
                    /// cheack if the user have active loan
                    Loan loan = db.Loans.FirstOrDefault(l => l.UserId == u.UserId && l.NameManagement_status != "performed");
                    if (loan != null)
                    {
                        var thisMonth = DateTime.Now.Month;
                        List <Repayments> repayments     = db.Repayments.Where(r => r.LoanId == loan.LoanId && r.NameStatus != "performed").ToList();
                        List <Repayments> pastRepayments = repayments.Where(r => r.Date.Month < thisMonth && r.Date.Month != thisMonth).ToList();
                        foreach (var repayment in pastRepayments)
                        {
                            sumPayThisMonth += repayment.Amount;
                        }
                        if (pastRepayments.ToArray().Length > 0)
                        {
                            // user.payThisMonth = ":החזר הלוואה מחודשים קודמים שטרם החזרו" + sumPayThisMonth.ToString ();
                            AlertsUsers alert = new AlertsUsers()
                            {
                                UserId = user.Id_user,
                                Alret  = "  יש החזרים מחודשים קודמים שלא  שולמו לחבר  " + user.Last_name + " " + user.First_name
                            };
                            alertsUsers.Add(alert);
                        }

                        Repayments repaymentThisMonth = repayments.FirstOrDefault(r => r.Date.Month == thisMonth);
                        if (repaymentThisMonth != null)
                        {
                            // user.payThisMonth += " :תשלום פררעון לחודש זה" + repaymentThisMonth.Amount.ToString ();
                            sumPayThisMonth += repaymentThisMonth.Amount;
                        }
                    }
                    user.Loans = loan != null?LoanBL.Balance(loan.LoanId) : 0;

                    User_in_fund rachelLea = db.UserInFunds.FirstOrDefault(uf => u.UserId == uf.UserId && uf.FundId == "rachelLea");
                    user.RachelLea = rachelLea != null ? (int)rachelLea.balance : 0;
                    // Repayment repayment=db.Repayments.Where(r=>r.
                    userList.Add(user);
                }
            }
            return(userList);
        }
Example #2
0
        public static ListUsers GetUsersList()
        {
            var sumPayThisMonth = 0;
            // List<UserDTO> userList = new List<UserDTO> ();
            ListUsers userList = new ListUsers();

            using (SuperGmachEntities db = new SuperGmachEntities()) {
                foreach (User u in db.Users)
                {
                    UserDTO user = Userconvert.DALtoDTO(u);
                    //cheac if the user Proper else add alret
                    if (user.Management_status.Id != "Proper")
                    {
                        AlertsUsers alert = new AlertsUsers()
                        {
                            UserId = user.Id_user,
                            Alret  = " סטטוס ניהול לחבר " + user.Last_name + " " + user.First_name + " " + user.Management_status.Name + " סיבת הסטטוס " + user.Status_reason
                        };
                        userList.alertsUsers.Add(alert);
                    }
                    /// cheack if the user have active loan
                    Loan loan = db.Loans.FirstOrDefault(l => l.UserId == u.UserId && l.NameStatus != "performed");
                    if (loan != null)
                    {
                        var today     = DateTime.Now;
                        var thisMonth = DateTime.Now.Month;
                        List <Repayments> repayments     = db.Repayments.Where(r => r.LoanId == loan.LoanId && r.NameStatus != "performed").ToList();
                        List <Repayments> pastRepayments = repayments.Where(r => r.Date < today && r.Date != today).ToList();
                        foreach (var repayment in pastRepayments)
                        {
                            sumPayThisMonth += repayment.Amount;
                        }
                        if (pastRepayments.ToArray().Length > 0)
                        {
                            // user.payThisMonth = ":החזר הלוואה מחודשים קודמים שטרם החזרו" + sumPayThisMonth.ToString ();
                            AlertsUsers alert = new AlertsUsers()
                            {
                                UserId = user.Id_user,
                                Alret  = "  יש החזרים מחודשים קודמים שלא  שולמו לחבר  " + user.Last_name + " " + user.First_name
                            };
                            userList.alertsUsers.Add(alert);
                        }

                        Repayments repaymentThisMonth = repayments.FirstOrDefault(r => r.Date.Month == thisMonth);
                        if (repaymentThisMonth != null)
                        {
                            // user.payThisMonth += " :תשלום פררעון לחודש זה" + repaymentThisMonth.Amount.ToString ();
                            sumPayThisMonth += repaymentThisMonth.Amount;
                        }
                    }
                    if (loan != null)
                    {
                        switch (loan.NameManagement_status)
                        {
                        case "Invalid":
                            user.Loans = " לא תקין " + LoanBL.Balance(loan.LoanId).ToString();
                            break;

                        case "Unauthorized":
                            user.Loans = "לא מאושר";
                            break;

                        case "Proper":
                            user.Loans = loan.NameStatus == "active" ? ("-" + LoanBL.Balance(loan.LoanId).ToString()) : "ממתין לאישור";
                            break;

                        case "Approved":
                            user.Loans = loan.NameStatus == "future" ? loan.Amount.ToString() + " עתידי" : loan.Amount.ToString() + "מאושר ";
                            break;
                        }
                    }
                    // user.Loans = loan != IChangeTracking null ? LoanBL.Balance (loan.LoanId) : 0;

                    User_in_fund rachelLea = db.UserInFunds.FirstOrDefault(uf => u.UserId == uf.UserId && uf.FundId == "2");
                    user.RachelLea = rachelLea != null ? (int)rachelLea.balance : 0;
                    // Repayment repayment=db.Repayments.Where(r=>r.
                    userList.Users.Add(user);
                }
            }
            return(userList);
        }