Exemplo n.º 1
0
        public async Task <RegisterViewModel> Register(RegisterViewModel model)
        {
            try
            {
                var page = await base.InitPage();

                model.SetInitInfo(page);
                var user = await _customerService.GetFromDbByEmailOrMobile(model.EmailOrMobile);

                if (user != null)
                {
                    model.AddMessage(ResourceKey.Account_Register_UserExist);
                    return(model);
                }
                long systemNumericalOrder = await _commonService.GetNextId(typeof(Customer));

                var command = model.ToCommand(_currentContext.Ip, systemNumericalOrder);
                var result  = await _customerService.SendCommand(command);

                if (!result.IsSucess)
                {
                    model.AddMessage(result.Message);
                }
                else
                {
                    await _commonService.SetFlagRegisterSuccessAsync(result.ObjectId);
                }
                return(model);
            }
            catch (Exception e)
            {
                _logger.LogError(e, e.Message, model);
                throw e;
            }
        }