Advertisement
Guest User

Untitled

a guest
Apr 24th, 2016
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.49 KB | None | 0 0
  1. [HttpPost]
  2. public ActionResult Edit(int id, FormCollection form)
  3. {
  4. try
  5. {
  6. using (var db = new AccessControlSystemDatabaseModel())
  7. {
  8. var user = db.Users.Find(id);
  9. var tempData = form.AllKeys.ToDictionary<string, string, object>(key => key, key => form[key]);
  10.  
  11. user.RoleID = Convert.ToInt32(tempData["RoleID"]);
  12. user.Username = tempData["Username"].ToString();
  13. user.Password = tempData["Password"].ToString();
  14. user.Email = tempData["Email"].ToString();
  15.  
  16. if (!tempData["GrantAccess"].ToString().Equals("false") && user.UsersVaults.Where(
  17. d => d.VaultID == AuthenticationController.CurrentUser.UsersVaults.ToList()[0].VaultID)
  18. .ToList()
  19. .Count == 0)
  20. {
  21. user.UsersVaults.Add(new UsersVault
  22. {
  23. UserID = id,
  24. VaultID = AuthenticationController.CurrentUser.UsersVaults.ToList()[0].VaultID,
  25. });
  26. }
  27. else
  28. {
  29. var tt =
  30. user.UsersVaults.Where(
  31. d => d.VaultID == AuthenticationController.CurrentUser.UsersVaults.ToList()[0].VaultID).ToList()[0];
  32.  
  33. user.UsersVaults.Remove(tt);
  34. }
  35.  
  36. db.Entry(user).State = EntityState.Modified;
  37. db.SaveChanges();
  38.  
  39. return RedirectToAction("Index");
  40. }
  41. }
  42. catch(Exception e)
  43. {
  44. return RedirectToAction("Index");
  45. }
  46. }
  47.  
  48. public partial class AccessControlSystemDatabaseModel : DbContext
  49. {
  50. public AccessControlSystemDatabaseModel()
  51. : base("name=AccessControlSystemDatabaseModel")
  52. {
  53. }
  54.  
  55. public virtual DbSet<Role> Roles { get; set; }
  56. public virtual DbSet<User> Users { get; set; }
  57. public virtual DbSet<UsersVault> UsersVaults { get; set; }
  58. public virtual DbSet<Vault> Vaults { get; set; }
  59.  
  60. protected override void OnModelCreating(DbModelBuilder modelBuilder)
  61. {
  62. modelBuilder.Entity<User>()
  63. .HasMany(e => e.UsersVaults)
  64. .WithRequired(e => e.User)
  65. .WillCascadeOnDelete(true);
  66.  
  67. modelBuilder.Entity<Vault>()
  68. .HasMany(e => e.UsersVaults)
  69. .WithRequired(e => e.Vault)
  70. .WillCascadeOnDelete(true);
  71. }
  72. }
  73.  
  74.  
  75. public partial class Role
  76. {
  77. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
  78. public Role()
  79. {
  80. Users = new HashSet<User>();
  81. }
  82.  
  83. public int ID { get; set; }
  84.  
  85. [Required]
  86. [StringLength(255)]
  87. public string RoleName { get; set; }
  88.  
  89. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
  90. public virtual ICollection<User> Users { get; set; }
  91. }
  92.  
  93. public partial class User
  94. {
  95. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
  96. public User()
  97. {
  98. UsersVaults = new HashSet<UsersVault>();
  99. }
  100.  
  101. public int ID { get; set; }
  102.  
  103. [Required]
  104. [StringLength(255)]
  105. public string Username { get; set; }
  106.  
  107. [Required]
  108. [StringLength(255)]
  109. public string Password { get; set; }
  110.  
  111. public int? RoleID { get; set; }
  112.  
  113. [StringLength(255)]
  114. public string Email { get; set; }
  115.  
  116. public virtual Role Role { get; set; }
  117.  
  118. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
  119. public virtual ICollection<UsersVault> UsersVaults { get; set; }
  120. }
  121.  
  122. public partial class UsersVault
  123. {
  124. public int ID { get; set; }
  125.  
  126. public int UserID { get; set; }
  127.  
  128. public int VaultID { get; set; }
  129.  
  130. public virtual User User { get; set; }
  131.  
  132. public virtual Vault Vault { get; set; }
  133. }
  134.  
  135. public partial class Vault
  136. {
  137. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
  138. public Vault()
  139. {
  140. UsersVaults = new HashSet<UsersVault>();
  141. }
  142.  
  143. public int ID { get; set; }
  144.  
  145. [Required]
  146. [StringLength(255)]
  147. public string VaultName { get; set; }
  148.  
  149. [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
  150. public virtual ICollection<UsersVault> UsersVaults { get; set; }
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement