Ejemplo n.º 1
0
        public void SendBadge(BadgeInstance badge)
        {
            badge.award_timestamp = DateTime.Now;
            SQLService database = new SQLService();

            database.AssignAward(badge);
        }
Ejemplo n.º 2
0
        public void AssignAward(BadgeInstance awardedbadge)
        {
            using (var db = connect()) {
                db.Execute(ScriptService.Scripts["awardedbadge_insert"], awardedbadge);
            }
            EmailService email = new EmailService();

            email.Contact(awardedbadge);
        }
Ejemplo n.º 3
0
 public void UpdateAwardCoordinates(int award_id, int xcoord, int ycoord)
 {
     using (var db = connect()) {
         BadgeInstance awardedbadge = new BadgeInstance();
         awardedbadge.award_id     = award_id;
         awardedbadge.award_xcoord = xcoord;
         awardedbadge.award_ycoord = ycoord;
         db.Execute(ScriptService.Scripts["awardedbadge_updatecoordinates"], awardedbadge);
     }
 }
        public void sendemail()
        {
            SQLService sql = new SQLService();

            if (sql.GetBadgeById(99) == null || !(sql.GetBadgeById(99).badge_id == 99))
            {
                BadgeType bt = new BadgeType()
                {
                    badge_id = 99, badge_activeDate = DateTime.Now, badge_expirationDate = DateTime.MaxValue, badge_name = "email badge", badge_description = "testing email", badge_gifURL = "http://www.oc.edu/academics/graduate/theology/images/digital-badge-images/student-peer-badges/animated-gifs/104%20Super%20Proofer.gif", badge_active = true, badge_level = BadgeType.Badge_Level.CORE
                };
                sql.AddBadgeWithId(bt);
            }
            User u = new User()
            {
                user_active = true, user_email = "*****@*****.**", user_id = 99, user_name = "email user"
            };

            if (sql.GetUserById(99) == null || !(sql.GetUserById(99).user_id == 99))
            {
                sql.AddUserWithId(u);
            }
            if (sql.GetStudentById(99) == null || !(sql.GetStudentById(99).user_id == 99))
            {
                Student s = new Student()
                {
                    student_id = "1234567", student_dateEnrolled = DateTime.Now, student_dateGraduated = DateTime.MaxValue
                };
                s.mapUser(u);
                sql.AddStudent(s);
            }

            BadgeInstance bi = new BadgeInstance()
            {
                award_comment = "this is testing email", award_sentid = 99, user_id = 99, badge_id = 99, award_timestamp = DateTime.Now
            };

            sql.AssignAward(bi);

            EmailService service = new EmailService();

            service.Contact(bi);
        }
Ejemplo n.º 5
0
        public ActionResult SendBadge()
        {
            BadgeInstance badge = new BadgeInstance();

            var        user_name = User.Identity.Name;
            SQLService database  = new SQLService();
            var        user      = database.GetActiveUserByEmail(user_name);

            ViewBag.User  = user;
            ViewBag.Badge = badge;

            if (Request.IsAjaxRequest())
            {
                return(PartialView("SendBadge"));
            }
            else
            {
                return(View(badge));
            }
        }
Ejemplo n.º 6
0
        public string Contact(BadgeInstance awardedBadge)
        {
            SQLService db = new SQLService();

            User      senduser    = db.GetActiveUserById((int)awardedBadge.award_sentid);
            User      recieveuser = db.GetActiveUserById((int)awardedBadge.user_id);
            BadgeType badge       = db.GetBadgeById((int)awardedBadge.badge_id);

            var body = "<p>You recieved a badge from {0} ({1})</p>" +
                       "<p>You recived: {2}<br/>" +
                       "Reson: {3}<br/>" +
                       "<img src={4}></p>" +
                       "<p>{0} wanted to tell you \"{5}\"</p>";
            var message = new MailMessage();

            message.To.Add(new MailAddress(recieveuser.user_email));
            message.From       = new MailAddress(senduser.user_email);
            message.Subject    = "You recieved a new badge from " + senduser.user_name + "!";
            message.Body       = string.Format(body, senduser.user_name, senduser.user_email, badge.badge_name, badge.badge_description, badge.badge_gifURL, awardedBadge.award_comment);
            message.IsBodyHtml = true;

            try {
                using (var smtp = new SmtpClient()) {
                    var credential = new NetworkCredential {
                        UserName = "******",                            //TESTING ACCOUNT
                        Password = "******"
                    };
                    smtp.Credentials = credential;
                    smtp.Host        = "smtp.gmail.com";
                    smtp.Port        = 587;
                    smtp.EnableSsl   = true;

                    smtp.Send(message);
                }
            } catch (Exception e) {
                return("<span style='color:red'>fail</span> <br/>[reason:] " + e.Message);
            }
            return("<span style='color:green'>success</span>");
        }
Ejemplo n.º 7
0
 public void RevokeAward(BadgeInstance awardedbadge)
 {
     using (var db = connect()) {
         db.Execute(ScriptService.Scripts["awardedbadge_delete"], awardedbadge);
     }
 }
Ejemplo n.º 8
0
 public void UpdateAwardCoordinates(BadgeInstance awardedbadge)
 {
     using (var db = connect()) {
         db.Execute(ScriptService.Scripts["awardedbadge_updatecoordinates"], awardedbadge);
     }
 }
        public string SelfTest()
        {
            string       debug = "";
            SQLService   sql   = new SQLService();
            EmailService em    = new EmailService();

            try {
                debug += "Rebuilding: ";
                debug += Reset() + "<br/>";

                debug += "<br/><br/>Adding user: id='1' name='test user'<br/>result: ";
                sql.AddUserWithId(new User()
                {
                    user_id = 1, user_name = "test user", user_email = "*****@*****.**", user_token = "usertoken"
                });
                debug += sql.GetUserById(1);

                debug += "<br/><br/>Adding faculty: id='2', name='test faculty'<br/>result: ";
                sql.AddFaculty(new Faculty()
                {
                    user_id = 2, user_name = "test faculty", user_email = "*****@*****.**", user_token = "facultytoken", user_type = 'f', faculty_department = "testing", faculty_position = "tester"
                });
                debug += sql.GetFacultyById(2);

                debug += "<br/><br/>Adding administrator: id='3', name='test admin'<br/>result: ";
                sql.AddAdministrator(new Administrator()
                {
                    user_id = 3, user_name = "test admin", user_email = "*****@*****.**", user_token = "admintoken", user_type = 'a', administrator_permLevel = 1
                });
                debug += sql.GetAdministratorById(3);

                debug += "<br/><br/>Making user id='1' a student<br/>result: ";
                sql.AddStudent(new Student()
                {
                    user_id = 1, student_id = "1234567", student_dateEnrolled = DateTime.Now, student_dateGraduated = DateTime.MaxValue
                });
                debug += sql.GetStudentById(1);

                debug += "<br/><br/>Adding 2 new users without specifying ID:";
                sql.AddUserWithoutId(new User()
                {
                    user_name = "test user4", user_email = "*****@*****.**", user_token = "user4token"
                });
                debug += "<br/>result 1:" + sql.GetUserById(4);
                sql.AddUserWithoutId(new User()
                {
                    user_name = "test user5", user_email = "*****@*****.**", user_token = "user5token"
                });
                debug += "<br/>result 2:" + sql.GetUserById(5);

                debug += "<br/><br/>Updating user who has user_id = 1 to \"Test Student\"<br/>result: ";
                User u = sql.GetUserById(1);
                u.user_name  = "Test Student";
                u.user_email = "*****@*****.**";
                u.user_token = "changedtoken";
                sql.UpdateUser(u);
                debug += sql.GetUserById(1);

                debug += "<br/><br/>Adding a badge\"test badge\" with id 1<br/>result: ";
                sql.AddBadgeWithId(new BadgeType()
                {
                    badge_id = 1, badge_name = "test badge", badge_description = "a test badge", badge_level = BadgeType.Badge_Level.CORE, badge_activeDate = DateTime.Now, badge_expirationDate = DateTime.MaxValue, badge_gifURL = "http://www.oc.edu/academics/graduate/theology/images/digital-badge-images/faculty-student-badges/animated-gif-images/304%20Quality%20Commenter.gif"
                });
                debug += sql.GetBadgeById(1);

                debug += "<br/><br/>Adding another  badge\"test badge2\" without specific id<br/>result: ";
                sql.AddBadgeWithoutId(new BadgeType()
                {
                    badge_name = "test badge 2", badge_description = "a second test badge", badge_level = BadgeType.Badge_Level.CORE, badge_activeDate = DateTime.Now, badge_expirationDate = DateTime.MaxValue
                });
                debug += sql.GetBadgeById(2);

                debug += "<br/><br/>Awarding badge_id = 1 to user_id = 1<br/>result: ";
                BadgeInstance awardedBadge = new BadgeInstance()
                {
                    badge_id = 1, award_sentid = 2, award_comment = "this is a test award", award_timestamp = DateTime.Now, user_id = 1
                };
                sql.AssignAward(awardedBadge);
                debug += sql.GetUserAwards(1)[0];

                debug += "<br/><br/>Sending user_id = 1 an award email<br/>result: ";
                debug += em.Contact(awardedBadge);

                debug += "<br/><br/>Revoking award_id = 1 from user_id = 1<br/>result: ";
                BadgeInstance bi = sql.GetUserAwards(1)[0];
                sql.RevokeAward(bi);
                if (sql.GetUserAwards(1).Count == 0)
                {
                    debug += "<span style='color:green'>success</span>";
                }
                else
                {
                    debug += "<span style='color:red'>fail</span>";
                    debug += ": [" + sql.GetUserAwards(1).Count + "] = {";
                    foreach (var inst in sql.GetUserAwards(1))
                    {
                        debug += +inst.award_id + " ";
                    }
                    debug += "}";
                }

                debug += "<br/><br/>Awarding badge_id = 1 to user_id = 1 again<br/>result: ";
                sql.AssignAward(new BadgeInstance()
                {
                    badge_id = 1, award_sentid = 2, award_comment = "this is a test award", award_timestamp = DateTime.Now, user_id = 1
                });
                debug += sql.GetUserAwards(1)[0];

                debug += "<br/><br/>List of all users:";
                foreach (var user in sql.GetUsers())
                {
                    debug += "<br/>" + user;
                }
                debug += "<br/><br/>List of all faculty:";
                foreach (var faculty in sql.GetFaculty())
                {
                    debug += "<br/>" + faculty;
                }
                debug += "<br/><br/>List of all administrators:";
                foreach (var admin in sql.GetAdministrators())
                {
                    debug += "<br/>" + admin;
                }
                debug += "<br/><br/>List of all students:";
                foreach (var student in sql.GetStudents())
                {
                    debug += "<br/>" + student;
                }
                debug += "<br/><br/>List of all badges:";
                foreach (var badge in sql.GetBadges())
                {
                    debug += "<br/>" + badge;
                }
                debug += "<br/><br/>List of all awards:";
                foreach (var award in sql.GetAwards())
                {
                    debug += "<br/>" + award;
                }
            } catch (SqlException e) {
                debug += "<br/><p style=\"color:orange\">SQL EXCEPTION: " + e.Message + "</p>";
            } catch (Exception e) {
                debug += "<br/><p style=\"color:red\">SERVER EXCEPTION: " + e.Message + "</p>";
            }
            return(debug);
        }