コード例 #1
0
ファイル: LoanBL.cs プロジェクト: Rivkiwin/super-gmach
        public static void Add(LoanDTO loan)
        {
            SetScore(loan);
            db Sgmach = new db();
            //if its Approved
            Loan loanDAL = LoanConvert.DTOtoDAL(loan);

            loanDAL = Sgmach.Loans.Add(loanDAL).Entity;
            Sgmach.SaveChanges();
            if (loan.management_Status == "Approved")
            {
                int FutureBalance = FundBL.GetFutureBalance("1", loan.date_start);
                if (FutureBalance < loan.amount)
                {
                    loanDAL.remark += " יתרת הגמח ביום התחלת הלוואה קטנה מסכום ההלוואה";
                    loanDAL.NameManagement_status = "Invalid";
                }
                else
                {
                    SetRepayment(loanDAL);
                    if (loan.NameStatus == "active")
                    {
                        FundBL.Subtract_Balance(loan.amount);
                    }
                    Sgmach.SaveChanges();
                }
                loan.paid = false;
                // Loan loanDAL = LoanConvert.DTOtoDAL(loan);
                // loanDAL = Sgmach.Loans.Add(loanDAL).Entity;
                Sgmach.SaveChanges();
            }
        }
コード例 #2
0
ファイル: LoanBL.cs プロジェクト: Rivkiwin/super-gmach
        public static void Update(LoanDTO loan)
        {
            db   Sgmach  = new db();
            Loan loanDAL = Sgmach.Loans.FirstOrDefault(l => l.LoanId == loan.id_loan);

            loanDAL.Months                = loan.month;
            loanDAL.remark                = loan.remark;
            loanDAL.NameStatus            = loan.NameStatus;
            loanDAL.RepaymentStart        = loan.date_start;
            loanDAL.NameManagement_status = loan.management_Status;
            if (loanDAL == null)
            {
                throw new Exception("loan not found");
            }
            //if it became Approved
            if (loanDAL.NameManagement_status != "Approved" && loan.management_Status == "Approved" && loanDAL.NameStatus != "active")
            {
                if (loan.NameStatus == "future")
                {
                    int FutureBalance = FundBL.GetFutureBalance("1", loan.date_start);
                    if (FutureBalance - 2000 < loan.amount)
                    {
                        loanDAL.remark = "סכום ההלוואה גדול מיתרת הגמח";
                        loanDAL.NameManagement_status = "Invalid";
                    }
                    else
                    {
                        SetRepayment(loanDAL);
                        loanDAL.NameManagement_status = "Approved";
                    }
                }
            }
            else if (loanDAL.NameManagement_status != "Approved" && loan.management_Status == "Approved" && loan.NameStatus == "active")
            {
                loanDAL.NameManagement_status = "Approved";
                loanDAL.NameStatus            = "active";
                loanDAL.RepaymentStart        = DateTime.Today;
                SetRepayment(loanDAL);
            }

            // if the loan become active (the friend get the money) the  fund  Balance have to Subtract
            if (loan.NameStatus == "active" && loanDAL.NameStatus != "active")
            {
                loanDAL.NameStatus     = "active";
                loan.management_Status = "Proper";
                FundBL.Subtract_Balance(loan.amount);
            }

            Sgmach.SaveChanges();
        }
コード例 #3
0
ファイル: ExpenditureBL.cs プロジェクト: Rivkiwin/super-gmach
 static public void AddExpenditure(ExpenditureDTO Expenditure)
 {
     using (SuperGmachEntities db = new SuperGmachEntities())
     {
         try
         {
             Expenditure e = ExpenditureConvert.TDOtoDAL(Expenditure);
             db.Expenditure.Add(e);
             //fundId 1 is for the main fund
             if (Expenditure.NameStatus == "performed")
             {
                 FundBL.Subtract_Balance(Expenditure.Amount, "1");
             }
             db.SaveChanges();
         }
         catch (Exception e)
         {
             throw e;
         }
     }
 }
コード例 #4
0
ファイル: ExpenditureBL.cs プロジェクト: Rivkiwin/super-gmach
 public static void updateExpenditure(ExpenditureDTO expenditure)
 {
     using (SuperGmachEntities db = new SuperGmachEntities())
     {
         try
         {
             Expenditure update_expenditure = db.Expenditure.FirstOrDefault(e => e.Id == expenditure.Id);
             if (update_expenditure != null)
             {
                 update_expenditure.Amount = expenditure.Amount;
                 update_expenditure.Date   = expenditure.Date;
                 //update_expenditure.future_date = expenditure.future_date;
                 update_expenditure.Purpose  = expenditure.Purpose;
                 update_expenditure.Receives = expenditure.Receives;
                 ///chack if its became performed
                 if (expenditure.NameStatus != update_expenditure.NameStatus)
                 {
                     if (expenditure.NameStatus == "performed")
                     {
                         FundBL.Subtract_Balance(expenditure.Amount);
                     }
                     else
                     {
                         ///check if it was performed and change to canceled
                         if (expenditure.NameStatus == "canceled" && update_expenditure.NameStatus == "performed")
                         {
                             FundBL.AddBalance(expenditure.Amount);
                         }
                     }
                     update_expenditure.NameStatus = expenditure.NameStatus;
                 }
                 db.SaveChanges();
             }
         }
         catch (Exception ex)
         {
             throw ex;
         }
     }
 }