コード例 #1
0
        public void Create(FullUser fullUser)
        {
            if (
                fullUser.IsValid() &&
                fullUser.Worker.IsValid(_workerServices.Read().Select(x => x.PassportNumber).ToList()) &&
                (fullUser?.User?.IsValid(_userServices.Read().Select(y => y.Login).ToList()) ?? true)
                )
            {
                try
                {
                    _workerServices.Create(fullUser.Worker);
                }
                catch (Exception)
                {
                    throw;
                }
                if (fullUser.User != null)
                {
                    fullUser.User = _userServices.Create(fullUser.User);

                    foreach (var item in fullUser.Roles)
                    {
                        _userRoleServices.Create(new UserRole()
                        {
                            UserId = fullUser.User.Id, RoleId = item.Id
                        });
                    }
                }
            }
        }
コード例 #2
0
        public void Update(FullUser fullUser)
        {
            if (fullUser.IsValid())
            {
                _workerServices.Update(fullUser.Worker, fullUser.Worker.PersonalData);

                _userServices.Delete(new User(), fullUser.Worker.PassportNumber);

                if (fullUser.User != null)
                {
                    fullUser.User = _userServices.Create(fullUser.User);

                    int length = fullUser.Roles.Count;
                    for (int i = 0; i < length; i++)
                    {
                        UserRole userRole = new UserRole()
                        {
                            RoleId = fullUser.Roles[i].Id, UserId = fullUser.User.Id
                        };
                        _userRoleServices.Create(userRole);
                    }
                }
            }
        }