public void NotificationOfApproval(Int64 bill_ID) { NotificationRepository ntf = new NotificationRepository(_context); Bill bill = new Bill(); bill = _context.Bills.Find(bill_ID); Notification _ntf = new Notification() { Emp_ID = bill.Emp_ID, Seen = false, Ntf_Body = "Bill Number " + bill.Bill_ID.ToString() + " has been approved", Ntf_Subject = "Approval of Bill", TimeStamp = DateTime.Now }; ntf.AddNotification(_ntf); Bill_FM bill_fm = new Bill_FM(); BillFMRepository bfm = new BillFMRepository(_context); bill_fm = bfm.GetByBillId(bill_ID); _ntf = new Notification(); _ntf.Emp_ID = bill_fm.Bill_FM_ID; _ntf.Ntf_Body = "New bill for financing has arrived"; _ntf.Ntf_Subject = "New Bill"; _ntf.TimeStamp = DateTime.Now; ntf.AddNotification(_ntf); return; }
/// <summary> /// Add Bill ID And Corresponding Bill Finance Manager ID /// </summary> /// <param name="BillFM">Bill_FM</param> public void AddBillFM(Bill_FM BillFM) { if (BillFM == null) { throw new ArgumentNullException(); } _context.Bill_FMs.Add(BillFM); _context.SaveChanges(); }
public Boolean AlloteFinanceManager(Int64 bill_Id, String dept_name) { Department dept; DepartmentRepository _dept = new DepartmentRepository(_context); List <Employee> list; Bill_FM bill_fm = new Bill_FM(); dept = _dept.GetByDepartName(dept_name); list = _context.Employees.Where(a => a.Dept_ID == dept.Dept_ID).ToList(); var um = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApricotContext())); var im = new IdentityManager(); Employee emp_min_bill = new Employee(); foreach (var employee in list) { var userId = um.Users.First(u => u.UserName == employee.Emp_No).Id; var userroles = um.GetRoles(userId); int n = 1000000, k; bool inrole = false; foreach (var role in userroles) { if (role == "Finance Manager") { inrole = true; break; } } if (inrole == true) { if (n > (k = _context.Bill_FMs.Where(a => a.Bill_FM_ID == employee.Emp_ID).Count())) { n = k; emp_min_bill = employee; } } } bill_fm.Bill_FM_ID = emp_min_bill.Emp_ID; bill_fm.Bill_ID = bill_Id; BillFMRepository B = new BillFMRepository(_context); B.AddBillFM(bill_fm); return(false); }
public void NotificationofComment(Int64 billID, Int64 emp_ID) { Employee emp, man, fin_man; EmployeeRepository _emp = new EmployeeRepository(_context); Bill bill = new Bill(); bill = _context.Bills.Find(billID); emp = new Employee(); emp = _emp.GetByEmpID(bill.Emp_ID); man = new Employee(); Bill_M billm = new Bill_M(); billm = _context.Bill_Ms.Where(a => a.Emp_ID == billID).Single(); man = _emp.GetByEmpID(billm.Emp_ID); fin_man = new Employee(); Bill_FM billfm = new Bill_FM(); billfm = _context.Bill_FMs.Where(a => a.Bill_ID == billID).Single(); fin_man = _emp.GetByEmpID(billfm.Bill_FM_ID); NotificationGenerationAfterComment(emp, man, fin_man, emp_ID, bill); return; }
public BillViewModel getBillDetail(Int64 id) { BillRepository billrepo = new BillRepository(_context); BillDetailRepository billdetailrepo = new BillDetailRepository(_context); BillMRepository billmrepo = new BillMRepository(_context); BillFMRepository billfmrepo = new BillFMRepository(_context); BillSCopyRepository billscopyrepo = new BillSCopyRepository(_context); BillViewModel bvm = new BillViewModel(); Bill bill = billrepo.GetByBillID(id); Bill_Detail billdetail = billdetailrepo.GetByBillID(id); Bill_M billmanager = billmrepo.GetByBillID(id); Bill_FM billfmanager = null; Bill_SCopy billscopy = null; if (bill.Bill_Status == ApricotEnums.BillSatusEnum.APPROVED || bill.Bill_Status == ApricotEnums.BillSatusEnum.CLOSED) { billfmanager = billfmrepo.GetByBillId(id); } if (billdetail.Bill_have_SCopy) { billscopy = billscopyrepo.GetByBillID(id); } bvm.BillID = bill.Bill_ID; bvm.BillStatus = bill.Bill_Status; bvm.BillAmount = billdetail.Bill_Amount; bvm.BillDate = billdetail.Bill_Date; bvm.BillSCopy = null; bvm.BillType = billdetail.Bill_Type; bvm.FManager = (billfmanager != null) ? billfmanager.FinanceManager.Emp_No : "Not Aviablable"; bvm.Manager = billmanager.Manager.Emp_Name; bvm.ModeOfPayment = billdetail.Bill_ModeOfPayment; return(bvm); }