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); }
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); } }
//--------------------------------------------------------------------------- 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(); }
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)); } }