public static async Task <ScheduleUser> GetUserInfo(string userToken)
        {
            var scheduleUser = new ScheduleUser {
                EmailAddress = "", IsFlightAdmin = false, IsFlightAttendant = false
            };

            try
            {
                // Get the user
                var user = await userClient.Me.Request()
                           .WithUserAssertion(new UserAssertion(userToken))
                           .GetAsync();

                scheduleUser.EmailAddress = user.Mail.ToLower();

                // Reading a user's groups requires admin permissions, so
                // use the app-only client here
                var groups = await appClient.Users[user.Id].MemberOf.Request().GetAsync();
                foreach (var obj in groups.CurrentPage)
                {
                    if (obj.ODataType == "#microsoft.graph.group")
                    {
                        var group = obj as Group;
                        if (group.DisplayName == "Flight Admins")
                        {
                            scheduleUser.IsFlightAdmin = true;
                        }

                        if (group.DisplayName == "Flight Attendants")
                        {
                            scheduleUser.IsFlightAttendant = true;
                        }

                        if (scheduleUser.IsFlightAdmin && scheduleUser.IsFlightAttendant)
                        {
                            break;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"GetUserInfo - Exception: {ex.ToString()}");
            }

            return(scheduleUser);
        }
Ejemplo n.º 2
0
        public bool CreateScheduleUser(ScheduleUserCreate model)// some logic must go here to make appointment comply with shop hours.
        {
            var entity =
                new ScheduleUser()
            {
                UserID     = _userId,
                ServiceID  = model.ServiceID,
                StartTime  = model.StartTime,
                UserName   = model.UserName,
                UserNumber = model.UserNumber
            };

            using (var ctx = new ApplicationDbContext())
            {
                ctx.ScheduleUser.Add(entity);
                return(ctx.SaveChanges() == 1);
            }
        }
Ejemplo n.º 3
0
    //---------------------------------------------------------------------------
    protected void btnQuery_Click(object sender, EventArgs e)
    {
        btnUpdate.Enabled = GetQuarterDateCount("", ""); //該季若個人班表裡沒有資料就不能作編輯(是只該日期區間有沒有資料只要日期區間不用UserID)
        btnAdd.Visible = false;
        Dictionary<string, object> dict = new Dictionary<string, object>();
        string strSql = @"
                          select convert(char(10), SchDate, 111) as SchDate,
                          periodA,periodB,periodC ,UserName,
                          Case when periodA <> '' and periodA is not null then UserName +'('+ periodA +')' end as 上午班,
                          Case when periodB <> '' and periodB is not null then UserName +'('+ periodB +')' end as 下午班,
                          Case when periodC <> '' and periodC is not null then UserName +'('+ periodC +')' end as 晚上班
                          from ScheduleDetail s
                          inner join AdminUser u on s.UserID=u.UserID
                          where 1=1
                         ";
        strSql += "and CONVERT(char(7), SchDate, 111)=@SchDate\n";
        if (ddlVoluntee.SelectedValue != "")
        {
            strSql += "and s.UserID=@UserID\n";
        }
        strSql += "order by SchDate\n";
        dict.Add("UserID", ddlVoluntee.SelectedValue);
        dict.Add("SchDate", GetYearMonth());
        DataTable dt = NpoDB.GetDataTableS(strSql, dict);

        Dictionary<string, ScheduleUser> UserList = new Dictionary<string, ScheduleUser>();
        foreach (DataRow dr in dt.Rows)
        {
            string ScheduleDate = dr["SchDate"].ToString();
            ScheduleUser User;
            if (UserList.ContainsKey(ScheduleDate))
            {
                User = UserList[ScheduleDate];
            }
            else
            {
                User = new ScheduleUser();
                UserList.Add(ScheduleDate, User);
            }
            if (dr["上午班"].ToString() != "")
            {
                User.ScheduleAM += dr["上午班"].ToString() + ",";
            }
            if (dr["下午班"].ToString() != "")
            {
                User.SchedulePM += dr["下午班"].ToString() + ",";
            }
            if (dr["晚上班"].ToString() != "")
            {
                User.ScheduleNM += dr["晚上班"].ToString() + ",";
            }
        }
        dt = CreateQueryTable(UserList);
        //需自訂欄位時
        NPOGridView npoGridView = new NPOGridView();
        npoGridView.Source = NPOGridViewDataSource.fromDataTable;
        npoGridView.dataTable = dt;
        npoGridView.Keys.Add("uid");
        npoGridView.DisableColumn.Add("uid");
        npoGridView.ShowPage = false;
        //-----------------------------------------------------------------------
        //欄位為 checkbox
        NPOGridViewColumn col = new NPOGridViewColumn("日期");
        col.ColumnType = NPOColumnType.NormalText;
        col.ColumnName.Add("日期");
        npoGridView.Columns.Add(col);
        //-------------------------------------------------------------------------
        col = new NPOGridViewColumn("星期");
        col.ColumnType = NPOColumnType.NormalText;
        col.ColumnName.Add("星期");
        npoGridView.Columns.Add(col);
        //-------------------------------------------------------------------------
        col = new NPOGridViewColumn("上午班");
        col.ColumnType = NPOColumnType.NormalText;
        col.ColumnName.Add("上午班");
        npoGridView.Columns.Add(col);
        //-------------------------------------------------------------------------
        col = new NPOGridViewColumn("下午班");
        col.ColumnType = NPOColumnType.NormalText;
        col.ColumnName.Add("下午班");
        npoGridView.Columns.Add(col);
        //-------------------------------------------------------------------------
        col = new NPOGridViewColumn("晚上班");
        col.ColumnType = NPOColumnType.NormalText;
        col.ColumnName.Add("晚上班");
        npoGridView.Columns.Add(col);
        //-------------------------------------------------------------------------
        lblGridList.Text = npoGridView.Render();
    }
Ejemplo n.º 4
0
 private void ResetNewUsers(List<ISimulationUser> NewUserList)
 {
     //给用户PriorityGene 赋值
     foreach (IUlScheduleUser user in NewUserList)
     {
         user.AccessTti = this.m_TTI;
         ScheduleUser ulScheduleUserTag = user.UlScheduleUserTag as ScheduleUser;
         if (ulScheduleUserTag == null)
         {
             ulScheduleUserTag = new ScheduleUser();
             user.UlScheduleUserTag = ulScheduleUserTag;
         }
         ulScheduleUserTag.Reset();
     }
 }
        //添加上下级关系
        public ActionResult AddUpOrDown(ScheduleUser su)
        {
            var temp = ScheduleUserService.LoadEntities(x => x.UserID == su.UserID).DefaultIfEmpty().ToList();

            if (temp.Count > 0)
            {
                if (temp[0] == null)
                {
                    var rtmp = ScheduleUserService.LoadEntities(x => x.UserID == su.UpID).DefaultIfEmpty().ToList();
                    if (rtmp.Count > 0)
                    {
                        if (rtmp[0] == null)
                        {
                            ScheduleUserService.AddEntity(su);
                            return(Json(new { ret = "ok" }, JsonRequestBehavior.AllowGet));
                        }
                        else
                        {
                            foreach (var a in rtmp)
                            {
                                if (a.UpID == su.UserID)
                                {
                                    return(Json(new { ret = "no", msg = "您所添加的下级是您所添加上级的上级,请仔细核对数据库!" }, JsonRequestBehavior.AllowGet));
                                }
                            }
                            ScheduleUserService.AddEntity(su);
                            return(Json(new { ret = "ok" }, JsonRequestBehavior.AllowGet));
                        }
                    }
                    else
                    {
                        ScheduleUserService.AddEntity(su);
                        return(Json(new { ret = "ok" }, JsonRequestBehavior.AllowGet));
                    }
                }
                else
                {
                    var rtmp = ScheduleUserService.LoadEntities(x => x.UserID == su.UpID).DefaultIfEmpty().ToList();
                    foreach (var a in temp)
                    {
                        if (a.UpID == su.UpID)
                        {
                            return(Json(new { ret = "no", msg = "您所添加的上下级关系已经存在!" }, JsonRequestBehavior.AllowGet));
                        }
                    }
                    foreach (var b in rtmp)
                    {
                        if (b.UpID == su.UserID)
                        {
                            return(Json(new { ret = "no", msg = "您所添加的下级是您所添加上级的上级,请仔细核对数据库!" }, JsonRequestBehavior.AllowGet));
                        }
                    }
                    ScheduleUserService.AddEntity(su);
                    return(Json(new { ret = "ok" }, JsonRequestBehavior.AllowGet));
                }
            }
            else
            {
                ScheduleUserService.AddEntity(su);
                return(Json(new { ret = "ok" }, JsonRequestBehavior.AllowGet));
            }
        }