private DTOStatus ResetVersionTable() { DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.Success = true; objDTOStatus.StatusMessage = ""; var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(GetConnectionString()); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { try { // Get all version records var versions = (from version in context.AdefHelpDeskVersion select version).ToList(); // Delete them foreach (var version in versions) { context.AdefHelpDeskVersion.Remove(version); context.SaveChanges(); } } catch (Exception ex) { objDTOStatus.Success = false; objDTOStatus.StatusMessage = ex.GetBaseException().Message; } } return(objDTOStatus); }
public DTOStatus DeleteUser(int UserId) { // Status to return DTOStatus objDTOStatus = new DTOStatus(); // Get Settings string CurrentHostLocation = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}"; string ContentRootPath = _hostEnvironment.ContentRootPath; string strCurrentUser = this.User.Claims.FirstOrDefault().Value; string strConnectionString = GetConnectionString(); string strResponse = UserManagerController.DeleteUser(UserId, _userManager, strConnectionString, strCurrentUser); if (strResponse != "") { objDTOStatus.StatusMessage = strResponse; objDTOStatus.Success = false; } else { objDTOStatus.Success = true; } return(objDTOStatus); }
private DTOStatus DeleteAllUsers() { DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.Success = true; objDTOStatus.StatusMessage = ""; var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(GetConnectionString()); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { try { context.Database.ExecuteSqlCommand("delete from ADefHelpDesk_Users"); context.Database.ExecuteSqlCommand("delete from AspNetUsers"); } catch (Exception ex) { objDTOStatus.Success = false; objDTOStatus.StatusMessage = ex.GetBaseException().Message; } } return(objDTOStatus); }
public IActionResult Delete([FromRoute] int id) { // Status to return DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.StatusMessage = "Failure"; objDTOStatus.Success = false; // Must be a Super Administrator to call this Method if (!UtilitySecurity.IsSuperUser(this.User.Identity.Name, GetConnectionString())) { return(BadRequest()); } var result = DeleteUser(id, _userManager, GetConnectionString(), this.User.Identity.Name); if (result != "") { objDTOStatus.Success = false; objDTOStatus.StatusMessage = result; return(Ok(objDTOStatus)); } else { objDTOStatus.Success = true; objDTOStatus.StatusMessage = ""; return(Ok(objDTOStatus)); } }
private void btnSave_Click(object sender, EventArgs e) { if (!checkData()) { return; } else { String statusName = Utils.standardNamePerson(txtStatusName.Text); statusObject = new DTOStatus("TT0000000", statusName); if (statusBUS.InsertStatus(statusObject)) { XtraCustomMessageBox.Show("Thêm dữ liệu thành công!", "Thông báo", true, 1); btnAdd.Enabled = true; btnCancelAdd.Enabled = false; btnCancelAdd.Visible = false; btnSave.Enabled = false; } else { XtraCustomMessageBox.Show("Thêm dữ liệu thất bại!", "Lỗi", true, 4); } } }
public static DTOStatus DeleteRole(int id, string ConnectionString) { // Status to return DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.Success = true; var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(ConnectionString); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { try { var objRole = context.AdefHelpDeskRoles.SingleOrDefaultAsync(x => x.Id == id).Result; if (objRole == null) { objDTOStatus.StatusMessage = $"id #{id} Not Found"; objDTOStatus.Success = false; } context.AdefHelpDeskRoles.Remove(objRole); context.SaveChanges(); } catch (Exception ex) { objDTOStatus.StatusMessage = ex.GetBaseException().Message; objDTOStatus.Success = false; } } return(objDTOStatus); }
public DTOStatus DeleteCategory(int id) { // Status to return DTOStatus objDTOStatus = new DTOStatus(); // Get Settings string strConnectionString = GetConnectionString(); return(ADefHelpDeskApp.Controllers.WebApi.CategoryController.DeleteCategory(id, strConnectionString)); }
/// <summary> /// Phương thức thêm mới một Status vào csdl /// </summary> /// <returns>true: thêm mới thành công, false: thêm mới thất bại</returns> public bool InsertStatus(DTOStatus Status) { try { return(statusDAO.InsertStatus(Status)); } catch (SqlException) { throw; } }
/// <summary> /// Phương thức cập nhật một Status xuống csdl theo id /// </summary> /// <returns>true: thêm mới thành công, false: thêm mới thất bại</returns> public bool UpdateStatus(DTOStatus Status) { try { return(statusDAO.UpdateStatus(Status)); } catch (SqlException) { throw; } }
// Methods #region public static DTOStatus UpdateCategory(int id, CategoryNode categoryNode, string ConnectionString) public static DTOStatus UpdateCategory(int id, CategoryNode categoryNode, string ConnectionString) { // Status to return DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.Success = true; var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(ConnectionString); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { var existingCategoryNode = context.AdefHelpDeskCategories.SingleOrDefault(x => x.CategoryId == id); if (existingCategoryNode == null) { objDTOStatus.StatusMessage = $"id #{id} Not Found"; objDTOStatus.Success = false; return(objDTOStatus); } // Update the Node existingCategoryNode.CategoryName = categoryNode.NodeName; if (categoryNode.ParentId > 0) { existingCategoryNode.ParentCategoryId = categoryNode.ParentId; } else { existingCategoryNode.ParentCategoryId = null; } existingCategoryNode.Selectable = categoryNode.Selectable; existingCategoryNode.RequestorVisible = categoryNode.RequestorVisible; context.Entry(existingCategoryNode).State = EntityState.Modified; try { context.SaveChanges(); } catch (DbUpdateConcurrencyException ex) { objDTOStatus.StatusMessage = ex.GetBaseException().Message; objDTOStatus.Success = false; return(objDTOStatus); } } return(objDTOStatus); }
/// <summary> /// Phương thức cập nhật một Status xuống csdl theo id /// </summary> /// <returns>true: thêm mới thành công, false: thêm mới thất bại</returns> public bool UpdateStatus(DTOStatus Status) { try { DataExecute.Instance.createSqlCmd("sp_EditStatusUpdate" /*Truyen vao storeprocedure*/, new object[2] { Status.StatusID, Status.StatusName }); return(DataExecute.Instance.updateData(DataConnection.Instance.m_cmd) > 0); } catch (SqlException) { throw; } }
public DTOStatus ConnectionSetting([FromBody] DTOConnectionSetting objConnectionSetting) { // The return message DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.Success = true; // Do not run if we can connect to the current database if (CurrentVersion().isNewDatabase == false) { objDTOStatus.Success = false; objDTOStatus.StatusMessage = "Database already set-up"; } else { // Create a Database connection string string strConnectionString = CreateDatabaseConnectionString(objConnectionSetting); // Test the database connection string if (DatabaseConnectionValid(strConnectionString)) { try { // Update the appsettings.json file UpdateDatabaseConnectionString(strConnectionString); // Update the in-memory connection string _DefaultConnection = strConnectionString; } catch (Exception ex) { // appsettings.json file update error objDTOStatus.Success = false; objDTOStatus.StatusMessage = ex.GetBaseException().Message; } } else { // Bad connection setting objDTOStatus.Success = false; objDTOStatus.StatusMessage = "Connection settings are not valid"; } } // Return the result return(objDTOStatus); }
private void SaveDataToDatabase() { if (!checkData()) { return; } try { if (m_IsAdd) { String statusName = Utils.standardNamePerson(txtStatusName.Text); statusObject = new DTOStatus("TT0000000", statusName); if (statusBUS.InsertStatus(statusObject)) { XtraCustomMessageBox.Show("Thêm dữ liệu thành công!", "Thông báo", true, 1); } else { XtraCustomMessageBox.Show("Thêm dữ liệu thất bại!", "Lỗi", true, 4); } } else { String statusName = Utils.standardNamePerson(txtStatusName.Text); statusObject = new DTOStatus(txtStatusId.Text, statusName); if (statusBUS.UpdateStatus(statusObject)) { XtraCustomMessageBox.Show("Cập nhật dữ liệu thành công!", "Thông báo", true, 1); } else { XtraCustomMessageBox.Show("Cập nhật dữ liệu thất bại!", "Lỗi", true, 4); } } } catch (System.Exception ex) { XtraCustomMessageBox.Show(ex.ToString(), "Lỗi", true, 3); } finally { updateEnableButtonAndResetValueOfControl(ref btnSave); } }
public IActionResult CreateUser([FromBody] DTOUser DTOUser) { // Status to return DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.StatusMessage = "Failure"; objDTOStatus.Success = false; // Must be a Super Administrator to call this Method if (!UtilitySecurity.IsSuperUser(this.User.Identity.Name, GetConnectionString())) { objDTOStatus.StatusMessage = "Must be a Super Administrator to call this method."; return(Ok(objDTOStatus)); } string CurrentHostLocation = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}"; return(Ok(CreateUserMethod(DTOUser, _hostEnvironment, _userManager, _signInManager, GetConnectionString(), CurrentHostLocation, this.User.Identity.Name))); }
private void btnDelete_Click(object sender, EventArgs e) { if (statusMulitiSelect.Selection.Count == 0) { XtraCustomMessageBox.Show("Chưa có dòng dữ liệu nào được chọn!", "Thông báo", true, 1); return; } try { System.Collections.ArrayList _liststatusObjectInDelibility = new System.Collections.ArrayList(); foreach (object _rowObjectItem in statusMulitiSelect.Selection) { grdvListStatus.FocusedRowHandle -= 1; DataRowView _rowObjectDetail = _rowObjectItem as DataRowView; statusObject = new DTOStatus(_rowObjectDetail.Row["StatusID"].ToString(), _rowObjectDetail.Row["StatusName"].ToString()); if (!statusBUS.DeleteStatus(statusObject.StatusID)) { _liststatusObjectInDelibility.Add(_rowObjectDetail.Row["StatusID"]); } } String _erroContent = "Không thể xóa thông tin có mã số: \n"; if (_liststatusObjectInDelibility.Count != 0) { foreach (var item in _liststatusObjectInDelibility) { _erroContent += item.ToString() + "\n"; } XtraCustomMessageBox.Show(_erroContent, "Lỗi", true, 4); } else { XtraCustomMessageBox.Show("Xóa dữ liệu thành công", "Thông báo", true, 1); } } catch (System.Exception) { XtraCustomMessageBox.Show("Xóa dữ liệu thất bại", "Lỗi", true, 4); } finally { updateEnableButtonAndResetValueOfControl(ref btnDelete); } }
private DTOStatus MakeUserASuperUser(string UserName) { DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.Success = true; objDTOStatus.StatusMessage = ""; var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(GetConnectionString()); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { try { // Get the user var objUser = (from user in context.AdefHelpDeskUsers where user.Username == UserName select user).FirstOrDefault(); if (objUser != null) { // Update them objUser.IsSuperUser = true; context.SaveChanges(); } else { objDTOStatus.Success = false; objDTOStatus.StatusMessage = $"Cound not find {UserName} in database"; } } catch (Exception ex) { objDTOStatus.Success = false; objDTOStatus.StatusMessage = ex.GetBaseException().Message; } } return(objDTOStatus); }
public DTOStatus CreateTask(DTOAPITask objTask, DTOAPITaskDetail objTaskDetail, IFormFile objFile) { DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.Success = true; objDTOStatus.StatusMessage = ""; // Get Settings string CurrentHostLocation = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}"; string ContentRootPath = _hostEnvironment.ContentRootPath; string strCurrentUser = this.User.Claims.FirstOrDefault().Value; string strConnectionString = GetConnectionString(); int intUserId = -1; bool IsSuperUser = true; bool IsAdministrator = true; bool IsAuthenticated = true; try { DTOTask paramTask = ExternalAPIUtility.MapAPITaskToTask(objTask, objTaskDetail); objDTOStatus = UploadTaskController.CreateTaskMethod( strConnectionString, CurrentHostLocation, ContentRootPath, paramTask, objFile, strCurrentUser, intUserId, IsSuperUser, IsAdministrator, IsAuthenticated); } catch (Exception ex) { objDTOStatus.Success = false; objDTOStatus.StatusMessage = ex.GetBaseException().Message; } return(objDTOStatus); }
public DTOStatus UpdateDatabase() { DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.Success = true; // Must be a Super User to proceed if (UtilitySecurity.IsSuperUser(this.User.Identity.Name, GetConnectionString())) { // Run update scripts objDTOStatus = RunUpdateScripts(NewDatabaseVersion, _hostEnvironment, GetConnectionString()); } else { objDTOStatus.Success = false; objDTOStatus.StatusMessage = "Must be a Super User to proceed"; } // Return the result return(objDTOStatus); }
public static DTOStatus RunUpdateScripts(string _NewDatabaseVersion, IWebHostEnvironment _hostEnvironment, string ConnectionString) { DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.Success = true; // Get the update scripts Dictionary <int, string> ColScripts = UpdateScripts(); foreach (var sqlScript in ColScripts) { try { // Run the script DTOVersion objVersion = GetDatabaseVersion(_NewDatabaseVersion, ConnectionString); int intCurrentDatabaseVersion = ConvertVersionToInteger(objVersion.VersionNumber); // Only run the script if it is higher than the // current database version if (sqlScript.Key > intCurrentDatabaseVersion) { var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(ConnectionString); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { context.Database.ExecuteSqlCommand(GetSQLScript(sqlScript.Value, _hostEnvironment)); } } } catch (Exception ex) { objDTOStatus.StatusMessage = ex.Message; objDTOStatus.Success = false; return(objDTOStatus); } } return(objDTOStatus); }
public IActionResult Put([FromRoute] int id, [FromBody] DTOUser DTOUser) { // Status to return DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.StatusMessage = "Failure"; objDTOStatus.Success = false; // Must be a Super Administrator to call this Method if (!UtilitySecurity.IsSuperUser(this.User.Identity.Name, GetConnectionString())) { objDTOStatus.StatusMessage = "Must be a Super Administrator to call this method."; return(Ok(objDTOStatus)); } if (id != DTOUser.userId) { return(BadRequest()); } return(Ok(UpdateUser(id, DTOUser, _userManager, GetConnectionString(), this.User.Identity.Name))); }
public static DTOStatus UpdateRole(int id, RoleDTO RoleDTO, string ConnectionString) { // Status to return DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.Success = true; var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(ConnectionString); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { var existingRole = context.AdefHelpDeskRoles.SingleOrDefaultAsync(x => x.Id == id).Result; if (existingRole == null) { objDTOStatus.StatusMessage = $"id #{id} Not Found"; objDTOStatus.Success = false; return(objDTOStatus); } // Update the Role existingRole.RoleName = RoleDTO.roleName; context.Entry(existingRole).State = EntityState.Modified; try { context.SaveChanges(); } catch (DbUpdateConcurrencyException ex) { objDTOStatus.StatusMessage = ex.GetBaseException().Message; objDTOStatus.Success = false; } } return(objDTOStatus); }
public async Task <IActionResult> Post([FromBody] ApiSecurityDTO ApiSecurityDTO) { // Must be a Super Administrator to call this Method if (!UtilitySecurity.IsSuperUser(this.User.Identity.Name, GetConnectionString())) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } // Status to return DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.StatusMessage = "Failure"; objDTOStatus.Success = false; #region Validate if ( (ApiSecurityDTO.username == null || ApiSecurityDTO.username == "") || (ApiSecurityDTO.password == null || ApiSecurityDTO.password == "") ) { objDTOStatus.StatusMessage = $"Error: A Username and Password are required."; objDTOStatus.Success = false; return(Ok(objDTOStatus)); } if (ApiSecurityDTO.password.Trim().Length < 5) { objDTOStatus.StatusMessage = $"Error: A password longer than 5 characters is required."; objDTOStatus.Success = false; return(Ok(objDTOStatus)); } #endregion try { var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(GetConnectionString()); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { // Check for duplicate Username var existingApiSecurity = await context.AdefHelpDeskApiSecurity.SingleOrDefaultAsync(x => x.Username == ApiSecurityDTO.username); if (existingApiSecurity != null) { objDTOStatus.StatusMessage = $"Error: The username {ApiSecurityDTO.username} is already used"; objDTOStatus.Success = false; return(Ok(objDTOStatus)); } var newApiSecurityDTO = new AdefHelpDeskApiSecurity(); newApiSecurityDTO.Username = ApiSecurityDTO.username.Trim(); newApiSecurityDTO.Password = ApiSecurityDTO.password.Trim(); newApiSecurityDTO.ContactName = ApiSecurityDTO.contactName; newApiSecurityDTO.ContactCompany = ApiSecurityDTO.contactCompany; newApiSecurityDTO.ContactWebsite = ApiSecurityDTO.contactWebsite; newApiSecurityDTO.ContactEmail = ApiSecurityDTO.contactEmail; newApiSecurityDTO.ContactPhone = ApiSecurityDTO.contactPhone; newApiSecurityDTO.IsActive = ApiSecurityDTO.isActive; context.AdefHelpDeskApiSecurity.Add(newApiSecurityDTO); await context.SaveChangesAsync(); ApiSecurityDTO.id = newApiSecurityDTO.Id; // Log to the System Log Log.InsertSystemLog( GetConnectionString(), Constants.WebAPIAccountCreated, this.User.Identity.Name, $"({this.User.Identity.Name}) Created Username: {newApiSecurityDTO.Username}"); } objDTOStatus.StatusMessage = ""; objDTOStatus.Success = true; } catch (Exception ex) { objDTOStatus.StatusMessage = ex.GetBaseException().Message; objDTOStatus.Success = false; return(Ok(objDTOStatus)); } return(Ok(objDTOStatus)); }
public static DTOStatus CreateUserMethod(DTOUser DTOUser, IHostingEnvironment _hostEnvironment, UserManager <ApplicationUser> _userManager, SignInManager <ApplicationUser> _signInManager, string ConnectionString, string CurrentHostLocation, string strCurrentUser) { // Status to return DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.StatusMessage = "Failure"; objDTOStatus.Success = false; try { RegisterDTO objRegisterDTO = new RegisterDTO(); objRegisterDTO.userName = DTOUser.userName; objRegisterDTO.email = DTOUser.email; objRegisterDTO.firstName = DTOUser.firstName; objRegisterDTO.lastName = DTOUser.lastName; objRegisterDTO.password = DTOUser.password; var objRegisterStatus = RegisterController.RegisterUser(objRegisterDTO, ConnectionString, _hostEnvironment, _userManager, _signInManager, CurrentHostLocation, true, false); if (!objRegisterStatus.isSuccessful) { // Registration was not successful objDTOStatus.StatusMessage = objRegisterStatus.status; return(objDTOStatus); } var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(ConnectionString); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { // Get User var objDTOUser = (from objuser in context.AdefHelpDeskUsers where objuser.Username == DTOUser.userName select objuser).FirstOrDefault(); if (objDTOUser != null) { // Update remaining fields objDTOUser.IsSuperUser = DTOUser.isSuperUser; } // Add the Roles for the user int UserId = objDTOUser.UserId; foreach (var itemRole in DTOUser.userRoles) { AdefHelpDeskUserRoles objRoleDTO = new AdefHelpDeskUserRoles(); objRoleDTO.RoleId = itemRole.iD; objRoleDTO.UserId = UserId; context.AdefHelpDeskUserRoles.Add(objRoleDTO); } context.SaveChanges(); } } catch (Exception ex) { objDTOStatus.StatusMessage = ex.GetBaseException().Message; objDTOStatus.Success = false; return(objDTOStatus); } objDTOStatus.StatusMessage = ""; objDTOStatus.Success = true; return(objDTOStatus); }
public static DTOStatus UpdateUser(int id, DTOUser DTOUser, UserManager <ApplicationUser> _userManager, string ConnectionString, string strCurrentUser) { // Status to return DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.StatusMessage = "Failure"; objDTOStatus.Success = false; #region Validation **************************** EmailValidation objEmailValidation = new EmailValidation(); if (!objEmailValidation.IsValidEmail(DTOUser.email)) { objDTOStatus.StatusMessage = "This Email is not valid."; objDTOStatus.Success = false; return(objDTOStatus); } if ((DTOUser.firstName == null) || (DTOUser.firstName.Length < 1)) { objDTOStatus.StatusMessage = "This First Name is not long enough."; objDTOStatus.Success = false; return(objDTOStatus); } if ((DTOUser.lastName == null) || (DTOUser.lastName.Length < 1)) { objDTOStatus.StatusMessage = "This Last Name is not long enough."; objDTOStatus.Success = false; return(objDTOStatus); } #endregion var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(ConnectionString); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { // Get User var objDTOUser = (from objuser in context.AdefHelpDeskUsers .Include(role => role.AdefHelpDeskUserRoles) where objuser.UserId == id select objuser).FirstOrDefault(); if (objDTOUser == null) { objDTOStatus.StatusMessage = "Not Found"; objDTOStatus.Success = false; return(objDTOStatus); } // Check the Email var objAdefHelpDeskEmail = (from AdefHelpDeskUsers in context.AdefHelpDeskUsers where AdefHelpDeskUsers.Email.ToLower() == DTOUser.email.ToLower() where AdefHelpDeskUsers.Username != DTOUser.userName select AdefHelpDeskUsers).FirstOrDefault(); if (objAdefHelpDeskEmail != null) { // User is already taken objDTOStatus.StatusMessage = "This Email address is already taken."; objDTOStatus.Success = false; return(objDTOStatus); } try { // Update the user objDTOUser.FirstName = DTOUser.firstName; objDTOUser.LastName = DTOUser.lastName; objDTOUser.Email = DTOUser.email; objDTOUser.VerificationCode = null; // Admin updating user always clears verification code // Cannot change your own IsSuperUser status if (objDTOUser.Username != strCurrentUser) { objDTOUser.IsSuperUser = DTOUser.isSuperUser; } context.SaveChanges(); } catch (Exception ex) { objDTOStatus.Success = false; objDTOStatus.StatusMessage = ex.GetBaseException().Message; return(objDTOStatus); } // Delete all roles -- so we can add the new ones foreach (var itemRole in objDTOUser.AdefHelpDeskUserRoles) { var objUserRole = context.AdefHelpDeskUserRoles.SingleOrDefault(x => x.UserRoleId == itemRole.UserRoleId); context.AdefHelpDeskUserRoles.Remove(objUserRole); } context.SaveChanges(); // Add the Roles for the user foreach (var itemRole in DTOUser.userRoles) { AdefHelpDeskUserRoles objRoleDTO = new AdefHelpDeskUserRoles(); objRoleDTO.RoleId = itemRole.iD; objRoleDTO.UserId = DTOUser.userId; context.AdefHelpDeskUserRoles.Add(objRoleDTO); } context.SaveChanges(); } #region Migrate User (if needed) // Get user in UserManager var user = _userManager.FindByNameAsync(DTOUser.userName).Result; if (user == null) { // The user is in the old memebership API // Migrate them if ((DTOUser.password != null) && (DTOUser.password.Trim().Length < 1)) { objDTOStatus.Success = false; objDTOStatus.StatusMessage = "Account must be migrated to the new membership system -- Must supply a new password"; return(objDTOStatus); } RegisterDTO objRegisterDTO = new RegisterDTO(); objRegisterDTO.email = DTOUser.email; objRegisterDTO.firstName = DTOUser.firstName; objRegisterDTO.lastName = DTOUser.lastName; objRegisterDTO.password = DTOUser.password; objRegisterDTO.userName = DTOUser.userName; try { // Membership API user = new ApplicationUser { UserName = DTOUser.userName, Email = DTOUser.email }; var RegisterStatus = _userManager.CreateAsync(user, DTOUser.password).Result; if (!RegisterStatus.Succeeded) { // Registration was not successful if (RegisterStatus.Errors.FirstOrDefault() != null) { objDTOStatus.StatusMessage = RegisterStatus.Errors.FirstOrDefault().Description; } else { objDTOStatus.StatusMessage = "Registration error"; } objDTOStatus.Success = false; return(objDTOStatus); } } catch (Exception ex) { objDTOStatus.Success = false; objDTOStatus.StatusMessage = ex.Message; return(objDTOStatus); } } #endregion // Update Email var result = _userManager.SetEmailAsync(user, DTOUser.email).Result; // Only update password if it is passed if ((DTOUser.password != null) && (DTOUser.password.Trim().Length > 1)) { try { var resetToken = _userManager.GeneratePasswordResetTokenAsync(user).Result; var passwordResult = _userManager.ResetPasswordAsync(user, resetToken, DTOUser.password).Result; if (!passwordResult.Succeeded) { if (passwordResult.Errors.FirstOrDefault() != null) { objDTOStatus.StatusMessage = passwordResult.Errors.FirstOrDefault().Description; } else { objDTOStatus.StatusMessage = "Pasword error"; } objDTOStatus.Success = false; return(objDTOStatus); } } catch (Exception ex) { objDTOStatus.Success = false; objDTOStatus.StatusMessage = ex.Message; return(objDTOStatus); } } objDTOStatus.StatusMessage = ""; objDTOStatus.Success = true; return(objDTOStatus); }
public RegisterStatus CreateAdminLogin([FromBody] RegisterDTO objRegister) { // RegisterStatus to return RegisterStatus objRegisterStatus = new RegisterStatus(); objRegisterStatus.status = "Registration Failure"; objRegisterStatus.isSuccessful = false; // Test for a strong password if (!UtilitySecurity.IsPasswordStrong(objRegister.password)) { objRegisterStatus.status = "The password is not strong enough."; objRegisterStatus.isSuccessful = false; return(objRegisterStatus); } // Do not run if we can connect to the current database if (CurrentVersion().isNewDatabase == false) { objRegisterStatus.isSuccessful = false; objRegisterStatus.status = "Cannot create the Admin account because the database is already set-up. Reload your web browser to upgrade using the updated database connection."; } else { // Run the scripts to set-up the database DTOStatus objDTOStatus = RunUpdateScripts(NewDatabaseVersion, _hostEnvironment, GetConnectionString()); if (!objDTOStatus.Success) { // If scripts have an error return it objRegisterStatus.isSuccessful = false; objRegisterStatus.status = objDTOStatus.StatusMessage; } else { // Create the Administrator string strCurrentHostLocation = $"{this.Request.Scheme}://{this.Request.Host}{this.Request.PathBase}"; objRegisterStatus = RegisterController.RegisterUser( objRegister, GetConnectionString(), _hostEnvironment, _userManager, _signInManager, strCurrentHostLocation, true, true); // There was an error creating the Administrator if (!objRegisterStatus.isSuccessful) { // Delete the record in the version table // So the install can be run again objDTOStatus = ResetVersionTable(); if (!objDTOStatus.Success) { // If there is an error return it objRegisterStatus.isSuccessful = false; objRegisterStatus.status = objDTOStatus.StatusMessage; } else { // Delete the user in case they were partially created objDTOStatus = DeleteAllUsers(); if (!objDTOStatus.Success) { // If there is an error return it objRegisterStatus.isSuccessful = false; objRegisterStatus.status = objDTOStatus.StatusMessage; } } } else { // Update the created user to be a SuperUser objDTOStatus = MakeUserASuperUser(objRegister.userName); #region Set the upload file path try { string strDefaultFilesPath = ADefHelpDeskApp.Controllers.ApplicationSettingsController.GetFilesPath(_DefaultFilesPath, GetConnectionString()); // Get GeneralSettings GeneralSettings objGeneralSettings = new GeneralSettings(GetConnectionString()); objGeneralSettings.UpdateFileUploadPath(GetConnectionString(), strDefaultFilesPath); } catch { // Do nothing if this fails // Admin can set the file path manually } #endregion if (!objDTOStatus.Success) { // If there is an error return it objRegisterStatus.isSuccessful = false; objRegisterStatus.status = objDTOStatus.StatusMessage; } } } } return(objRegisterStatus); }
public static DTOStatus DeleteCategory(int id, string ConnectionString) { // Status to return DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.Success = true; var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(ConnectionString); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { var categoryNode = context.AdefHelpDeskCategories.SingleOrDefaultAsync(x => x.CategoryId == id).Result; if (categoryNode == null) { objDTOStatus.StatusMessage = $"id #{id} Not Found"; objDTOStatus.Success = false; return(objDTOStatus); } try { // Get all Task Categories of the current item var ColExistingTaskCategories = from objTaskCategory in context.AdefHelpDeskTaskCategories where objTaskCategory.CategoryId == categoryNode.CategoryId select objTaskCategory; if (ColExistingTaskCategories.Count() > 0) { context.AdefHelpDeskTaskCategories.RemoveRange(ColExistingTaskCategories); context.SaveChanges(); } int?ParentNodeID = null; // Possibly update Child Nodes if (categoryNode.ParentCategoryId.HasValue) { // Get the Parent Node of the ExistingNode ParentNodeID = categoryNode.ParentCategoryId.Value; } // Get the children of the current item var ChildResults = from objNode in context.AdefHelpDeskCategories where objNode.ParentCategoryId.Value == categoryNode.CategoryId where objNode.ParentCategoryId.HasValue == true select objNode; // Loop thru each Child of the current Node foreach (var objChild in ChildResults) { // Update the Parent Node // for the Child Node objChild.ParentCategoryId = ParentNodeID; } context.AdefHelpDeskCategories.Remove(categoryNode); context.SaveChanges(); } catch (Exception ex) { objDTOStatus.StatusMessage = ex.GetBaseException().Message; objDTOStatus.Success = false; } } return(objDTOStatus); }
public async Task <IActionResult> Put([FromRoute] int id, [FromBody] ApiSecurityDTO ApiSecurityDTO) { // Must be a Super Administrator to call this Method if (!UtilitySecurity.IsSuperUser(this.User.Identity.Name, GetConnectionString())) { return(BadRequest()); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != ApiSecurityDTO.id) { return(BadRequest()); } // Status to return DTOStatus objDTOStatus = new DTOStatus(); objDTOStatus.StatusMessage = "Failure"; objDTOStatus.Success = false; #region Validate if (ApiSecurityDTO.password == null || ApiSecurityDTO.password == "") { objDTOStatus.StatusMessage = $"Error: A Password is required."; objDTOStatus.Success = false; return(Ok(objDTOStatus)); } if (ApiSecurityDTO.password.Trim().Length < 5) { objDTOStatus.StatusMessage = $"Error: A password longer than 5 characters is required."; objDTOStatus.Success = false; return(Ok(objDTOStatus)); } #endregion var optionsBuilder = new DbContextOptionsBuilder <ADefHelpDeskContext>(); optionsBuilder.UseSqlServer(GetConnectionString()); using (var context = new ADefHelpDeskContext(optionsBuilder.Options)) { var existingApiSecurity = await context.AdefHelpDeskApiSecurity.SingleOrDefaultAsync(x => x.Id == id); if (existingApiSecurity == null) { return(NotFound()); } // Update the ApiSecurity existingApiSecurity.ContactName = ApiSecurityDTO.contactName; existingApiSecurity.ContactCompany = ApiSecurityDTO.contactCompany; existingApiSecurity.ContactWebsite = ApiSecurityDTO.contactWebsite; existingApiSecurity.ContactEmail = ApiSecurityDTO.contactEmail; existingApiSecurity.ContactPhone = ApiSecurityDTO.contactPhone; existingApiSecurity.IsActive = ApiSecurityDTO.isActive; if (ApiSecurityDTO.password != null) { if (ApiSecurityDTO.password.Trim().Length > 1) { existingApiSecurity.Password = ApiSecurityDTO.password.Trim(); } } context.Entry(existingApiSecurity).State = EntityState.Modified; try { await context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException ex) { objDTOStatus.StatusMessage = ex.GetBaseException().Message; objDTOStatus.Success = false; return(Ok(objDTOStatus)); } catch (Exception ex) { objDTOStatus.StatusMessage = ex.GetBaseException().Message; objDTOStatus.Success = false; return(Ok(objDTOStatus)); } // Log to the System Log Log.InsertSystemLog( GetConnectionString(), Constants.WebAPIAccountUpdated, this.User.Identity.Name, $"({this.User.Identity.Name}) Updated Username: {ApiSecurityDTO.username}"); } objDTOStatus.StatusMessage = ""; objDTOStatus.Success = true; return(Ok(objDTOStatus)); }