/// <summary>
        /// See all the achievements that are unlocked by this task. if they arent already conferred, confer them
        /// Recalculate rewards unlocked by the achievement, if they arent already conferred, confer them
        /// Recalculate Pilot levels unlocked by the achievement if they arent already conferred, confer them
        /// </summary>
        /// <param name="dc"></param>
        /// <param name="taskID"></param>
        /// <param name="email"></param>
        private void ProcessTaskDependents(DBClassesDataContext dc, Guid taskID, string email)
        {
            // recalculate achievements for this pilot
            List <Guid> Achievements = RecalculateAchievements(dc, email);

            // save these achievements
            if (Achievements.Count > 0)
            {
                PilotAchievement.saveAchievements(dc, email, Achievements);
            }
            dc.SubmitChanges();

            // Now calculate all rewards which are unlocked by this achievement
            List <Guid> Rewards = RecalculateRewards(dc, email, Achievements);

            if (Rewards.Count > 0)
            {
                PilotReward.saveRewards(dc, email, Rewards);
            }

            dc.SubmitChanges();

            // Now calculate all rewards which are unlocked by this achievement
            List <Guid> Levels = RecalculateLevels(dc, email, Achievements);

            if (Rewards.Count > 0)
            {
                PilotClass.saveClasses(dc, email, Levels);
            }
            dc.SubmitChanges();
        }
Beispiel #2
0
        internal static void delete(Guid achID)
        {
            using (DBClassesDataContext dbc = new DBClassesDataContext())
            {
                // first remove any prereq involving this achievement
                IEnumerable <AchievementPrereq> achPrereqs = (from u in dbc.AchievementPrereqs where u.RequiredAchievementID == achID select u);
                dbc.AchievementPrereqs.DeleteAllOnSubmit(achPrereqs);

                // first remove any prereq involving this achievement
                IEnumerable <RewardPrereq> rewPrereqs = (from u in dbc.RewardPrereqs where u.RequiredAchievement == achID select u);
                dbc.RewardPrereqs.DeleteAllOnSubmit(rewPrereqs);

                // first remove any prereq involving this achievement
                IEnumerable <PilotClassPrereq> pcPrereqs = (from u in dbc.PilotClassPrereqs where u.AchievementID == achID select u);
                dbc.PilotClassPrereqs.DeleteAllOnSubmit(pcPrereqs);

                AchievementDefinition ach = (from u in dbc.AchievementDefinitions
                                             where u.AchievementID == achID
                                             select u).SingleOrDefault();
                if (ach != null)
                {
                    dbc.AchievementDefinitions.DeleteOnSubmit(ach);
                    dbc.SubmitChanges();
                }
            }
        }
        public void ProcessRequest(HttpContext context)
        {
            string pilotclassid = context.Request.Form["pilotclassid"];
            string achname      = context.Request.Form["pilotclassname"];
            string logo         = context.Request.Form["pilotlogo"];
            string achdesc      = context.Request.Form["pilotclassdescription"];

            PilotClassDefinition ach = new PilotClassDefinition();

            using (DBClassesDataContext dc = new DBClassesDataContext())
            {
                try
                {
                    if (String.IsNullOrEmpty(pilotclassid))
                    {
                        dc.PilotClassDefinitions.InsertOnSubmit(ach);
                        ach.PilotClassID = Guid.NewGuid();
                    }
                    else
                    {
                        ach = (from u in dc.PilotClassDefinitions
                               where u.PilotClassID == Guid.Parse(pilotclassid)
                               select u).SingleOrDefault();
                    }
                    ach.Logo                  = logo;
                    ach.PilotClassName        = achname;
                    ach.PilotClassDescription = achdesc;

                    dc.SubmitChanges();
                }
                catch (Exception e)
                {
                }
            }
        }
        public void ProcessRequest(HttpContext context)
        {
            string achievementid = context.Request.Form["achievementid"];
            string achname       = context.Request.Form["achievementname"];
            string achdesc       = context.Request.Form["achievementdescription"];

            AchievementDefinition ach = new AchievementDefinition();

            using (DBClassesDataContext dc = new DBClassesDataContext())
            {
                try
                {
                    if (String.IsNullOrEmpty(achievementid))
                    {
                        dc.AchievementDefinitions.InsertOnSubmit(ach);
                        ach.AchievementID = Guid.NewGuid();
                    }
                    else
                    {
                        ach = (from u in dc.AchievementDefinitions
                               where u.AchievementID == Guid.Parse(achievementid)
                               select u).SingleOrDefault();
                    }
                    ach.AchievementName = achname;
                    ach.AchievementDesc = achdesc;

                    dc.SubmitChanges();
                }
                catch (Exception e)
                {
                }
            }
        }
Beispiel #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            mUser = dashboard.getUserFromSessionOrCookie(Request, Session);
            if (mUser == null)
            {
                Response.Redirect("login.aspx");
                Response.Close();
                return;
            }

            String uid = Request.Params["uid"];

            if (String.IsNullOrEmpty(uid) || !mUser.IsAdmin)
            {
                Response.Redirect("dashboard.aspx");
                Response.Close();
                return;
            }

            DBClassesDataContext dbc = new DBClassesDataContext();
            AppUser usr = (from u in dbc.AppUsers
                           where u.UserEmail == uid
                           select u).SingleOrDefault();

            if (usr != null)
            {
                dbc.AppUsers.DeleteOnSubmit(usr);
                dbc.SubmitChanges();
            }

            Response.Redirect("dashboard.aspx");
            Response.Close();
            return;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            mUser = dashboard.getUserFromSessionOrCookie(Request, Session);
            if (mUser == null)
            {
                Response.Redirect("login.aspx");
                Response.Close();
                return;
            }

            String tail = Request.Params["tail"];

            if (String.IsNullOrEmpty(tail) || !mUser.IsAdmin)
            {
                Response.Redirect("dashboard.aspx");
                Response.Close();
                return;
            }

            DBClassesDataContext dbc  = new DBClassesDataContext();
            Aircraft             ship = (from u in dbc.Aircrafts
                                         where u.TailNumber == tail
                                         select u).SingleOrDefault();

            if (ship != null)
            {
                dbc.Aircrafts.DeleteOnSubmit(ship);
                dbc.SubmitChanges();
            }

            Response.Redirect("dashboard.aspx");
            Response.Close();
            return;
        }
        protected void btnSave_Click(object sender, EventArgs e)
        {
            DBClassesDataContext dbc = new DBClassesDataContext();

            if (NewType == null)
            {
                Aircraft ship = (from u in dbc.Aircrafts
                                 where u.TailNumber == mShip.TailNumber
                                 select u).SingleOrDefault();
                mShip = ship;
            }
            else
            {
                dbc.Aircrafts.InsertOnSubmit(mShip);
                mShip.TailNumber = TailNum.Text;
            }

            mShip.Make   = Make.Text;
            mShip.Model  = Model.Text;
            mShip.Year   = Year.Text;
            mShip.Status = ListStatus.SelectedIndex;

            dbc.SubmitChanges();

            ExitPage();
        }
Beispiel #8
0
    public static void AddEquipment(DBClassesDataContext db, string name, decimal dimLength)
    {
        Equipment equipment = new Equipment();

        equipment.Name      = name;
        equipment.DimLength = dimLength;

        db.Equipments.InsertOnSubmit(equipment);
        db.SubmitChanges();
    }
 internal static void delete(Guid achID)
 {
     using (DBClassesDataContext dbc = new DBClassesDataContext())
     {
         PilotClassDefinition ach = (from u in dbc.PilotClassDefinitions
                                     where u.PilotClassID == achID
                                     select u).SingleOrDefault();
         if (ach != null)
         {
             dbc.PilotClassDefinitions.DeleteOnSubmit(ach);
             dbc.SubmitChanges();
         }
     }
 }
        public void ProcessRequest(HttpContext context)
        {
            string          postData = new System.IO.StreamReader(context.Request.InputStream).ReadToEnd();
            AchievementDeps deps     = JsonConvert.DeserializeObject <AchievementDeps>(postData);

            if (String.IsNullOrEmpty(deps.AchievementID))
            {
                return;
            }

            using (DBClassesDataContext dc = new DBClassesDataContext())
            {
                try
                {
                    // first remove all existing prereqs for this ach
                    IEnumerable <AchievementPrereq> prereqs = (from u in dc.AchievementPrereqs
                                                               where u.AchievementID == Guid.Parse(deps.AchievementID)
                                                               select u);
                    if (prereqs.Count <AchievementPrereq>() > 0)
                    {
                        dc.AchievementPrereqs.DeleteAllOnSubmit(prereqs);
                    }

                    List <AchievementPrereq> newItems = new List <AchievementPrereq>();

                    foreach (String s in deps.Achievements)
                    {
                        AchievementPrereq newach = new AchievementPrereq();
                        newach.AchievementID         = Guid.Parse(deps.AchievementID);
                        newach.RequiredAchievementID = Guid.Parse(s);
                        dc.AchievementPrereqs.InsertOnSubmit(newach);
                    }
                    foreach (String s in deps.Tasks)
                    {
                        AchievementPrereq newach = new AchievementPrereq();
                        newach.AchievementID = Guid.Parse(deps.AchievementID);
                        newach.TaskID        = Guid.Parse(s);
                        dc.AchievementPrereqs.InsertOnSubmit(newach);
                    }


                    dc.SubmitChanges();
                }
                catch (Exception e)
                {
                }
            }
        }
Beispiel #11
0
        internal static void deleteTask(Guid taskID)
        {
            using (DBClassesDataContext dbc = new DBClassesDataContext())
            {
                // first remove any prereq involving this task
                IEnumerable <AchievementPrereq> achPrereqs = (from u in dbc.AchievementPrereqs where u.TaskID == taskID select u);
                dbc.AchievementPrereqs.DeleteAllOnSubmit(achPrereqs);

                TaskDefinition tsk = (from u in dbc.TaskDefinitions
                                      where u.TaskID == taskID
                                      select u).SingleOrDefault();
                if (tsk != null)
                {
                    dbc.TaskDefinitions.DeleteOnSubmit(tsk);
                }
                dbc.SubmitChanges();
            }
        }
        public void ProcessRequest(HttpContext context)
        {
            string email    = context.Request.Params["email"];
            string taskid   = context.Request.Params["taskid"];
            string reviewer = context.Request.Params["reviewer"];
            string date     = context.Request.Params["date"];

            PilotTask task = new PilotTask();

            using (DBClassesDataContext dc = new DBClassesDataContext())
            {
                try
                {
                    task = (from u in dc.PilotTasks
                            where u.TaskID == Guid.Parse(taskid) && u.PilotEmail == email
                            select u).SingleOrDefault();
                    if (task == null)
                    {
                        task            = new PilotTask();
                        task.TaskID     = Guid.Parse(taskid);
                        task.PilotEmail = email;
                        dc.PilotTasks.InsertOnSubmit(task);
                        task.DateAdded = DateTime.Now;
                    }
                    task.InstructorEmail = reviewer;
                    try
                    {
                        task.DateCompleted = DateTime.Parse(date);
                    }
                    catch { task.DateCompleted = DateTime.Today; }

                    task.IsCompleted = true;
                    task.IsVerified  = true; // for now no need to verify

                    dc.SubmitChanges();
                    // this is the right time to now look at the achievements and rewards and pilot levels this entails.
                    ProcessTaskDependents(dc, task.TaskID, email);
                }
                catch (Exception e) {
                }
            }
        }
Beispiel #13
0
        public void ProcessRequest(HttpContext context)
        {
            string rewardname     = context.Request.Form["rewardname"];
            string logo           = context.Request.Form["rewardlogo"];
            string rewardtype     = context.Request.Form["rewardtype"];
            string rewarditem     = context.Request.Form["rewarddetail"];
            string rewardcount    = context.Request.Form["rewardcount"];
            string rewardvalidity = context.Request.Form["rewardvalidtill"];
            string description    = context.Request.Form["rewarddescription"];
            string rewardid       = context.Request.Form["rewardid"];

            RewardDefinition reward = new RewardDefinition();

            using (DBClassesDataContext dc = new DBClassesDataContext())
            {
                try
                {
                    if (String.IsNullOrEmpty(rewardid))
                    {
                        dc.RewardDefinitions.InsertOnSubmit(reward);
                        reward.RewardID = Guid.NewGuid();
                    }
                    else
                    {
                        reward = (from u in dc.RewardDefinitions
                                  where u.RewardID == Guid.Parse(rewardid)
                                  select u).SingleOrDefault();
                    }
                    reward.RewardName = rewardname;
                    reward.Logo       = logo;
                    reward.RewardType = rewardtype;
                    try { reward.RewardCount = Decimal.Parse(rewardcount); } catch { }
                    reward.RewardDesc = description;
                    reward.RewardItem = rewarditem;
                    try{ reward.RewardValidityTill = DateTime.Parse(rewardvalidity); } catch { }
                    dc.SubmitChanges();
                }
                catch (Exception e) {
                }
            }
        }
        public void ProcessRequest(HttpContext context)
        {
            string email  = context.Request.Params["email"];
            string taskid = context.Request.Params["taskid"];

            using (DBClassesDataContext dc = new DBClassesDataContext())
            {
                try
                {
                    PilotTask task = (from u in dc.PilotTasks
                                      where u.TaskID == Guid.Parse(taskid) && u.PilotEmail == email
                                      select u).SingleOrDefault();
                    if (task != null)
                    {
                        dc.PilotTasks.DeleteOnSubmit(task);
                        dc.SubmitChanges();
                    }
                }
                catch (Exception e) {
                }
            }
        }
Beispiel #15
0
        public void ProcessRequest(HttpContext context)
        {
            string email  = context.Request.Params["email"];
            string taskid = context.Request.Params["taskid"];

            PilotTask task = new PilotTask();

            using (DBClassesDataContext dc = new DBClassesDataContext())
            {
                try
                {
                    dc.PilotTasks.InsertOnSubmit(task);
                    task.TaskID      = Guid.Parse(taskid);
                    task.DateAdded   = DateTime.Now;
                    task.IsCompleted = false;
                    task.IsVerified  = false;
                    task.PilotEmail  = email;
                    dc.SubmitChanges();
                }
                catch (Exception e) {
                }
            }
        }
Beispiel #16
0
        protected void btnSave_Click(object sender, EventArgs e)
        {
            DBClassesDataContext dbc = new DBClassesDataContext();

            if (NewType == null)
            {
                AppUser usr = (from u in dbc.AppUsers
                               where u.UserEmail == mEditingUser.UserEmail
                               select u).SingleOrDefault();
                mEditingUser = usr;
                if (!String.IsNullOrEmpty(PasswordChange.Text))
                {
                    mEditingUser.PasswordHash = System.Text.Encoding.UTF8.GetBytes(PasswordChange.Text);
                }
            }
            else
            {
                dbc.AppUsers.InsertOnSubmit(mEditingUser);
                mEditingUser.UserEmail = Email.Text;
                if (!String.IsNullOrEmpty(Password.Text))
                {
                    mEditingUser.PasswordHash = System.Text.Encoding.UTF8.GetBytes(Password.Text);
                }
                mEditingUser.CreatedOn = DateTime.Now;
                //mEditingUser.PasswordHash = new ASCIIEncoding().GetBytes(Password.Text);
            }

            // now save all the data and move to the previous page.
            mEditingUser.Address1  = Address1.Text;
            mEditingUser.Address2  = Address2.Text;
            mEditingUser.Address3  = Address3.Text;
            mEditingUser.CellPhone = CellPhone.Text;
            mEditingUser.City      = City.Text;
            mEditingUser.Country   = Country.Text;
            try
            {
                mEditingUser.DOB = DateTime.Parse(DOB.Text);
            }
            catch { }
            mEditingUser.Employer  = Employer.Text;
            mEditingUser.FirstName = FName.Text;
            mEditingUser.Gender    = (ListGender.SelectedIndex == 0 ? "M" :(ListGender.SelectedIndex == 1?"F":null));
            mEditingUser.HomePhone = HomePhone.Text;
            mEditingUser.LastName  = LName.Text;
            mEditingUser.MI        = MI.Text;
            mEditingUser.State     = State.Text;
            mEditingUser.WorkPhone = WorkPhone.Text;
            mEditingUser.ZIP       = ZIP.Text;

            mEditingUser.IsAdmin      = IsAdmin.Checked;
            mEditingUser.IsInstructor = IsInstructor.Checked;
            mEditingUser.IsStudent    = IsStudent.Checked;

            if (!mEditingUser.IsStudent && !mEditingUser.IsInstructor && !mEditingUser.IsAdmin)
            {
                mEditingUser.IsStudent = true;
            }
            dbc.SubmitChanges();

            ExitPage();
        }
Beispiel #17
0
 public void create(Language record)
 {
     dataContext.Languages.InsertOnSubmit(record);
     dataContext.SubmitChanges();
 }
 public void setLastVisitTimeToNow()
 {
     dataContext.application_settings.Single(s => s.settingName.Equals("lastVisitTime")).settingValue = DateTime.Now.ToString();
     dataContext.SubmitChanges();
 }
Beispiel #19
0
        private void ExtractAndSaveSelections()
        {
            DBClassesDataContext dbc             = new DBClassesDataContext();
            List <int>           LessonsWithLogs = new List <int>();
            List <string>        selectedCourses = new List <string>();

            foreach (string s in Request.Params.Keys)
            {
                if (s.StartsWith("CHK-"))
                {
                    if (Request.Params[s] == "on")
                    {
                        selectedCourses.Add(s);
                    }
                }
                else if (s.StartsWith("TIMELOG-"))
                {
                    String val = Request.Params[s];
                    if (!String.IsNullOrEmpty(val))
                    {
                        try
                        {
                            decimal  decval = Decimal.Parse(val);
                            String[] comps  = s.Split(new char[] { '-' });
                            // second part describes the field, and third part is the lesson id
                            if (comps.Length == 4)
                            {
                                int lessonID = int.Parse(comps[2]);
                                int stageID  = int.Parse(comps[3]);
                                if (!LessonsWithLogs.Contains(lessonID))
                                {
                                    LessonsWithLogs.Add(lessonID);
                                }
                            }
                        }
                        catch { }
                    }
                }
            }
            foreach (int i in LessonsWithLogs)
            {
                ProcessTimeLogging(dbc, i);
            }

            // now delete every course thats not in this list
            // insert courses that are in the list but not in the database
            // first get the list of existing courses for this student.
            IEnumerable <CompletionLog> log = CompletionLog.LoadStudentLog(dbc, mStudent.UserEmail);

            foreach (CompletionLog l in log)
            {
                bool bFound = false;
                // check which items are not in the new list, these are to be deleted
                foreach (string s in selectedCourses)
                {
                    string logid = s.Substring(4); // skip the first 4 chars
                    if (logid == l.LessonGUID)
                    {
                        bFound = true;  // log needs to stay
                        break;
                    }
                }
                if (!bFound)
                {
                    //log needs to be deleted
                    dbc.CompletionLogs.DeleteOnSubmit(l);
                }
            }

            foreach (string s in selectedCourses)
            {
                string logid  = s.Substring(4); // skip the first 4 chars
                bool   bFound = false;
                // check which items are not in the old list, these are to be added
                foreach (CompletionLog l in log)
                {
                    if (logid == l.LessonGUID)
                    {
                        bFound = true;  // log needs to stay
                        break;
                    }
                }
                if (!bFound)
                {
                    //a new entry needs to be added
                    CompletionLog cl = new CompletionLog();
                    cl.AircraftUsed  = null;
                    cl.DateCompleted = DateTime.Now;
                    cl.Instructor    = mUser.UserEmail;
                    cl.LessonGUID    = logid;
                    cl.SetLessonAndStage(cl.LessonGUID);
                    cl.Student = mStudent.UserEmail;
                    dbc.CompletionLogs.InsertOnSubmit(cl);
                }
            }

            dbc.SubmitChanges();
        }
Beispiel #20
0
 public void create(Word record)
 {
     dataContext.Words.InsertOnSubmit(record);
     dataContext.SubmitChanges();
 }
 public void create(Translation record)
 {
     dataContext.Translations.InsertOnSubmit(record);
     dataContext.SubmitChanges();
 }
Beispiel #22
0
        public void ProcessRequest(HttpContext context)
        {
            string tasktype    = context.Request.Form["tasktype"];
            string aircraft    = context.Request.Form["ChooseAC"];
            string hours       = context.Request.Form["hours"];
            string airport     = context.Request.Form["airport"];
            string taskname    = context.Request.Form["taskname"];
            string description = context.Request.Form["description"];
            string maneuver    = context.Request.Form["maneuver"];
            string lessonname  = context.Request.Form["lessonname"];
            string ratingname  = context.Request.Form["ratingname"];
            string pinnacle    = context.Request.Form["pinnacle"];
            string destination = context.Request.Form["destination"];
            string classname   = context.Request.Form["classname"];
            string taskid      = context.Request.Form["taskid"];

            TaskDefinition task = new TaskDefinition();

            using (DBClassesDataContext dc = new DBClassesDataContext())
            {
                try
                {
                    if (String.IsNullOrEmpty(taskid))
                    {
                        dc.TaskDefinitions.InsertOnSubmit(task);
                        task.TaskID = Guid.NewGuid();
                    }
                    else
                    {
                        task = (from u in dc.TaskDefinitions
                                where u.TaskID == Guid.Parse(taskid)
                                select u).SingleOrDefault();
                    }
                    task.AircraftType = aircraft;
                    task.TaskType     = int.Parse(tasktype);
                    try { task.Hours = Decimal.Parse(hours); } catch { }
                    task.Airport         = airport;
                    task.Course          = classname;
                    task.Lesson          = lessonname;
                    task.Rating          = ratingname;
                    task.Maneuver        = maneuver;
                    task.TaskDescription = description;
                    task.TaskName        = taskname;

                    task.AircraftType = aircraft;
                    try { task.Hours = decimal.Parse(hours); } catch { }
                    if (task.TaskType == TaskDefinition.TASK_DESTINATION)
                    {
                        task.Detail = destination;
                    }
                    else if (task.TaskType == TaskDefinition.TASK_PINNACLE)
                    {
                        task.Detail = pinnacle;
                    }

                    dc.SubmitChanges();
                }
                catch (Exception e) {
                }
            }
        }