public Outcome Execute() { Outcome response = new Outcome(); SSORegistrationResponseDTO dto = new SSORegistrationResponseDTO(); dto.Messages = new List <string>(); SSORegDTO gatewayDTO = new SSORegDTO() { username = incommingCredentials.username, password = incommingCredentials.password, salt = incommingCredentials.salt }; SSORegistrationGateway gateway = new SSORegistrationGateway(); var gatewayResponse = gateway.SSORegistration(gatewayDTO); if (gatewayResponse.isSuccessful == false) { dto.isSuccessful = false; dto.Messages.Add("Faild to add User"); response.Result = dto; return(response); } dto.isSuccessful = true; dto.password = ""; dto.username = ""; dto.Messages.Add("Success"); response.Result = dto; return(response); }
public SSORegDTO SSORegistration(SSORegDTO dto) { var checkCredential = (from u in db.Credentials where u.UserName == dto.username select u).FirstOrDefault(); var getLocation = (from u in db.Locations where u.Address == "NULL" && u.City == "NULL" && u.State == "NULL" && u.Zipcode == "NULL" select u).FirstOrDefault(); SSORegDTO response = new SSORegDTO(); response.Messages = new List <string>(); using (var dbTransaction = db.Database.BeginTransaction()) { try { if (getLocation == null) { Location location = new Location() { Address = "NULL", City = "NULL", State = "NULL", Zipcode = "NULL", Latitude = 0.0, Longitude = 0.0 }; db.Locations.Add(location); db.SaveChanges(); } if (checkCredential == null) { var locationID = (from u in db.Locations where u.Address == "NULL" && u.City == "NULL" && u.State == "NULL" && u.Zipcode == "NULL" select u).FirstOrDefault(); Credential cred = new Credential() { UserName = dto.username, Password = dto.password }; db.Credentials.Add(cred); db.SaveChanges(); Salt salt = new Salt() { UserID = cred.UserID, SaltValue = dto.salt, Credential = cred }; db.Salts.Add(salt); db.SaveChanges(); UserProfile type = new UserProfile() { UserID = cred.UserID, LocationID = locationID.LocationID, Type = "SSO" }; db.UserProfiles.Add(type); db.SaveChanges(); dbTransaction.Commit(); response.Messages.Add("Success!"); response.isSuccessful = true; return(response); } dbTransaction.Rollback(); response.Messages.Add("User Already Exist"); response.isSuccessful = false; return(response); }catch (MulticastNotSupportedException) { dbTransaction.Rollback(); response.Messages.Add("Failed to Exist"); response.isSuccessful = false; return(response); } } }