Beispiel #1
0
        public async Task <bool> updateUser(UserDto userDto)
        {
            try
            {
                var oUser = await _Users
                            .SingleAsync(x =>
                                         x.companyId == userDto.companyId &&
                                         x.id == userDto.id);


                oUser.address       = userDto.address;
                oUser.email         = userDto.email;
                oUser.fullName      = userDto.fullName;
                oUser.isItemAdmin   = userDto.isItemAdmin;
                oUser.isDataAdmin   = userDto.isDataAdmin;
                oUser.mobile        = userDto.mobile;
                oUser.modiferUserId = userDto.userId;
                oUser.nationalCode  = userDto.nationalCode;
                oUser.password      = userDto.password;
                oUser.telephone     = userDto.telephone;
                oUser.isActive      = userDto.isActive;
                oUser.modiferUserId = userDto.userId;

                foreach (var oAccessgroupDto in userDto.accessgroupsDto)
                {
                    var oFoundAccessgroupUser = await _AccessgroupUsers
                                                .SingleOrDefaultAsync(x =>
                                                                      x.userId == userDto.id &&
                                                                      x.accessgroupId == oAccessgroupDto.id);


                    if (oFoundAccessgroupUser == null)
                    {
                        if (oAccessgroupDto.isChecked == true)
                        {
                            var oNewAccessgroupUser = new AccessgroupUser();
                            oNewAccessgroupUser.userId        = userDto.id;
                            oNewAccessgroupUser.accessgroupId = oAccessgroupDto.id;
                            _AccessgroupUsers.Add(oNewAccessgroupUser);
                        }
                    }
                    else
                    {
                        if (oAccessgroupDto.isChecked == false)
                        {
                            _AccessgroupUsers.Remove(oFoundAccessgroupUser);
                        }
                    }
                }

                await _uow.SaveChangesAsync();

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Beispiel #2
0
        public async Task <bool> insertUser(UserDto userDto)
        {
            try
            {
                var blnIsExistsUsername = await _Users.AnyAsync(r => r.username == userDto.username);

                if (blnIsExistsUsername == true)
                {
                    return(false);  //Repetetive Username
                }
                var oUser = new User
                {
                    address       = userDto.address,
                    email         = userDto.email,
                    fullName      = userDto.fullName,
                    isItemAdmin   = userDto.isItemAdmin,
                    mobile        = userDto.mobile,
                    nationalCode  = userDto.nationalCode,
                    password      = userDto.password,
                    telephone     = userDto.telephone,
                    username      = userDto.username,
                    isActive      = userDto.isActive,
                    companyId     = userDto.companyId,
                    isDataAdmin   = userDto.isDataAdmin,
                    createdUserId = userDto.userId,
                };

                foreach (var oAccessgroupDto in userDto.accessgroupsDto)
                {
                    if (oAccessgroupDto.isChecked == true)
                    {
                        var oAccessgroupUser = new AccessgroupUser();
                        oAccessgroupUser.accessgroupId = oAccessgroupDto.id;
                        oUser.accessgroupUsers.Add(oAccessgroupUser);
                    }
                }


                _Users.Add(oUser);
                await _uow.SaveChangesAsync();

                return(true);
            }
            catch
            {
                return(false);
            }
        }