Ejemplo n.º 1
0
        public async Task <IActionResult> Handle()
        {
            //Check for duplicate account before creating a new one:
            var foundUser = await usersRepository.GetUserFromEmail(customerGUID, Email);

            //This user already exists
            if (foundUser != null)
            {
                output              = new SuccessAndErrorMessage();
                output.Success      = false;
                output.ErrorMessage = "Duplicate Account!";

                return(new OkObjectResult(output));
            }

            output = await usersRepository.RegisterUser(customerGUID, Email, Password, FirstName, LastName);

            if (externalLoginProvider != null)
            {
                //This method will do nothing if AutoRegister isn't set to true
                await externalLoginProvider.RegisterAsync(Email, Password, Email);
            }

            return(new OkObjectResult(output));
        }
Ejemplo n.º 2
0
        public async Task <SuccessAndErrorMessage> RegisterUser(Guid customerGUID, string email, string password, string firstName, string lastName)
        {
            SuccessAndErrorMessage outputObject = new SuccessAndErrorMessage();

            try
            {
                using (Connection)
                {
                    var p = new DynamicParameters();
                    p.Add("@CustomerGUID", customerGUID);
                    p.Add("@Email", email);
                    p.Add("@Password", password);
                    p.Add("@FirstName", firstName);
                    p.Add("@LastName", lastName);
                    p.Add("@Role", "Player");
                    p.Add("@UserGUID", dbType: DbType.Guid, direction: ParameterDirection.Output);

                    await Connection.ExecuteAsync("AddUser",
                                                  p,
                                                  commandType : CommandType.StoredProcedure);
                }

                outputObject.Success      = true;
                outputObject.ErrorMessage = "";

                return(outputObject);
            }
            catch (Exception ex)
            {
                outputObject.Success      = false;
                outputObject.ErrorMessage = ex.Message;

                return(outputObject);
            }
        }
Ejemplo n.º 3
0
        public async Task <SuccessAndErrorMessage> UserSessionSetSelectedCharacter(Guid customerGUID, Guid userSessionGUID, string selectedCharacterName)
        {
            SuccessAndErrorMessage outputObject = new SuccessAndErrorMessage();

            try
            {
                using (Connection)
                {
                    var p = new DynamicParameters();
                    p.Add("@CustomerGUID", customerGUID);
                    p.Add("@UserSessionGUID", userSessionGUID);
                    p.Add("@SelectedCharacterName", selectedCharacterName);

                    await Connection.ExecuteAsync("UserSessionSetSelectedCharacter",
                                                  p,
                                                  commandType : CommandType.StoredProcedure);
                }

                outputObject.Success      = true;
                outputObject.ErrorMessage = "";

                return(outputObject);
            }
            catch (Exception ex)
            {
                outputObject.Success      = false;
                outputObject.ErrorMessage = ex.Message;

                return(outputObject);
            }
        }
        public async Task <IActionResult> Handle()
        {
            successOrError = await usersRepository.UserSessionSetSelectedCharacter(customerGUID, UserSessionGUID, SelectedCharacterName);

            output = await usersRepository.GetUserSession(customerGUID, UserSessionGUID);

            return(new OkObjectResult(output));
        }
Ejemplo n.º 5
0
        public async Task <SuccessAndErrorMessage> RegisterUser(Guid _CustomerGUID, string _UserName, string _Password, string _FirstName, string _LastName)
        {
            SuccessAndErrorMessage OutputObject = new SuccessAndErrorMessage();

            //Add Implementation

            return(OutputObject);
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> Handle()
        {
            await _instanceManagementRepository.SetZoneInstanceStatus(_customerGUID, request.ZoneInstanceID, request.InstanceStatus);

            _output = new SuccessAndErrorMessage()
            {
                Success      = true,
                ErrorMessage = ""
            };

            return(new OkObjectResult(_output));
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> Handle()
        {
            //Set the ZoneInstance status to shutting down


            //Send the servershutdown message to RabbitMQ
            var factory = new ConnectionFactory()
            {
                HostName = owsApiPathConfig.Value.InternalRabbitMQServerHostName
            };

            using (var connection = factory.CreateConnection())
            {
                using (var channel = connection.CreateModel())
                {
                    channel.ExchangeDeclare(exchange: "ows.servershutdown",
                                            type: "direct",
                                            durable: false,
                                            autoDelete: false);

                    MQShutDownServerMessage serverSpinUpMessage = new MQShutDownServerMessage();
                    serverSpinUpMessage.CustomerGUID   = CustomerGUID;
                    serverSpinUpMessage.ZoneInstanceID = ZoneInstanceID;

                    var body = serverSpinUpMessage.SerialiseIntoBinary();

                    channel.BasicPublish(exchange: "ows.servershutdown",
                                         routingKey: String.Format("ows.servershutdown.{0}", WorldServerID),
                                         basicProperties: null,
                                         body: body);
                }
            }

            Output = new SuccessAndErrorMessage()
            {
                Success      = true,
                ErrorMessage = ""
            };

            return(new OkObjectResult(Output));
        }
Ejemplo n.º 8
0
        public async Task <SuccessAndErrorMessage> ShutDownWorldServer(Guid customerGUID, int worldServerID)
        {
            using (Connection)
            {
                var p = new DynamicParameters();
                p.Add("@CustomerGUID", customerGUID);
                p.Add("@WorldServerID", worldServerID);

                await Connection.ExecuteAsync("ShutdownWorldServer",
                                              p,
                                              commandType : CommandType.StoredProcedure);
            }

            SuccessAndErrorMessage output = new SuccessAndErrorMessage()
            {
                Success      = true,
                ErrorMessage = ""
            };

            return(output);
        }
Ejemplo n.º 9
0
        public async Task <SuccessAndErrorMessage> SetZoneInstanceStatus(Guid customerGUID, int zoneInstanceID, int instanceStatus)
        {
            using (Connection)
            {
                var p = new DynamicParameters();
                p.Add("@MapInstanceID", zoneInstanceID);
                p.Add("@MapInstanceStatus", instanceStatus);

                await Connection.QueryFirstOrDefaultAsync("SetMapInstanceStatus",
                                                          p,
                                                          commandType : CommandType.StoredProcedure);
            }

            SuccessAndErrorMessage output = new SuccessAndErrorMessage()
            {
                Success      = true,
                ErrorMessage = ""
            };

            return(output);
        }
Ejemplo n.º 10
0
        public async Task <IActionResult> Handle()
        {
            _output = await _instanceManagementRepository.ShutDownWorldServer(_customerGUID, Request.WorldServerID);

            return(new OkObjectResult(_output));
        }