public void DeleteSessionGroup(SessionGroup param) { RefreshContext(); SessionGroupDAL sgd = new SessionGroupDAL(); sgd.LogicalDelete(param); }
private void SwitchToServiceStoreWindow(object param) { SessionGroup sg = (SessionGroup)((ListBox)param).SelectedItem; EveryServiceStoreWindow ssw = new EveryServiceStoreWindow(sg.ID, ContextTeacher); SwitchWindows(ssw); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null) { return(""); } else { SessionGroup sessionGroup = (SessionGroup)value; return(sessionGroup.Semester.SemesterName); } }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null) { return(""); } else { SessionGroup sg = (SessionGroup)value; return(sg.Teacher.Users.FullName); } }
public static SessionGroup LoadSessionGroup(Stream xmlStream) { SessionGroup sessionGroup = null; var serializer = new XmlSerializer(typeof(SessionGroup)); using (xmlStream) { sessionGroup = (SessionGroup)serializer.Deserialize(xmlStream); } return(sessionGroup); }
public void OpenSession(Guid sessionUID, DateTime startDateTime) { var utcShiftSpan = startDateTime - startDateTime.ToUniversalTime(); sbyte utcShift = (sbyte)utcShiftSpan.Hours; CurrentSessionGroup = new SessionGroup(); CurrentSession = new Session() { UID = sessionUID.ToString().ToUpper(), UtcStartDateTime = startDateTime.ToUniversalTime(), UtcShift = utcShift, }; CurrentSessionGroup.Sessions.Add(CurrentSession); }
private void CreateSessionGroup() { SessionGroup sessionGroup = new SessionGroup { TeacherID = ContextTeacher.ID }; SessionGroupEditWindow target = new SessionGroupEditWindow(sessionGroup) { Owner = this.SourceWindow }; SwitchWindows(target, true); this.SessionGroupList = ReloadActiveSessionGroupList(); this.TeamList = ReloadActiveTeamList(); this.TeamFilterList = ReloadTeamFilterList(); this.MySessionGroups = new ObservableCollection <SessionGroup>(ReloadActiveSessionGroupList().Where(x => x.TeacherID == ContextTeacher.ID)); }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { if (value == null) { return(""); } else { SessionGroup sessionGroup = (SessionGroup)value; Teacher teacher; using (var dbContext = new SMaPEntities()) { teacher = dbContext.Teacher.First(x => x.ID == sessionGroup.TeacherID); return(String.Format("{0} ({1} - {2})", sessionGroup.SessionGroupName, sessionGroup.Semester.SemesterName, teacher.Users.FullName)); } } }
private void DeleteSessionGroup(object param) { SessionGroup selectedSessionGroup = (SessionGroup)((DataGrid)param).SelectedItem; if (this.TeamList.FirstOrDefault(x => x.SessionGroupID == selectedSessionGroup.ID) != null) { MessageBox.Show("A csoporthoz tartozik csapat, ezért nem törölhető!", "Hiba", MessageBoxButton.OK, MessageBoxImage.Exclamation); } else { MessageBoxResult messageBoxResult = MessageBox.Show("Valóban törli?", "Törlés megerősítése", MessageBoxButton.YesNo, MessageBoxImage.Question); if (messageBoxResult == MessageBoxResult.Yes) { SessionGroupList.Remove(selectedSessionGroup); ((TeacherDAL)_contextDal).DeleteSessionGroup(selectedSessionGroup); } } }
public void FindSessionGroupConfigBySessionGroupUniqueIdTest() { TfsMigrationConsolidatedDBEntities target = new TfsMigrationConsolidatedDBEntities(); Guid sessionGroupUniqueId = Guid.NewGuid(); // TODO: Initialize to an appropriate value SessionGroup group = SessionGroup.CreateSessionGroup(0, sessionGroupUniqueId, "FindSessionGroupConfigBySessionGroupUniqueIdTest Group"); target.AddToSessionGroupSet(group); Guid groupConfigUniqueId1 = Guid.NewGuid(); SessionGroupConfig groupConfig1 = SessionGroupConfig.CreateSessionGroupConfig(0, DateTime.Now, 1, groupConfigUniqueId1, 1); groupConfig1.SessionGroup = group; Guid groupConfigUniqueId2 = Guid.NewGuid(); SessionGroupConfig groupConfig2 = SessionGroupConfig.CreateSessionGroupConfig(0, DateTime.Now, 1, groupConfigUniqueId2, 1); groupConfig2.SessionGroup = group; Guid groupConfigUniqueId3 = Guid.NewGuid(); SessionGroupConfig groupConfig3 = SessionGroupConfig.CreateSessionGroupConfig(0, DateTime.Now, 1, groupConfigUniqueId3, 1); groupConfig3.SessionGroup = group; target.SaveChanges(); IEnumerable <SessionGroupConfig> actual; actual = target.FindSessionGroupConfigBySessionGroupUniqueId(sessionGroupUniqueId); Assert.AreEqual(actual.Count <SessionGroupConfig>(), 3); foreach (var sgc in actual) { Guid configUniqueId = sgc.UniqueId; Assert.IsTrue( configUniqueId.Equals(groupConfigUniqueId1) || configUniqueId.Equals(groupConfigUniqueId2) || configUniqueId.Equals(groupConfigUniqueId3)); } }
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture) { string SessionGroupName = (string)values[0]; string TeamName = (string)values[1]; SessionGroupDAL sgd = new SessionGroupDAL(); SessionGroup sg = sgd.FindAll(x => x.Semester.IsActive && x.SessionGroupName == SessionGroupName).FirstOrDefault(); if (sg == null) { return(new SolidColorBrush(Colors.Red)); } TeamDAL td = new TeamDAL(); Team t = td.FindAll(x => x.TeamName == TeamName && x.SessionGroupID == sg.ID).FirstOrDefault(); if (t == null) { return(new SolidColorBrush(Colors.Red)); } return(new SolidColorBrush(Colors.Black)); }
private void ExecuteImportDataFromFile() { var openFileDialog = new OpenFileDialog() { Filter = string.Format("UAD-файлы (*.{0})|*.{0}", XmlUserActivityDataContext.UadFileExtension), Multiselect = true, }; bool?result = openFileDialog.ShowDialog(); if (result == true) { var serializer = new XmlSerializer(typeof(SessionGroup)); foreach (var stream in openFileDialog.OpenFiles()) { using (stream) { SessionGroup sessionGroup = XmlUserActivityDataContext.LoadSessionGroup(stream); SessionGroups.Add(sessionGroup); } } var newRegions = new List <RegionImageItemVM>(); foreach (var region in SessionGroups.SelectMany(sg => sg.Sessions).SelectMany(s => s.Regions)) { foreach (var image in region.Variations) { if (newRegions.FirstOrDefault(r => r.RegionName == region.Name && r.ImageName == image.Name) == null) { var newRegion = new RegionImageItemVM() { RegionName = region.Name, Image = image }; newRegions.Add(newRegion); } } } RegionSelector.Clear(); RegionSelector.AddRange(newRegions.OrderBy(r => r.RegionName)); RegionSelector.SelectedItem = RegionSelector.FirstOrDefault(); } }
private void CreateGroup(SessionGroup groupType) { flpGroup.Controls.Clear(); switch (groupType) { case SessionGroup.Personal: AddChatGroup("btnMessage", "消息", new SessionInfo(userID, btnPersonal.Tag.ToString(), SessionFunction.Message, 3)); AddChatGroup("btnFriend", "好友", new SessionInfo(userID, btnPersonal.Tag.ToString(), SessionFunction.Friend, 3)); AddChatGroup("btnGroupChat", "群聊", new SessionInfo(userID, btnPersonal.Tag.ToString(), SessionFunction.GroupChat, 3)); break; case SessionGroup.Corporation: AddChatGroup("btnMessage", "消息", new SessionInfo(userID, btnPersonal.Tag.ToString(), SessionFunction.Message, 5)); AddChatGroup("btnBusiness", "商业", new SessionInfo(userID, btnCorporation.Tag.ToString(), SessionFunction.Business, 5)); AddChatGroup("btnNonprofit", "公益", new SessionInfo(userID, btnCorporation.Tag.ToString(), SessionFunction.Nonprofit, 5)); AddChatGroup("btnAcademic", "学术", new SessionInfo(userID, btnCorporation.Tag.ToString(), SessionFunction.Academic, 5)); AddChatGroup("btnParty", "政党", new SessionInfo(userID, btnCorporation.Tag.ToString(), SessionFunction.Party, 5)); break; } }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { UsersDAL ud = new UsersDAL(); if (value.GetType() == typeof(Users)) { Users val = (Users)value; Users existingUser = new Users(); switch (parameter) { case "Email": existingUser = ud.FindAll(x => x.Email == val.Email).FirstOrDefault(); break; case "Neptun": existingUser = ud.FindAll(x => x.NEPTUN == val.NEPTUN).FirstOrDefault(); break; } if (existingUser == null) { return(new SolidColorBrush(Colors.Black)); } return(new SolidColorBrush(Colors.Red)); } else { string paramString = parameter as string; string SessionGroupName = (string)value; SessionGroupDAL sgd = new SessionGroupDAL(); SessionGroup sg = sgd.FindAll(x => x.Semester.IsActive && x.SessionGroupName == SessionGroupName).FirstOrDefault(); if (sg == null) { return(new SolidColorBrush(Colors.Red)); } return(new SolidColorBrush(Colors.Black)); } }
public SessionGroupEditWindow(SessionGroup sessionGroup) { InitializeComponent(); this.DataContext = new SessionGroupEditViewModel(this, sessionGroup); }
/// <summary> /// タイムテーブルの本体部分の書き出しを行います。 /// </summary> /// <param name="sw"></param> /// <param name="sessionGroup"></param> /// <returns></returns> private async Task WriteTimetableBodyAsync(StreamWriter sw, SessionGroup sessionGroup) { await sw.WriteLineAsync($""); await sw.WriteLineAsync($""); await sw.WriteLineAsync($" .schedule"); await sw.WriteLineAsync($" h2.schedule_title#{sessionGroup.SesisonGroupFlagments} {sessionGroup.SessionGroup1} - {sessionGroup.SessionGroupName}"); await sw.WriteLineAsync($" .tab-content"); await sw.WriteLineAsync($" .tab-pane.active"); await sw.WriteLineAsync($" .scheduleTable"); foreach (var sg in sessionGroup.Session.OrderBy(s => s.TimetableOrder)) { var sessionTime = sg.SessionEnd - sg.SessionStart; foreach (var author in sg.Author) { var speaker = author.Speaker; var speakerName = GetSpeakerName(speaker); if (author.Order == 1) { // セッション情報へのリンク先 var sessionLink = string.IsNullOrWhiteSpace(sg.DirectLink) == false ? sg.DirectLink : string.IsNullOrWhiteSpace(sg.SessionNo3) == false ? $"../sessions/{sg.SessionStart.AddMonths(-1):yyyy/MM/dd}/session{sg.SessionNo}/" : string.Empty; // セッション情報のaタグ var sessionUrlAnchorTag = string.IsNullOrEmpty(sessionLink) ? "|" : $"a href=\"{sessionLink}\" [{sg.SessionNo}]"; var speakerImageUrl = string.IsNullOrWhiteSpace(speaker.ImageUrl) ? "/assets/images/speakers/blank_user.png" : speaker.ImageUrl; await sw.WriteLineAsync($" .scheduleTable_line"); await sw.WriteLineAsync($" .scheduleTable_line_time "); await sw.WriteLineAsync($" | {sg.SessionStart.Date:yyyy-MM-dd}"); await sw.WriteLineAsync($" br/"); await sw.WriteLineAsync($" | {sg.SessionStart:HH:mm} - {sg.SessionEnd:HH:mm}"); await sw.WriteLineAsync($" .scheduleTable_line_time_min {sessionTime.TotalMinutes}min"); await sw.WriteLineAsync($" .scheduleTable_line_session"); await sw.WriteLineAsync($" .scheduleTable_line_speakerIcon "); await sw.WriteLineAsync($" img src=\"../assets/images/speakers/blank_user.png\" data-echo=\"..{speakerImageUrl}\" width=\"100\" height=\"100\" alt=\"{speakerName}\""); await sw.WriteLineAsync($" .scheduleTable_line_descriptions"); await sw.WriteLineAsync($" .scheduleTable_line_title "); await sw.WriteLineAsync($" {sessionUrlAnchorTag}{sg.Title}"); await sw.WriteLineAsync($" .scheduleTable_line_speaker {speakerName}"); } else { await sw.WriteLineAsync($" .scheduleTable_line"); await sw.WriteLineAsync($" .scheduleTable_line_time "); await sw.WriteLineAsync($" .scheduleTable_line_session"); await sw.WriteLineAsync($" .scheduleTable_line_speakerIcon "); await sw.WriteLineAsync($" img src=\"../assets/images/speakers/blank_user.png\" data-echo=\"..{speaker.ImageUrl}\" width=\"100\" height=\"100\" alt=\"{speakerName}\""); await sw.WriteLineAsync($" .scheduleTable_line_descriptions"); await sw.WriteLineAsync($" .scheduleTable_line_speaker {speakerName}"); } } } }
private void ImportStudents() { bool duplicateError = false; bool sessionGroupMissing = false; bool teamMissing = false; List <Users> userList = new List <Users>(); foreach (DataRow item in Table.Rows) { userList.Add((Users)item["User"]); } var NEPTUNDuplicates = userList.GroupBy(x => x.NEPTUN).Select(c => new { Key = c.Key, total = c.Count() }); var MailDuplicates = userList.GroupBy(x => x.Email).Select(c => new { Key = c.Key, total = c.Count() }); foreach (var item in NEPTUNDuplicates) { if (item.total > 1) { duplicateError = true; break; } } foreach (var item in MailDuplicates) { if (item.total > 1) { duplicateError = true; break; } } UsersDAL ud = new UsersDAL(); SessionGroupDAL sgd = new SessionGroupDAL(); TeamDAL td = new TeamDAL(); foreach (DataRow item in Table.Rows) { Users rowUser = ((Users)item["User"]); string sessiongroupName = (string)item["SessionGroup"]; string teamName = (string)item["Team"]; duplicateError = duplicateError || ud.FindAll().Exists(x => x.Email == rowUser.Email); duplicateError = duplicateError || ud.FindAll().Exists(x => x.Email == rowUser.NEPTUN); SessionGroup sg = sgd.FindAll(x => x.Semester.IsActive && x.SessionGroupName == sessiongroupName).FirstOrDefault(); sessionGroupMissing = sessionGroupMissing || (sg == null); teamMissing = teamMissing || sessionGroupMissing; if (!teamMissing) { Team t = td.FindAll(x => x.SessionGroupID == sg.ID && x.TeamName == teamName).FirstOrDefault(); teamMissing = teamMissing || (t == null); } } string errorMessage = ""; if (duplicateError) { errorMessage += "\nAz állományban több azonos, vagy a rendszerben már szereplő E-mail cím vagy NEPTUN kód szerepel!"; } if (sessionGroupMissing) { errorMessage += "\nAz állományban nem létező csoport szerepel!"; } if (teamMissing) { errorMessage += "\nAz állományban nem létező csapat szerepel!"; } if (!String.IsNullOrEmpty(errorMessage)) { MessageBox.Show("Hiba az importált adatokban!" + errorMessage, "Hiba", MessageBoxButton.OK, MessageBoxImage.Exclamation); } else { foreach (DataRow item in Table.Rows) { string sessionGroupName = (string)item["SessionGroup"]; string teamName = (string)item["Team"]; SessionGroup sg = sgd.FindAll(x => x.Semester.IsActive && x.SessionGroupName == sessionGroupName).FirstOrDefault(); Team t = td.FindAll(x => x.SessionGroupID == sg.ID && x.TeamName == teamName).FirstOrDefault(); Student st = new Student() { TeamID = t.ID }; Users u = (Users)item["User"]; u.IsPasswordChangeRequired = true; ud.Create(u); st.UserID = u.ID; u.Student.Add(st); ud.Update(u); MailSender.SendMail(u.Email); } MessageBox.Show("Sikeres importálás!", "", MessageBoxButton.OK); this.Close(); } }