static public int AuthenticateAdv(int UserId, int AdvanceId, int PortalId) { StaffRmbDataContext d = new StaffRmbDataContext(); var adv = from c in d.AP_Staff_AdvanceRequests where c.AdvanceId == AdvanceId && c.PortalId == PortalId select c; if (adv.Count() > 0) { if (adv.First().UserId == UserId) { return(RmbAccess.Owner); } else if (adv.First().ApproverId == UserId) { return(RmbAccess.Approver); } else { var spouseId = StaffBrokerFunctions.GetSpouseId(UserId); if (adv.First().UserId == spouseId) { return(RmbAccess.Spouse); } else { var team = from c in StaffBrokerFunctions.GetTeam(UserId) select c.UserID; if (team.Contains((int)(adv.First().UserId))) { return(RmbAccess.Approver); } } } } return(RmbAccess.Denied); }
static public int Authenticate(int UserId, int RmbNo, int PortalId) { StaffRmbDataContext d = new StaffRmbDataContext(); var rmb = from c in d.AP_Staff_Rmbs where c.RMBNo == RmbNo && c.PortalId == PortalId select c; if (rmb.Count() > 0) { if (rmb.First().UserId == UserId) { return(RmbAccess.Owner); } else if (rmb.First().ApprUserId == UserId) { return(RmbAccess.Approver); } else { var spouseId = StaffBrokerFunctions.GetSpouseId(UserId); if (rmb.First().UserId == spouseId) { return(RmbAccess.Spouse); } else { var team = from c in StaffBrokerFunctions.GetTeam(UserId) select c.UserID; string pcc = StaffBrokerFunctions.GetStaffMember(UserId).CostCenter; if (rmb.First().CostCenter == pcc) { if (team.Contains(rmb.First().UserId)) { return(RmbAccess.Approver); } } else { var depts = from c in StaffBrokerFunctions.GetDepartments(UserId) select c.CostCentre; if (depts.Contains(rmb.First().CostCenter)) { return(RmbAccess.Approver); } else if (team.Contains(rmb.First().UserId)) { return(RmbAccess.Leader); } } } } } return(RmbAccess.Denied); }