Exemplo n.º 1
0
        public void DeleteSessionGroup(SessionGroup param)
        {
            RefreshContext();
            SessionGroupDAL sgd = new SessionGroupDAL();

            sgd.LogicalDelete(param);
        }
Exemplo n.º 2
0
        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);
     }
 }
Exemplo n.º 4
0
 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);
     }
 }
Exemplo n.º 5
0
        public static SessionGroup LoadSessionGroup(Stream xmlStream)
        {
            SessionGroup sessionGroup = null;

            var serializer = new XmlSerializer(typeof(SessionGroup));

            using (xmlStream)
            {
                sessionGroup = (SessionGroup)serializer.Deserialize(xmlStream);
            }

            return(sessionGroup);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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));
         }
     }
 }
Exemplo n.º 9
0
        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);
                }
            }
        }
Exemplo n.º 10
0
        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));
        }
Exemplo n.º 12
0
        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();
            }
        }
Exemplo n.º 13
0
        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;
            }
        }
Exemplo n.º 14
0
        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));
            }
        }
Exemplo n.º 15
0
 public SessionGroupEditWindow(SessionGroup sessionGroup)
 {
     InitializeComponent();
     this.DataContext = new SessionGroupEditViewModel(this, sessionGroup);
 }
Exemplo n.º 16
0
        /// <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}");
                    }
                }
            }
        }
Exemplo n.º 17
0
        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();
            }
        }