Esempio n. 1
0
        public async Task <(bool IsTrue, string Msg)> ApproveAdmission(Admission admission)
        {
            using (_context)
            {
                using (var transaction = _context.Database.BeginTransaction())
                {
                    _context.Entry(admission).State = EntityState.Modified;
                    StudentLedger studentLedger = new StudentLedger()
                    {
                        Title     = "Account Opened",
                        Debit     = 0,
                        Credit    = 0,
                        Balance   = 0,
                        IP        = admission.IP,
                        Agent     = admission.Agent,
                        Latitude  = admission.Location,
                        Longitude = admission.Location,
                        StudentId = admission.StudentID
                    };
                    _context.StudentLedgers.Add(studentLedger);
                    try
                    {
                        await _context.SaveChangesAsync();

                        var Ledger = await _context.StudentLedgers.Where(x => x.StudentId == admission.StudentID).SingleOrDefaultAsync();

                        if (Ledger == null)
                        {
                            transaction.Rollback();
                            return(false, "Unable To Find Ledger");
                        }
                        else
                        {
                            StudentLedgerTransaction studentLedgerTransaction = new StudentLedgerTransaction()
                            {
                                Title           = "Account Opened",
                                Debit           = 0,
                                Credit          = 0,
                                Balance         = 0,
                                IP              = admission.IP,
                                Agent           = admission.Agent,
                                Latitude        = admission.Location,
                                Longitude       = admission.Location,
                                StudentLedgerId = Ledger.Id
                            };
                            _context.StudentLedgerTransactions.Add(studentLedgerTransaction);
                            await _context.SaveChangesAsync();

                            transaction.Commit();
                            return(true, Result.Success);
                        }
                    }
                    catch (Exception exc)
                    {
                        return(false, Error.GetDetail(exc));
                    }
                }
            }
        }
Esempio n. 2
0
 public async Task <(bool IsTrue, string ResponseMsg)> Add(StudentLedgerTransaction studentLedgerTransaction)
 {
     _context.StudentLedgerTransactions.Add(studentLedgerTransaction);
     try
     {
         return(await _context.SaveChangesAsync() > 0, Result.Success);
     }
     catch (Exception exc)
     {
         return(false, Error.GetDetail(exc));
     }
 }