コード例 #1
0
ファイル: User.cs プロジェクト: rtom1986/The-Queue-View
 /// <summary>
 /// Gets User Configuration
 /// </summary>
 /// <returns>UserConfiguration</returns>
 public UserConfiguration GetUserConfiguration(string Username)
 {
     try
     {
         //Get Configs from MongoDB
         Mongo MongoWrite = new Mongo();
         return MongoWrite.GetUserConfiguration(Username);
     }
     catch (Exception ex)
     {
         Logger.WriteErrorLog(ex);
         return null;
     }
 }
コード例 #2
0
ファイル: User.cs プロジェクト: rtom1986/The-Queue-View
 /// <summary>
 /// Updates username
 /// </summary>
 /// <param name="_username">User name</param>
 /// <returns>true if success</returns>
 public bool UpdateUsername(string _username, string _existingUsername)
 {
     try
     {
         //Update Username in SQL Server
         using (var cn = new SqlConnection(@"Data Source=(LocalDB)"))
         {
             string _sql = @"UPDATE [dbo].[System_Users] SET Username = @e WHERE [Username] = @c";
             var cmd = new SqlCommand(_sql, cn);
             cmd.Parameters
                 .Add(new SqlParameter("@e", SqlDbType.NVarChar))
                 .Value = _username;
             cmd.Parameters
                 .Add(new SqlParameter("@c", SqlDbType.NVarChar))
                 .Value = _existingUsername;
             cn.Open();
             cmd.ExecuteNonQuery();
         }
         var mongo = new Mongo();
         var config = mongo.GetUserConfiguration(_existingUsername);
         if (config.AccountInfoNotification)
         {
             MailgunAgent.SendChangeEmail(GetCurrentEmail(_username), "Your Queue View username has been updated.");
         }
         mongo.UpdateUsernameInAllCollections(_username, _existingUsername);
         return true;
     }
     catch (Exception ex)
     {
         Logger.WriteErrorLog(ex);
         return false;
     }
 }
コード例 #3
0
ファイル: User.cs プロジェクト: rtom1986/The-Queue-View
 /// <summary>
 /// Changes password
 /// </summary>
 /// <returns>true if success</returns>
 public bool SubmitSupportTicket(SupportTicket ticketData, string username)
 {
     try
     {
         //Write Ticket to MongoDB
         Mongo MongoWrite = new Mongo();
         if (!string.IsNullOrEmpty(username))
         {
             var config = MongoWrite.GetUserConfiguration(username);
             if (config.ClosedTicketNotification)
             {
                 MailgunAgent.SendChangeEmail(GetCurrentEmail(username), "You have created a support ticket on the Queue View.");
             }
         }
         MongoWrite.WriteTicketData(ticketData);
         return true;
     }
     catch (Exception ex)
     {
         Logger.WriteErrorLog(ex);
         return false;
     }
 }
コード例 #4
0
ファイル: User.cs プロジェクト: rtom1986/The-Queue-View
 /// <summary>
 /// Updates user info to SQL Server
 /// </summary>
 /// <returns>EmailUpdateStatus</returns>
 public EmailUpdateStatus UpdateEmail(string _email, string _username)
 {
     try
     {
         var UpdateEmail = false;
         using (var cn = new SqlConnection(@"Data Source=(LocalDB)"))
         {
             string _sql = @"SELECT [Email] FROM [dbo].[System_Users] " + @"WHERE [Username] = @e";
             var cmd = new SqlCommand(_sql, cn);
             cmd.Parameters
                 .Add(new SqlParameter("@e", SqlDbType.NVarChar))
                 .Value = _username;
             cn.Open();
             var reader = cmd.ExecuteReader();
             while (reader.Read())
             {
                 if (_email != reader[0].ToString())
                 {
                     UpdateEmail = true;
                     break;
                 }
             }
         }
         if (UpdateEmail)
         {
             using (var cn = new SqlConnection(@"Data Source=(LocalDB)"))
             {
                 string _sql2 = @"UPDATE [dbo].[System_Users] SET Email = @e WHERE [Username] = @c";
                 var cmd2 = new SqlCommand(_sql2, cn);
                 cmd2.Parameters
                     .Add(new SqlParameter("@e", SqlDbType.NVarChar))
                     .Value = _email;
                 cmd2.Parameters
                     .Add(new SqlParameter("@c", SqlDbType.NVarChar))
                     .Value = _username;
                 cn.Open();
                 cmd2.ExecuteNonQuery();
                 var mongo = new Mongo();
                 var config = mongo.GetUserConfiguration(_username);
                 if (config.AccountInfoNotification)
                 {
                     MailgunAgent.SendChangeEmail(_email, "Your Queue View email has been updated.");
                 }
                 return EmailUpdateStatus.Changed;
             }
         }
         else
         {
             return EmailUpdateStatus.Same;
         }
     }
     catch (Exception ex)
     {
         Logger.WriteErrorLog(ex);
         return EmailUpdateStatus.Error;
     }
 }
コード例 #5
0
 public ActionResult SaveBillingCardInfo(UserModel.User user, System.Web.Mvc.FormCollection collection)
 {
     var billingID = user.GetBillingID(User.Identity.Name);
     if (billingID != String.Empty)
     {
         Customer customer = Gateway.BrainTreeGateway.Customer.Find(billingID);
         string token = customer.CreditCards[0].Token;
         var request = new CustomerRequest
         {
             CreditCard = new CreditCardRequest
             {
                 CardholderName = collection["name"],
                 Number = collection["number"],
                 ExpirationMonth = collection["month"],
                 ExpirationYear = collection["year"],
                 CVV = collection["cvv"],
                 Options = new CreditCardOptionsRequest
                 {
                     UpdateExistingToken = token
                 }
             }
         };
         Result<Customer> updateResult = Gateway.BrainTreeGateway.Customer.Update(billingID, request);
         if (updateResult.IsSuccess())
         {
             var mongo = new Mongo();
             var config = mongo.GetUserConfiguration(User.Identity.Name);
             if (config.AccountInfoNotification)
             {
                 MailgunAgent.SendChangeEmail(user.GetCurrentEmail(User.Identity.Name), "Your Queue View credit card has been changed.");
             }
             return RedirectToAction("AccountDashboard", "User", new { ADCC = "ChangeCard" });
         }
         else
         {
             //Fail to update with Braintree
             return RedirectToAction("AccountDashboard", "User", new { ADCCFAIL = updateResult.Message });
         }
     }
     else
     {
         //Fail to retrieve Billing ID
         return RedirectToAction("Error", "User");
     }
 }