Exemple #1
0
        static private void SetRepayment(Loan loan)
        {
            db Sgmach = new db();
            // DateTime date1 = loan.BeginningRepayment;
            // DateTime date2 = date1.AddMonths(loan.month);
            int c      = loan.Months / loan.Num_payments;
            int amount = loan.Amount / loan.Months;

            for (int i = 0; i <= loan.Num_payments; i = ++i)
            {
                Repayments repayment = new Repayments()
                {
                };

                repayment.Amount = amount;
                if (i == loan.Num_payments)
                {
                    repayment.Amount = loan.Amount - (amount * (loan.Num_payments - 1));
                }
                repayment.Date   = loan.RepaymentStart.AddMonths(i + c);
                repayment.LoanId = loan.LoanId;

                Sgmach.Repayments.Add(repayment);
                Sgmach.SaveChanges();
            }
        }
Exemple #2
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);
        }
Exemple #3
0
        public static RepaymentsDTO getRepaymentById(int id)
        {
            db            DB           = new db();
            Repayments    repyment     = DB.Repayments.FirstOrDefault(r => r.RepaymentId == id);
            User          user         = DB.Users.FirstOrDefault(u => u.UserId == repyment.UserId);
            RepaymentsDTO repaymentDTO = RepaymentConvert.DALtoDTO(repyment);

            repaymentDTO.UserName = user.firstName + " " + user.lastname;
            return(repaymentDTO);
        }
Exemple #4
0
        public static RepaymentsDTO DALtoDTO(Repayments repayment)
        {
            RepaymentsDTO repaymentDTO = new RepaymentsDTO()
            {
                UserId = repayment.UserId,
                Amount = repayment.Amount,
                Date   = repayment.Date,
                Id     = repayment.RepaymentId,
                LoanID = repayment.LoanId,
                // Remark = repayment.Re,
                status = repayment.NameStatus
            };

            return(repaymentDTO);
        }
		} // ToString

		/// <summary>
		/// Creates a deep copy of current model.
		/// </summary>
		/// <returns>A copy of current model.</returns>
		public LoanCalculatorModel DeepClone() {
			var lcm = new LoanCalculatorModel {
				InterestOnlyRepayments = InterestOnlyRepayments,
			};

			lcm.DiscountPlan.AddRange(DiscountPlan);
			lcm.Repayments.AddRange(Repayments.Select(v => v.DeepClone()));
			lcm.Fees.AddRange(Fees.Select(v => v.DeepClone()));
			lcm.BadPeriods.AddRange(BadPeriods.Select(v => v.DeepClone()));

			lcm.LoanHistory.Clear();
			lcm.LoanHistory.AddRange(LoanHistory.Select(v => v.DeepClone()));

			return lcm;
		} // DeepClone
Exemple #6
0
        public static void Update(RepaymentsDTO repayment)
        {
            db         DB           = new db();
            Repayments repaymentDal = DB.Repayments.FirstOrDefault(r => r.RepaymentId == repayment.Id);

            if (repayment.NameStatus == "performed" && repaymentDal.NameStatus != "performed")
            {
                FundBL.AddBalance(repayment.Amount);
            }
            repaymentDal.Amount     = repayment.Amount;
            repaymentDal.NameStatus = repayment.NameStatus;
            repaymentDal.Date       = repayment.Date;
            // repaymentDal.remark= repayment.Remark;
            DB.SaveChanges();
        }
Exemple #7
0
        public static UserDTO GetUserById(int id)
        {
            User userDal = new User();

            try {
                using (SuperGmachEntities db = new SuperGmachEntities()) {
                    userDal = db.Users.FirstOrDefault(u => u.UserId == id);
                    UserDTO user = Userconvert.DALtoDTO(userDal);
                    ///cheack pay thisMonth
                    var  sumPayThisMonth = 0;
                    Loan loan            = db.Loans.FirstOrDefault(l => l.UserId == id && 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;
                        }
                        user.payThisMonth.Add(" תשלום פרעות מחודשים קודמים שטרם שלמו :" + sumPayThisMonth.ToString());
                        ;
                        Repayments repaymentThisMonth = repayments.FirstOrDefault(r => r.Date.Month == thisMonth);
                        if (repaymentThisMonth != null)
                        {
                            user.payThisMonth.Add("תשלום פררעון לחודש זה :" + repaymentThisMonth.Amount.ToString());
                            sumPayThisMonth += repaymentThisMonth.Amount;
                        }
                    }
                    if (user.Friend == true)
                    {
                        sumPayThisMonth += 50;
                        user.payThisMonth.Add(" הוראת קבע: 50 ");
                    }
                    user.payThisMonth.Add("סהכ :" + sumPayThisMonth.ToString());
                    return(user);
                }
            }
            catch (Exception e) {
                throw e;
            }
        }
Exemple #8
0
        public static UserDTO GetUserById(int id)
        {
            User userDal = new User();

            try {
                using (SuperGmachEntities db = new SuperGmachEntities()) {
                    userDal = db.Users.FirstOrDefault(u => u.UserId == id);
                    UserDTO user = Userconvert.DALtoDTO(userDal);
                    ///cheack pay thisMonth
                    var  sumPayThisMonth = 0;
                    var  paid            = 0;
                    Loan loan            = db.Loans.FirstOrDefault(l => l.UserId == id && 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();
                        if (pastRepayments.ToArray().Length > 0)
                        {
                            foreach (var repayment in pastRepayments)
                            {
                                sumPayThisMonth += repayment.Amount;
                            }
                            user.payThisMonth.Add(" תשלום פרעות מחודשים קודמים שטרם שלמו :" + sumPayThisMonth.ToString());;
                        }
                        Repayments repaymentThisMonth = repayments.FirstOrDefault(r => r.Date.Month == thisMonth);
                        if (repaymentThisMonth != null)
                        {
                            sumPayThisMonth += repaymentThisMonth.Amount;
                            if (repaymentThisMonth.NameStatus != "performed")
                            {
                                user.payThisMonth.Add("תשלום פררעון לחודש זה :" + repaymentThisMonth.Amount.ToString());
                            }
                            else
                            {
                                user.payThisMonth.Add("תשלום פררעון לחודש זה :" + repaymentThisMonth.Amount.ToString() + " -שולם ");
                                paid += repaymentThisMonth.Amount;
                            }
                        }
                    }
                    if (user.Friend == true)
                    {
                        var last_Debit_order = user.last_Debit_order;
                        var today            = DateTime.Now;
                        var month            = ((today.Year - last_Debit_order.Year) * 12) + today.Month - last_Debit_order.Month;
                        if (month == 0)
                        {
                            sumPayThisMonth += 50;
                            paid            += 50;
                            user.payThisMonth.Add(" שולם:הוראת קבע: 50 ");
                        }
                        else
                        {
                            var amount = 50 * month;
                            sumPayThisMonth += amount;
                            user.payThisMonth.Add("הוראת קבע: " + amount.ToString());
                        }
                    }
                    user.payThisMonth.Add("סהכ :" + sumPayThisMonth.ToString());
                    user.payThisMonth.Add("שולם :" + paid.ToString());
                    var toPay = sumPayThisMonth - paid;
                    user.payThisMonth.Add("סהכ לתשלום :" + toPay.ToString());
                    return(user);
                }
            } catch (Exception e) {
                throw e;
            }
        }
Exemple #9
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);
        }