public async Task <IActionResult> Create([Bind(ATTRIBUTES_TO_BIND)] SystemUserVM UpdateVm)
        {
            if (ModelState.IsValid)
            {
                var username = UserName.Create(UpdateVm.UserName);
                var password = Password.Create(UpdateVm.Password);
                var result   = Result.Combine("|", username, password);

                if (result.IsSuccess)
                {
                    TempData["javascriptMessage"] = Constants.JAVASCRIPT_SUCCESS_FUNCTION;
                    await _repository.Save(SystemUser.CreateOperational(username.Value,
                                                                        UpdateVm.FullName,
                                                                        password.Value,
                                                                        UpdateVm.IsAdministrator));

                    return(RedirectToAction("Index"));
                }
                else
                {
                    Array.ForEach(result.Error.Split('|'), x => ModelState.AddModelError(string.Empty, x));
                }
            }

            return(View(UpdateVm));
        }