public long GetUserId(string name) { using (var dac = new EmployeeDac()) { return(dac.GetUserId(name)); } }
public IList <LeaveTransactionDetail> GetTransactionLog(string Name, string RequestMenuUser, long leadUserId) { IList <LeaveTransactionDetail> retModel = new List <LeaveTransactionDetail>(); LeaveDac lv = new LeaveDac(); IList <Int64> empList = lv.GetEmployeesReporting(leadUserId); try { using (var context = new NLTDDbContext()) { EmployeeDac employeeDac = new EmployeeDac(); long userId = 0; if (RequestMenuUser != "My") { userId = employeeDac.GetUserId(Name); } if (userId > 0 || (RequestMenuUser == "My" && leadUserId > 0)) { string ReportingTo = (RequestMenuUser == "My" && leadUserId > 0) ? employeeDac.ReportingToName(leadUserId) : employeeDac.ReportingToName(userId); List <LeaveTransactionHistoryModel> transactionDetails = new List <LeaveTransactionHistoryModel>(); if (RequestMenuUser == "My") { transactionDetails = GetTransactionDetails(context, leadUserId); } if (RequestMenuUser == "Team") { string leadRole = employeeDac.GetEmployeeRole(leadUserId); if (leadRole == "ADMIN" || leadRole == "HR") { transactionDetails = GetTransactionDetails(context, userId); } else { var user = empList.Where(x => x == userId).FirstOrDefault(); if (user > 0) { transactionDetails = GetTransactionDetails(context, userId); } } } var groupedLeaveList = transactionDetails.GroupBy(u => u.LeaveTypeId) .Select(grp => new { LeaveTypeId = grp.Key, leaveTransactionHistoryModel = grp.ToList() }) .ToList(); retModel = (from gv in groupedLeaveList select new LeaveTransactionDetail { ReportingTo = ReportingTo, LeaveTypeId = gv.LeaveTypeId, LeaveType = gv.leaveTransactionHistoryModel[0].Type, leaveTransactionHistoryModel = gv.leaveTransactionHistoryModel }).ToList(); } } } catch (Exception) { throw; } return(retModel); }