internal IValidationResult AccessCode(AccessCode accessCode) { IValidationResult validationResult = new ValidationResult(); // Do not permit site admins to be added. if (accessCode.Role == Role.SiteAdmin) { validationResult.AddError("Role.Type", "A SiteAdmin may not be added."); } // Null checks. if (accessCode.Description == string.Empty || accessCode.Description == null) { validationResult.AddError("Description.Null", "Description can not be empty or null."); } else { // Range checks. if (accessCode.Description.Length > 30) { validationResult.AddError("Description.Length", "Description should be less than 30 characters in length."); } } return validationResult; }
/// <summary> /// Add an access key to an account. /// </summary> /// <param name="accountId">The id of the account for which an access code should be added.</param> /// <param name="description">A short description for the new access code.</param> /// <param name="role">The role that.</param> /// <returns>Returns a randomly generated key.</returns> internal string AddAccessCode(int accountId, string description, Role role) { AccessCode accessCode = null; string generatedKey = string.Empty; // Retrieve the account. var account = this.doctrineShipsRepository.GetAccount(accountId); // Does the account exist? if (account != null) { accessCode = new AccessCode(); // If this is a user account, use a shorter key. if (role == Role.User) { generatedKey = Security.GenerateRandomString(6); } else { generatedKey = Security.GenerateRandomString(16); } accessCode.AccountId = accountId; accessCode.Role = role; accessCode.Description = description; accessCode.Salt = Security.GenerateSalt(128); accessCode.Key = Security.GenerateHash(generatedKey, accessCode.Salt); accessCode.LastLogin = DateTime.UtcNow; accessCode.DateCreated = DateTime.UtcNow; accessCode.IsActive = true; // Validate the new access code. if (this.doctrineShipsValidation.AccessCode(accessCode).IsValid == true) { // Add the new access code and read it back. accessCode = this.doctrineShipsRepository.CreateAccessCode(accessCode); this.doctrineShipsRepository.Save(); logger.LogMessage("Access Code (Role: " + accessCode.Role + ") Added For Account Id: " + accessCode.AccountId, 2, "Message", MethodBase.GetCurrentMethod().Name); } else { generatedKey = string.Empty; } } return generatedKey; }
internal void UpdateAccessCode(AccessCode accessCode) { accessCode.ObjectState = ObjectState.Modified; this.unitOfWork.Repository<AccessCode>().Update(accessCode); }
internal AccessCode CreateAccessCode(AccessCode accessCode) { accessCode.ObjectState = ObjectState.Added; this.unitOfWork.Repository<AccessCode>().Insert(accessCode); return accessCode; }
internal AccessCode AddAccessCode(AccessCode accessCode) { this.unitOfWork.Repository<AccessCode>().Insert(accessCode); return accessCode; }
public void UpdateAccessCode(AccessCode accessCode) { AccessCodeOperations.UpdateAccessCode(accessCode); }
public AccessCode CreateAccessCode(AccessCode accessCode) { return AccessCodeOperations.CreateAccessCode(accessCode); }
public AccessCode AddAccessCode(AccessCode accessCode) { return AccessCodeOperations.AddAccessCode(accessCode); }
public IValidationResult AccessCode(AccessCode accessCode) { return AccountCheck.AccessCode(accessCode); }