示例#1
0
        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);
        }
示例#2
0
        static public int GetNewAdvId(int PortalId)
        {
            string NextAdvID = StaffBrokerFunctions.GetSetting("NextAdvID", PortalId);

            if (NextAdvID == "")
            {
                StaffRmbDataContext d = new StaffRmbDataContext();
                var MaxAdvID          = (from c in d.AP_Staff_AdvanceRequests  where c.PortalId == PortalId select c.LocalAdvanceId);
                if (MaxAdvID.Count() == 0)
                {
                    StaffBrokerFunctions.SetSetting("NextAdvID", "2", PortalId);
                    return(1);
                }
                else
                {
                    StaffBrokerFunctions.SetSetting("NextAdvID", (MaxAdvID.Max() + 1).ToString(), PortalId);
                    return((int)MaxAdvID.First());
                }
            }
            else
            {
                StaffBrokerFunctions.SetSetting("NextAdvID", (Convert.ToInt32(NextAdvID) + 1).ToString(), PortalId);
                return(Convert.ToInt32(NextAdvID));
            }
        }
示例#3
0
        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);
        }