Example #1
0
 /*
  Button Click event for Register Button
  */
 protected void CreateUser_Click(object sender, EventArgs e)
 {
     /*
      Only after validations are done and page is valid the functionality is performed
      * Only Members are registered using Registration Page
      * Employees are Registered by Manager Using Add Employee Login
      */
     if (IsValid)
     {
         PlanetFitnessDataContext _dataContext = new PlanetFitnessDataContext();
         UserAccount _userAccount = new UserAccount();
         UserType userType = new UserType();
         Member _member = new Member();
         var _query = (from user in _dataContext.UserAccounts where user.EmailId_vc.Equals(Email.Text) select user);
         /* If there is already a user (Member) with the same email Id we throw an Error*/
         if (_query.Count() != 0)
         {
             ErrorMessage.Text = "Email Id already registered.....";
             ErrorMessage.Visible = true;
         }
         /* Else we register the user i.e., Member
              */
         else
         {
             ErrorMessage.Visible = false;
             _userAccount.UserName_vc = UserName.Text;
             _userAccount.FirstName_vc = FirstName.Text;
             _userAccount.LastName_vc = LastName.Text;
             _userAccount.Address_vc = Address.Text;
             _userAccount.EmailId_vc = Email.Text;
             _userAccount.PhoneNumber_vc = PhoneNumber.Text;
             DateTime dt = DateTime.ParseExact(DateOfBirth.Text, "yyyy-MM-dd", CultureInfo.InvariantCulture);
             label1.Text = dt.ToString();
             _userAccount.DOB_date = dt;
             _userAccount.Password_vc = Encryption.Encrypt(Password.Text);
             _userAccount.SSN_vc = Ssn.Text;
             var _result = (from userTypeOne in _dataContext.UserTypes where userTypeOne.UserType_vc.Equals("Member") select userTypeOne).FirstOrDefault();
             _userAccount.FK_UserType_UserAccount_in = _result.UserTypeID_in;
             /*
              After Password is encrypted and Date is formatted, we Insert into
              * User Accounts Table with User Type fetched from User Type Table
              */
             _dataContext.UserAccounts.InsertOnSubmit(_userAccount);
             _dataContext.SubmitChanges();
             var _resultAccount = (from userAccount in _dataContext.UserAccounts where userAccount.EmailId_vc.Equals(Email.Text) select userAccount).FirstOrDefault();
             _member.BillAmount_de = Decimal.Parse("0.00");
             _member.FK_UserAccount_Member_in = _resultAccount.UserAccountID_in;
             /*
              An Entry into Member Table with the Bill Amount Set to Zero Dollars is Created
              */
             _dataContext.Members.InsertOnSubmit(_member);
             _dataContext.SubmitChanges();
             Session["UserId"] = _resultAccount.UserAccountID_in;
             Session["UserName"] = _resultAccount.UserName_vc;
             Response.Redirect("/Member/MemberProfile");
         }
     }
 }
Example #2
0
 /* LogIn function which is called when a Login button is clicked. This is on button Click event handler
    It takes Default parameters of eventArgs and Sender
  */
 protected void LogIn(object sender, EventArgs e)
 {
     PlanetFitnessDataContext _context = new PlanetFitnessDataContext();
     /*Only if form is validated it is allowed to perform some function*/
     if (IsValid)
     {
         /* Fetch users with the entered emailId*/
         var _query = (from user in _context.UserAccounts
                       where user.EmailId_vc.Equals(Email.Text)
                       select user);
         /* Only if there is a single user with that particular EmailId he is allowed to Login*/
         if (_query.Count() == 1)
         {
             /* Check for the Password against Decrypted Password*/
             if (Encryption.Decrypt(_query.FirstOrDefault().Password_vc).Equals(Password.Text))
             {
                 var _result = (from userType in _context.UserTypes
                                where
                                    userType.UserTypeID_in.Equals(_query.FirstOrDefault().FK_UserType_UserAccount_in)
                                select userType).FirstOrDefault();
                 /* Depending on type of user we reditect to corresponding page.*/
                 if (_result.UserType_vc.Equals("Manager"))
                 {
                     Session["UserName"] = _query.FirstOrDefault().UserName_vc;
                     Session["UserId"] = _query.FirstOrDefault().UserAccountID_in;
                     Response.Redirect("/Employee/EmployeeProfile");
                 }
                 else if (_result.UserType_vc.Equals("Member"))
                 {
                     Session["UserName"] = _query.FirstOrDefault().UserName_vc;
                     Session["UserId"] = _query.FirstOrDefault().UserAccountID_in;
                     Response.Redirect("/Member/MemberProfile");
                 }
                 else if (_result.UserType_vc.Equals("Trainer"))
                 {
                     Session["UserName"] = _query.FirstOrDefault().UserName_vc;
                     Session["UserId"] = _query.FirstOrDefault().UserAccountID_in;
                     Response.Redirect("/Trainer/TrainerProfile");
                 }
                 else
                 {
                     FailureText.Text = "Invalid login attempt";
                     ErrorMessage.Visible = true;
                 }
             }
             else
             {
                 FailureText.Text = "Invalid login attempt";
                 ErrorMessage.Visible = true;
             }
         }
         else
         {
             FailureText.Text = "Invalid login attempt";
             ErrorMessage.Visible = true;
         }
     }
 }
 /*
  Before we load the page we fetch List of Activities to be populated into the Select List
  */
 protected void Page_Load(object sender, EventArgs e)
 {
     /*
      Fetch Should perform only if it is not PostBack to avoid loading the
      * Select List with duplicate items Everytime
      */
     if (Session["UserId"] != null)
     {
         if (!IsPostBack)
         {
             PlanetFitnessDataContext _dataContext = new PlanetFitnessDataContext();
             var _query = (from activity in _dataContext.Activities select activity);
             Activity.DataSource = _query;
             Activity.DataTextField = "Activity_vc";
             Activity.DataValueField = "ActivityID_in";
             Activity.DataBind();
             Activity.Items.Insert(0, new ListItem("--Select--", ""));
         }
     }
     else
     {
         Response.Redirect("/Account/InvalidLogin");
     }
 }
 /*
  On Click Event to handle Add Employee Button Click
  */
 protected void CreateEmployee_Click(object sender, EventArgs e)
 {
     /*
      Only if the form is valid, We Perform Some Action
      */
     if (IsValid)
     {
         /*
          If a valid Activity is selected
          */
         if (Activity.SelectedValue != "")
         {
             PlanetFitnessDataContext _dataContext = new PlanetFitnessDataContext();
             UserAccount _userAccount = new UserAccount();
             UserType _userType = new UserType();
             Trainer trainer = new Trainer();
             var query = (from user in _dataContext.UserAccounts where user.EmailId_vc.Equals(Email.Text) select user);
             /*
              If EmailId is Already registered we throw an error
              */
             if (query.Count() != 0)
             {
                 ErrorMessage.Text = "Email Id already registered.....";
                 ErrorMessage.Visible = true;
             }
             else
             {
                 ErrorMessage.Visible = false;
                 _userAccount.UserName_vc = UserName.Text;
                 _userAccount.FirstName_vc = FirstName.Text;
                 _userAccount.LastName_vc = LastName.Text;
                 _userAccount.Address_vc = Address.Text;
                 _userAccount.EmailId_vc = Email.Text;
                 _userAccount.PhoneNumber_vc = PhoneNumber.Text;
                 DateTime dt = DateTime.ParseExact(DateOfBirth.Text, "yyyy-MM-dd", CultureInfo.InvariantCulture);
                 _userAccount.DOB_date = dt;
                 _userAccount.Password_vc = Encryption.Encrypt(Password.Text);
                 _userAccount.SSN_vc = Ssn.Text;
                 var _result = (from userTypeOne in _dataContext.UserTypes where userTypeOne.UserType_vc.Equals("Trainer") select userTypeOne).FirstOrDefault();
                 _userAccount.FK_UserType_UserAccount_in = _result.UserTypeID_in;
                 /*
                  After Password is Encrypted and Date is formatted, we Insert them into tables
                  */
                 _dataContext.UserAccounts.InsertOnSubmit(_userAccount);
                 _dataContext.SubmitChanges();
                 var result = (from user in _dataContext.UserAccounts
                               where user.EmailId_vc.Equals(Email.Text)
                               select user).FirstOrDefault();
                 var activityId = (from activity in _dataContext.Activities
                                   where activity.ActivityID_in.Equals(Activity.SelectedValue)
                                   select activity).FirstOrDefault().ActivityID_in;
                 trainer.FK_Activity_Trainer_in = activityId;
                 trainer.FK_UserAccount_Trainer_in = result.UserAccountID_in;
                 /*
                  Data is inserted into trainer table depending on which activity is selected
                  */
                 _dataContext.Trainers.InsertOnSubmit(trainer);
                 _dataContext.SubmitChanges();
                 Response.Redirect("/Employee/AddEmployeeSuccess");
             }
         }
         else
         {
             ErrorMessage.Text = "Select a valid activity";
             ErrorMessage.Visible = true;
         }
     }
 }
 /*
  This Page is redirected from EditEmployee Page
  */
 protected void Page_Load(object sender, EventArgs e)
 {
     /*
      Only if it is not PostBack request we do the following
      */
     if (Session["UserId"] != null)
     {
         if (!IsPostBack)
         {
             /*
              We fetch the Email Id from the query string
              */
             if (Request.QueryString["emailId"] != null)
             {
                 String _emailId = Request.QueryString["emailId"].ToString().Trim();
                 PlanetFitnessDataContext _dataContext = new PlanetFitnessDataContext();
                 /*
                  Fetch the user details to be edited by fetching and prepopulating the user detiails
                  */
                 var _query = (from userAccount in _dataContext.UserAccounts
                               where userAccount.EmailId_vc.Equals(_emailId)
                               select userAccount).FirstOrDefault();
                 UserName.Text = _query.UserName_vc;
                 FirstName.Text = _query.FirstName_vc;
                 LastName.Text = _query.LastName_vc;
                 Address.Text = _query.Address_vc;
                 PhoneNumber.Text = _query.PhoneNumber_vc;
                 Email.Text = _query.EmailId_vc;
                 Ssn.Text = _query.SSN_vc.ToString();
                 Password.Text = Encryption.Decrypt(_query.Password_vc);
                 DateTime _dateTime = Convert.ToDateTime(_query.DOB_date);
                 DateOfBirthOne.Text = _dateTime.Date.ToString("d");
                 var _activities = (from activity in _dataContext.Activities select activity);
                 Activity.DataSource = _activities;
                 Activity.DataTextField = "Activity_vc";
                 Activity.DataValueField = "ActivityID_in";
                 Activity.DataBind();
                 Activity.Items.Insert(0, new ListItem("--Select--", ""));
                 var _activityId = (from trainer in _dataContext.Trainers
                                    where trainer.FK_UserAccount_Trainer_in.Equals(_query.UserAccountID_in)
                                    select trainer).FirstOrDefault().FK_Activity_Trainer_in.ToString();
                 Activity.Items.FindByValue(_activityId).Selected = true;
                 /*
                  Maintain the details about the user being edited as he is different from User who is Logged in
                  */
                 Session["EditId"] = _query.UserAccountID_in;
             }
         }
     }
     else
         Response.Redirect("/Account/InvalidLogin");
 }
 /*
  On Click Event for Edit Employee Button Click
  */
 protected void EditEmployee_Click(object sender, EventArgs e)
 {
     /*
      Only if the form is valid then perform the following actions.
      */
     if (IsValid)
     {
         PlanetFitnessDataContext _dataContext = new PlanetFitnessDataContext();
         /*Depending on Edit Id Stored in the Session we update the details of the Trainer*/
         String _userAccountId = Session["EditId"].ToString();
         var _userAccount = (from userAccountData in _dataContext.UserAccounts
                            where userAccountData.UserAccountID_in.Equals(_userAccountId)
                            select userAccountData).FirstOrDefault();
         _userAccount.UserName_vc = UserName.Text;
         _userAccount.FirstName_vc = FirstName.Text;
         _userAccount.LastName_vc = LastName.Text;
         _userAccount.Address_vc = Address.Text;
         _userAccount.EmailId_vc = Email.Text;
         _userAccount.Password_vc = Encryption.Encrypt(Password.Text);
         _userAccount.SSN_vc = Ssn.Text;
         _userAccount.DOB_date = Convert.ToDateTime(DateOfBirthOne.Text);
         _userAccount.PhoneNumber_vc = PhoneNumber.Text;
         var _activityId = (from trainer in _dataContext.Trainers
                           where trainer.FK_UserAccount_Trainer_in.Equals(_userAccountId)
                           select trainer).FirstOrDefault().FK_Activity_Trainer_in.ToString();
         if (_activityId.Equals(Activity.SelectedValue))
         {
             try
             {
                _dataContext.SubmitChanges();
                 Response.Redirect("/Employee/EditEmployeeSuccess");
             }
             catch (Exception exception)
             {
                 ErrorMessage.Text = "Something went wrong..Please try again.";
                 Console.WriteLine(exception);
             }
         }
         /*
          If the slot trained by the Trainer is booked by someone
          * Then we cannot change the Trainer Activity
          */
         else
         {
             var _slots = (from slot in _dataContext.Slots
                          where slot.FK_Trainer_Slot_in.Equals(
                          (from trainer in _dataContext.Trainers
                           where trainer.FK_UserAccount_Trainer_in.Equals(_userAccountId)
                           select trainer).FirstOrDefault().TrainerID_in)
                           select slot);
             if (_slots.Count() != 0)
             {
                 ErrorMessage.Text = "Trainer has slots with that activity...So cannot be changed";
             }
             else
             {
                 _slots.FirstOrDefault().FK_Trainer_Slot_in = Convert.ToInt32(Activity.SelectedValue);
                 _dataContext.SubmitChanges();
                 Response.Redirect("/Employee/EditEmployeeSuccess");
             }
         }
     }
 }