public void ONInsertOrUpdate(AprajitaRetailsContext db, Attendance attendance, bool isDeleted, bool isUpdated)
 {
     try
     {
         if (!isDeleted && !isUpdated)
         {
             var sName = db.Employees.Find(attendance.EmployeeId).StaffName;
             if (attendance.Status != AttUnits.Present)
             {
                 MyMail.SendEmail(sName + " Attendance Report status.", sName + " is not present and current status is " + attendance.Status + " on date " + attendance.AttDate, "*****@*****.**");
             }
             else if (attendance.Status == AttUnits.Sunday)
             {
                 //TODO: do Some  things
             }
             HRMBot.NotifyStaffAttandance(db, sName, attendance.AttendanceId, attendance.Status, attendance.EntryTime);
         }
         else if (isDeleted)
         {
             var sName = db.Employees.Find(attendance.EmployeeId).StaffName;
             MyMail.SendEmail(sName + " Attendance Report status for delete.", sName + " is deleted and current status was " + attendance.Status + " on date " + attendance.AttDate, "*****@*****.**");
         }
         else if (isUpdated)
         {
             var sName  = db.Employees.Find(attendance.EmployeeId).StaffName;
             var before = db.Attendances.Where(c => c.AttendanceId == attendance.AttendanceId).Select(c => c.Status).FirstOrDefault();
             MyMail.SendEmail(sName + " Attendance Report  status for Updated Record. It was " + before, sName + " is updated and current status is " + attendance.Status + " on date " + attendance.AttDate, "*****@*****.**");
             HRMBot.NotifyStaffAttandance(db, sName, attendance.AttendanceId, attendance.Status, attendance.EntryTime);
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("Error :" + ex.Message);
     }
 }
        public void OnUpdate(AprajitaRetailsContext db, StaffAdvancePayment salPayment)
        {
            var old = db.StaffAdvancePayments.Where(c => c.StaffAdvancePaymentId == salPayment.StaffAdvancePaymentId).Select(d => new { d.Amount, d.PaymentDate, d.PayMode }).FirstOrDefault();

            if (old != null)
            {
                UpdateOutAmount(db, old.Amount, old.PayMode, old.PaymentDate, true);
            }
            UpdateOutAmount(db, salPayment.Amount, salPayment.PayMode, salPayment.PaymentDate, false);
            HRMBot.NotifyStaffPayment(db, "", salPayment.EmployeeId, salPayment.Amount, "Advance Payment: " + salPayment.Details);
        }
 public void OnInsert(AprajitaRetailsContext db, SalaryPayment salPayment)
 {
     UpdateOutAmount(db, salPayment.Amount, salPayment.PayMode, salPayment.PaymentDate, false);
     HRMBot.NotifyStaffPayment(db, "", salPayment.EmployeeId, salPayment.Amount, "Salary payment for month of " + salPayment.SalaryMonth + "  details: " + salPayment.Details);
     ;
 }
 public void OnInsert(AprajitaRetailsContext db, StaffAdvancePayment salPayment)
 {
     UpdateOutAmount(db, salPayment.Amount, salPayment.PayMode, salPayment.PaymentDate, false);
     HRMBot.NotifyStaffPayment(db, "", salPayment.EmployeeId, salPayment.Amount, "Advance Payment: " + salPayment.Details);
 }