public void SignUp(User user) { if (string.IsNullOrWhiteSpace(user.Email)) { throw new Exception("Email can not be empty."); } if (string.IsNullOrWhiteSpace(user.Password)) { throw new Exception("Password can not be empty."); } if (string.IsNullOrWhiteSpace(user.FirstName)) { throw new Exception("Firstname can not be empty."); } if (string.IsNullOrWhiteSpace(user.LastName)) { throw new Exception("Lastname can not be empty."); } if (user.Gender != 'm' && user.Gender != 'f') { throw new Exception("Invalid Gender supplied"); } user.Password = _encryptionManager.Encrypt(user.Password); user.UserGroup_ID = API.Models.Type.User; using (var scope = _scopeFactory.CreateScope()) { var dbContext = scope.ServiceProvider.GetRequiredService <Context>(); dbContext.Users.Add(user); dbContext.SaveChanges(); } }
public async Task <InstanceViewModel> AddInstance(InstanceViewModel newInstance) { if (String.IsNullOrEmpty(newInstance.InstanceName) || String.IsNullOrEmpty(newInstance.ServerName) || String.IsNullOrEmpty(newInstance.Login) || String.IsNullOrEmpty(newInstance.Password) || !newInstance.IsWindowsAuthentication.HasValue) { throw new InvalidModelException("Instance name, Server name, Login, Password, and authentication type are required."); } string encryptionKey; var encryptedPassword = encryptionManager.Encrypt(out encryptionKey, newInstance.Password); using (var context = new MsSqlMonitorEntities()) { if (null != await context.Instances.FirstOrDefaultAsync(inst => inst.ServerName.ToUpper() == newInstance.ServerName.ToUpper() && inst.InstanceName.ToUpper() == newInstance.InstanceName.ToUpper())) { throw new ObjectAlreadyExistException("Instance already exist in the system."); } Instance result = new Instance() { ServerName = newInstance.ServerName, InstanceName = newInstance.InstanceName, Password = encryptedPassword, EncryptionKey = encryptionKey, Login = newInstance.Login, Authentication = newInstance.IsWindowsAuthentication.Value ? AuthenticationType.Windows : AuthenticationType.Sql }; context.Instances.Add(result); await context.SaveChangesAsync(); return(result.ToViewModel()); } }
public async Task <IFileResponse> UploadBioVideoAsync(UploadBioVideoView model) { try { var userInfo = await _appDbContext.UserInfos.Include(k => k.User).FirstOrDefaultAsync(k => k.Id == model.UserId); var data = new File() { IdGuid = Guid.NewGuid(), SizeMb = GetFileSize(model.File.Length), Name = model.File.FileName, ProviderName = "SqlProvider", ExtraParams = model.ExtraParams, Created = DateTime.UtcNow, MimeType = model.File.ContentType, Modified = DateTime.UtcNow, CreatedBy = userInfo.Email, ModifiedBy = userInfo.Email }; var savedEntity = (await _appDbContext.Files.AddAsync(data)).Entity; await _appDbContext.SaveChangesAsync(); var profile = await _appDbContext.Profiles.FirstOrDefaultAsync(k => k.Id == model.UserId); profile.ExpressYourselfUrl = _encryption.Encrypt(savedEntity.Id.ToString()); await _appDbContext.SaveChangesAsync(); var fileDb = new FileDB() { Id = savedEntity.IdGuid, Bytes = StreamToBytes(model.File.OpenReadStream()) }; await _fileDbContext.FileDB.AddAsync(fileDb); await _fileDbContext.SaveChangesAsync(); return(new FileResponse(true, "Success", HttpStatusCode.Accepted)); } catch (Exception e) { return(new FileResponse(e)); } }
public virtual ProtectedSecret Protect(string keyName, ClearSecret secret) { if (secret == null) { throw new ArgumentNullException(nameof(secret)); } var encryptedSecret = _encryptionManager.Encrypt(keyName, SecretEncoding.GetBytes(secret.Value)); return(new ProtectedSecret { ApplicationName = secret.ApplicationName, MasterKeyId = keyName, InitialisationVector = encryptedSecret.InitialisationVector, Name = secret.Name, ProtectedDocumentKey = encryptedSecret.EncryptedDataKey, ProtectedSecretValue = encryptedSecret.EncryptedData }); }