Exemplo n.º 1
0
        public Instruction(
            string registerToModify,
            RegisterOperations registerOperation,
            int operationAmount,
            string registerToCheck,
            RegisterComparisons registerComparison,
            int comparisonAmount)
        {
            if (string.IsNullOrEmpty(registerToModify))
            {
                throw new ArgumentNullException(nameof(registerToModify));
            }

            if (string.IsNullOrEmpty(registerToCheck))
            {
                throw new ArgumentNullException(nameof(registerToCheck));
            }

            this.RegisterToModify   = registerToModify;
            this.RegisterOperation  = registerOperation;
            this.OperationAmount    = operationAmount;
            this.RegisterToCheck    = registerToCheck;
            this.RegisterComparison = registerComparison;
            this.ComparisonAmount   = comparisonAmount;
        }
        private static Instruction ParseInstructionString(string instructionString)
        {
            var instructionParts = instructionString.Split(null);

            string registerToModify = instructionParts[0];

            string operation = instructionParts[1];
            RegisterOperations registerOperation = operation == "inc" ?
                RegisterOperations.Increment :
                RegisterOperations.Decrement;

            int operationAmount = Convert.ToInt32(instructionParts[2]);

            string registerToCheck = instructionParts[4];

            string comparison = instructionParts[5];
            RegisterComparisons registerComparison;

            switch (comparison)
            {
                case "<":
                    registerComparison = RegisterComparisons.LessThan;
                    break;

                case ">":
                    registerComparison = RegisterComparisons.GreaterThan;
                    break;

                case "<=":
                    registerComparison = RegisterComparisons.LessThanOrEqualTo;
                    break;

                case ">=":
                    registerComparison = RegisterComparisons.GreaterThanOrEqualTo;
                    break;

                case "==":
                    registerComparison = RegisterComparisons.EqualTo;
                    break;

                case "!=":
                    registerComparison = RegisterComparisons.NotEqualTo;
                    break;

                default:
                    registerComparison = RegisterComparisons.EqualTo;
                    break;
            }

            int comparisonAmount = Convert.ToInt32(instructionParts[6]);

            return new Instruction(
                registerToModify,
                registerOperation,
                operationAmount,
                registerToCheck,
                registerComparison,
                comparisonAmount);
        }
Exemplo n.º 3
0
        /* Render */

        public ActionResult Index()
        {
            if (!RegisterOperations.CanRender(Account.EMPTY_ACCOUNT))
            {
                return(base.ToLoginPage());
            }
            return(View());
        }
Exemplo n.º 4
0
        public ActionResult CreateAccount(UIAccount_C uim)
        {
            AjaxStatus status = new AjaxStatus();

            using (var context = new DataContext())
            {
                try
                {
                    Account model = uim.CreateModel();
                    RegisterOperations.TryCreate(Account.EMPTY_ACCOUNT, context, model);
                    context.SaveChanges();
                }
                catch (Exception e)
                {
                    base.HandleException("CreateAccount", e);
                    status.SetError(e.Message);
                }
            }
            return(Json(status));
        }
 public HomeController(ILogger <HomeController> logger)
 {
     _logger            = logger;
     registerOperations = new RegisterOperations();
     loginOperations    = new LoginOperations();
 }