コード例 #1
0
        public ExportPayload ProcessFile(string Folder, ExportFile exportcontext)
        {
            this.ExportContext = exportcontext;
            List <object>   Data      = null;
            ExportParamater queryType = (from type in exportcontext.Paramaters
                                         where type.Name == "User_Type"
                                         select type).FirstOrDefault();

            if (queryType == null)
            {
                throw new Exception("Paramater User_Type must be set");
            }

            if (queryType.Data == null || string.IsNullOrWhiteSpace(queryType.Data.ToString()))
            {
                throw new Exception("User_Type Data set incorrectly\r\nData: " + queryType);
            }

            Data = RunQuery(queryType.Data.ToString());

            if (Data == null)
            {
                throw new Exception("User_Type Data set incorrectly\r\nData: " + queryType);
            }

            return(new ExportPayload()
            {
                FilePath = Folder + "\\" + this._ExportContext.FileName,
                ShowHeader = exportcontext.ShowHeader,
                Data = Data
            });
        }
コード例 #2
0
ファイル: Infiniti.cs プロジェクト: davidmacpherson0/CHUM
        public ExportPayload ProcessFile(string Folder, ExportFile exportcontext)
        {
            ExportParamater UserType = (from type in exportcontext.Paramaters
                                        where type.Name == "User_Type"
                                        select type).FirstOrDefault();

            ExportParamater DefaultPassword = (from pas in exportcontext.Paramaters
                                               where pas.Name == "Default_Password"
                                               select pas).FirstOrDefault();



            if (UserType == null)
            {
                throw new Exception("Paramater <User_Type> must be set");
            }

            if (DefaultPassword == null)
            {
                throw new Exception("Paramater <Default_Password> must be set");
            }

            List <object> Data = null;

            Data = RunQuery(UserType, DefaultPassword);



            if (Data == null)
            {
                throw new Exception("Paramater Data set incorrectly\r\nUser_Type Data: " + UserType.Data);
            }

            return(new ExportPayload()
            {
                FilePath = Folder + "\\" + exportcontext.FileName,
                ShowHeader = exportcontext.ShowHeader,
                Data = Data
            });
        }
コード例 #3
0
        public ExportPayload ProcessFile(string Folder, ExportFile exportFile)
        {
            ExportParamater Institution = (from para in exportFile.Paramaters
                                           where para.Name == "Institution"
                                           select para).FirstOrDefault();


            if (Institution == null)
            {
                throw new Exception("Paramater <Institution> must be set");
            }

            object TeacherFlagPara = (from para in exportFile.Paramaters
                                      where para.Name == "ExportAllTeachers"
                                      select para.Data).FirstOrDefault();


            object StudentFlagPara = (from para in exportFile.Paramaters
                                      where para.Name == "ExportAllStudents"
                                      select para.Data).FirstOrDefault();

            object ClassesFlagPara = (from para in exportFile.Paramaters
                                      where para.Name == "ExportAllClasses"
                                      select para.Data).FirstOrDefault();

            object TeacherPassword = (from para in exportFile.Paramaters
                                      where para.Name == "TeacherPassword"
                                      select para.Data).FirstOrDefault();

            object StudentPassword = (from para in exportFile.Paramaters
                                      where para.Name == "StudentPassword"
                                      select para.Data).FirstOrDefault();

            bool TeacherFlag = TeacherFlagPara != null ? (bool)TeacherFlagPara : true;
            bool StudentFlag = StudentFlagPara != null ? (bool)StudentFlagPara : true;
            bool ClassesFlag = ClassesFlagPara != null ? (bool)ClassesFlagPara : true;


            System.Diagnostics.Debug.WriteLine("Export all Teachers: " + TeacherFlag);
            System.Diagnostics.Debug.WriteLine("Export all Students: " + StudentFlag);
            System.Diagnostics.Debug.WriteLine("Export all Classes: " + ClassesFlag);
            System.Diagnostics.Debug.WriteLine("Number of Export Classes: " + this._ListofClasses.Count());
            System.Diagnostics.Debug.WriteLine("Exporting Classes:");

            if (ClassesFlag == false)
            {
                JArray array = (from para in exportFile.Paramaters
                                where para.Name == "Classes"
                                select(JArray) para.Data).FirstOrDefault();

                if (array == null)
                {
                    this._ListofClasses = new List <string>();
                }

                this._ListofClasses = new List <string>(array.Select(i => i.ToString()));


                foreach (string item in this._ListofClasses)
                {
                    System.Diagnostics.Debug.Write(item + ", ");
                }
            }

            List <object> Data = new List <object>();

            Data.AddRange(GenerateInstituionData(Institution.Data.ToString()));

            Data.AddRange(GenerateTeacherUsers(TeacherFlag, (string)TeacherPassword));
            Data.AddRange(GenerateStudentUsers(StudentFlag, (string)StudentPassword));
            Data.AddRange(GenerateClasses(ClassesFlag));

            if (TeacherFlag && StudentFlag && ClassesFlag)
            {
                Data.AddRange(GenerateMemberShips(true));
            }
            else
            {
                Data.AddRange(GenerateMemberShips(false));
            }

            Data = Convert(Data);
            System.Diagnostics.Debug.WriteLine("Total Lines: " + Data.Count());

            return(new ExportPayload()
            {
                FilePath = Folder + "\\" + exportFile.FileName,
                ShowHeader = exportFile.ShowHeader,
                QuoteField = exportFile.QuoteNoFields,
                Data = Data
            });
        }
コード例 #4
0
ファイル: Infiniti.cs プロジェクト: davidmacpherson0/CHUM
        private List <object> RunQuery(ExportParamater UserType, ExportParamater DefaultPassword)
        {
            List <object> returnvalue = new List <object>();

            using (CHUMDB context = new CHUMDB())
            {
                DBGeneric <User>      Users     = new DBGeneric <User>(context);
                DBGeneric <User_Type> UserTypes = new DBGeneric <User_Type>(context);

                User_Type UT = (from ut in UserTypes.Read()
                                where ut.Label.ToString() == UserType.Data.ToString()
                                select ut).FirstOrDefault();

                if (UT == null)
                {
                    throw new Exception("Can't Find User Type Paramater in DB: " + UserType.Data.ToString());
                }

                if (UT.Label == "Student")
                {
                    returnvalue = (from usr in Users.Read()
                                   where usr.Exit_Date == null &&
                                   usr.UserName != null &&
                                   !string.IsNullOrWhiteSpace(usr.UserName) &&
                                   usr.User_Type_ID == UT.ID
                                   orderby usr.User_Type_ID, usr.Year_Level
                                   select new
                    {
                        username = usr.UserName + "@eq.edu.au",
                        password = DefaultPassword.Data.ToString(),
                        primary_email = usr.UserName + "@eq.edu.au",
                        given_name = usr.Preferred_First_Name,
                        surname = usr.Preferred_Last_Name,
                        library_barcode = usr.ID,
                        admin_system_id = usr.ID,
                        enabled = "Y",
                        staff_member = (UT.Label == "Student" ? "N" : "Y"),
                        gender = usr.Sex,
                        form_class = usr.Form_Class ?? " ",
                        graduation_year = CalcGradYear(usr.Year_Level),
                    }).ToList <object>();
                }

                if (UT.Label == "Teacher")
                {
                    returnvalue = (from usr in Users.Read()
                                   where usr.Exit_Date == null &&
                                   usr.UserName != null &&
                                   !string.IsNullOrWhiteSpace(usr.UserName) &&
                                   usr.User_Type_ID == UT.ID
                                   orderby usr.User_Type_ID, usr.Year_Level
                                   select new
                    {
                        username = usr.UserName + "@eq.edu.au",
                        password = DefaultPassword.Data.ToString(),
                        primary_email = usr.UserName + "@eq.edu.au",
                        given_name = usr.Preferred_First_Name,
                        surname = usr.Preferred_Last_Name,
                        library_barcode = usr.Barcode,
                        admin_system_id = usr.Barcode,
                        enabled = "Y",
                        staff_member = (UT.Label == "Student" ? "N" : "Y"),
                    }).ToList <object>();
                }
            }

            return(returnvalue);
        }