static public Approvers getAdvApprovers(AP_Staff_AdvanceRequest adv, double LargeTransaction, DotNetNuke.Entities.Users.UserInfo authUser, DotNetNuke.Entities.Users.UserInfo authAuthUser) { StaffBroker.StaffBrokerDataContext dStaff = new StaffBroker.StaffBrokerDataContext(); Approvers rtn = new Approvers(); var st = StaffBrokerFunctions.GetStaffMember((int)adv.UserId); rtn.Name = st.DisplayName; int SpouseId = StaffBrokerFunctions.GetSpouseId((int)adv.UserId); rtn.AmountSpecial = ((double)adv.RequestAmount) > LargeTransaction; rtn.SpouseSpecial = false; rtn.UserIds = new List <DotNetNuke.Entities.Users.UserInfo>(); var app2 = StaffBrokerFunctions.GetLeaders((int)adv.UserId, true); rtn.SpouseSpecial = (app2.Count() == 1 && ((app2.First() == SpouseId) || (app2.First() == (int)adv.UserId))); if (rtn.AmountSpecial || rtn.SpouseSpecial || app2.Count() == 0) { rtn.UserIds.Add(authUser.UserID == adv.UserId ? authAuthUser : authUser); if (app2.Contains((authUser.UserID == adv.UserId ? (authAuthUser.UserID) : authUser.UserID))) { rtn.AmountSpecial = false; } } else { foreach (int i in (from c in app2 where c != adv.UserId && c != SpouseId select c)) { rtn.UserIds.Add(DotNetNuke.Entities.Users.UserController.GetUserById(adv.PortalId, i)); } } return(rtn); }
public static Approvers getApprovers(AP_Staff_Rmb rmb, DotNetNuke.Entities.Users.UserInfo authUser, DotNetNuke.Entities.Users.UserInfo authAuthUser) { StaffBroker.StaffBrokerDataContext dStaff = new StaffBroker.StaffBrokerDataContext(); Approvers rtn = new Approvers(); var st = StaffBrokerFunctions.GetStaffMember(rmb.UserId); rtn.Name = st.DisplayName; int SpouseId = StaffBrokerFunctions.GetSpouseId(rmb.UserId); rtn.AmountSpecial = (from c in rmb.AP_Staff_RmbLines where c.LargeTransaction == true select c).Count() > 0; rtn.isDept = (rmb.CostCenter != st.CostCenter); rtn.SpouseSpecial = false; rtn.UserIds = new List<DotNetNuke.Entities.Users.UserInfo>(); if (rtn.isDept) { var cc = from c in dStaff.AP_StaffBroker_Departments where (c.CostCentre == rmb.CostCenter) && c.PortalId == rmb.PortalId select c; rtn.CCMSpecial = (from c in cc where ((c.CostCentreManager == null && c.CostCentreDelegate == null) == false) && ( ((c.CostCentreManager != rmb.UserId) && (c.CostCentreManager != SpouseId)) || ((c.CostCentreDelegate != rmb.UserId) && (c.CostCentreDelegate != SpouseId)) ) select c.CostCenterId).Count() == 0; if(rtn.CCMSpecial && !(cc.First().CostCentreManager==null && cc.First().CostCentreDelegate==null)) { //Try to add the CCM's own Team Leader instead of auth User var app2 = StaffBrokerFunctions.GetLeaders(rmb.UserId, true); foreach (int i in (from c in app2 where c != rmb.UserId && c != SpouseId select c)) rtn.UserIds.Add(DotNetNuke.Entities.Users.UserController.GetUserById(rmb.PortalId, i)); } if ((rtn.CCMSpecial && rtn.UserIds.Count()==0 )|| rtn.AmountSpecial || rtn.SpouseSpecial) { rtn.UserIds.Clear(); rtn.UserIds.Add(authUser.UserID == rmb.UserId ? authAuthUser : authUser); if (cc.First().CostCentreManager == rtn.UserIds.First().UserID || cc.First().CostCentreDelegate == rtn.UserIds.First().UserID) { rtn.AmountSpecial = false; rtn.CCMSpecial = false; } } else { if (cc.First().CostCentreManager != rmb.UserId && cc.First().CostCentreManager != SpouseId && cc.First().CostCentreManager != null) rtn.UserIds.Add(DotNetNuke.Entities.Users.UserController.GetUserById(rmb.PortalId, (int)cc.First().CostCentreManager)); if (cc.First().CostCentreDelegate != rmb.UserId && cc.First().CostCentreDelegate != SpouseId && cc.First().CostCentreDelegate != null) rtn.UserIds.Add(DotNetNuke.Entities.Users.UserController.GetUserById(rmb.PortalId, (int)cc.First().CostCentreDelegate)); } if (cc.Count() > 0) rtn.Name = cc.First().Name; } else { rtn.CCMSpecial = false; var app2 = StaffBrokerFunctions.GetLeaders(rmb.UserId, true); rtn.SpouseSpecial = (app2.Count() == 1 && ((app2.First() == SpouseId) || (app2.First() == rmb.UserId))); if (rtn.AmountSpecial || rtn.SpouseSpecial || app2.Count() == 0) { rtn.UserIds.Add(authUser.UserID == rmb.UserId ? authAuthUser : authUser); if (app2.Contains(rtn.UserIds.First().UserID)) { rtn.AmountSpecial = false; } } else { foreach (int i in (from c in app2 where c != rmb.UserId && c != SpouseId select c)) rtn.UserIds.Add(DotNetNuke.Entities.Users.UserController.GetUserById(rmb.PortalId, i)); } } if(rtn.UserIds.Count()==0) rtn.UserIds.Add(authUser.UserID == rmb.UserId ? authAuthUser : authUser); return rtn; }
public static Approvers getAdvApprovers(AP_Staff_AdvanceRequest adv, double LargeTransaction, DotNetNuke.Entities.Users.UserInfo authUser, DotNetNuke.Entities.Users.UserInfo authAuthUser) { StaffBroker.StaffBrokerDataContext dStaff = new StaffBroker.StaffBrokerDataContext(); Approvers rtn = new Approvers(); var st = StaffBrokerFunctions.GetStaffMember((int)adv.UserId ); rtn.Name = st.DisplayName; int SpouseId = StaffBrokerFunctions.GetSpouseId((int)adv.UserId); rtn.AmountSpecial = ((double)adv.RequestAmount)>LargeTransaction ; rtn.SpouseSpecial = false; rtn.UserIds = new List<DotNetNuke.Entities.Users.UserInfo>(); var app2 = StaffBrokerFunctions.GetLeaders((int)adv.UserId, true); rtn.SpouseSpecial = (app2.Count() == 1 && ((app2.First() == SpouseId) || (app2.First() == (int)adv.UserId))); if (rtn.AmountSpecial || rtn.SpouseSpecial || app2.Count() == 0) { rtn.UserIds.Add(authUser.UserID == adv.UserId ? authAuthUser : authUser); if (app2.Contains((authUser.UserID == adv.UserId ? (authAuthUser.UserID) : authUser.UserID))) { rtn.AmountSpecial = false; } } else { foreach (int i in (from c in app2 where c != adv.UserId && c != SpouseId select c)) rtn.UserIds.Add(DotNetNuke.Entities.Users.UserController.GetUserById(adv.PortalId, i)); } return rtn; }
static public Approvers getApprovers(AP_Staff_Rmb rmb, DotNetNuke.Entities.Users.UserInfo authUser, DotNetNuke.Entities.Users.UserInfo authAuthUser) { StaffBroker.StaffBrokerDataContext dStaff = new StaffBroker.StaffBrokerDataContext(); Approvers rtn = new Approvers(); var st = StaffBrokerFunctions.GetStaffMember(rmb.UserId); rtn.Name = st.DisplayName; int SpouseId = StaffBrokerFunctions.GetSpouseId(rmb.UserId); rtn.AmountSpecial = (from c in rmb.AP_Staff_RmbLines where c.LargeTransaction == true select c).Count() > 0; rtn.isDept = (rmb.CostCenter != st.CostCenter); rtn.SpouseSpecial = false; rtn.UserIds = new List <DotNetNuke.Entities.Users.UserInfo>(); if (rtn.isDept) { var cc = from c in dStaff.AP_StaffBroker_Departments where (c.CostCentre == rmb.CostCenter) && c.PortalId == rmb.PortalId select c; rtn.CCMSpecial = (from c in cc where ((c.CostCentreManager == null && c.CostCentreDelegate == null) == false) && ( ((c.CostCentreManager != rmb.UserId) && (c.CostCentreManager != SpouseId)) || ((c.CostCentreDelegate != rmb.UserId) && (c.CostCentreDelegate != SpouseId)) ) select c.CostCenterId).Count() == 0; if (rtn.CCMSpecial || rtn.AmountSpecial || rtn.SpouseSpecial) { rtn.UserIds.Add(authUser.UserID == rmb.UserId ? authAuthUser : authUser); if (cc.First().CostCentreManager == rtn.UserIds.First().UserID || cc.First().CostCentreDelegate == rtn.UserIds.First().UserID) { rtn.AmountSpecial = false; rtn.CCMSpecial = false; } } else { if (cc.First().CostCentreManager != rmb.UserId && cc.First().CostCentreManager != SpouseId && cc.First().CostCentreManager != null) { rtn.UserIds.Add(DotNetNuke.Entities.Users.UserController.GetUserById(rmb.PortalId, (int)cc.First().CostCentreManager)); } if (cc.First().CostCentreDelegate != rmb.UserId && cc.First().CostCentreDelegate != SpouseId && cc.First().CostCentreDelegate != null) { rtn.UserIds.Add(DotNetNuke.Entities.Users.UserController.GetUserById(rmb.PortalId, (int)cc.First().CostCentreDelegate)); } } if (cc.Count() > 0) { rtn.Name = cc.First().Name; } } else { rtn.CCMSpecial = false; var app2 = StaffBrokerFunctions.GetLeaders(rmb.UserId, true); rtn.SpouseSpecial = (app2.Count() == 1 && ((app2.First() == SpouseId) || (app2.First() == rmb.UserId))); if (rtn.AmountSpecial || rtn.SpouseSpecial || app2.Count() == 0) { rtn.UserIds.Add(authUser.UserID == rmb.UserId ? authAuthUser : authUser); if (app2.Contains(rtn.UserIds.First().UserID)) { rtn.AmountSpecial = false; } } else { foreach (int i in (from c in app2 where c != rmb.UserId && c != SpouseId select c)) { rtn.UserIds.Add(DotNetNuke.Entities.Users.UserController.GetUserById(rmb.PortalId, i)); } } } if (rtn.UserIds.Count() == 0) { rtn.UserIds.Add(authUser.UserID == rmb.UserId ? authAuthUser : authUser); } return(rtn); }