コード例 #1
0
        public async Task Execute()
        {
            var instructions = await _instructionDataService.Where(i => string.IsNullOrEmpty(i.OldInstructedString));

            var users = (await _userDataService.GetAll()).ToList();

            foreach (var instruction in instructions)
            {
                var instructionInfo = new FileInfo(instruction.Path);
                var instructedName  = instructionInfo.Name.Split("_")[0];
                if (!Helper.IsValidEmail(instructedName))
                {
                    continue;
                }

                var user = users.FirstOrDefault(u => u.Email == instructedName);

                if (user is null)
                {
                    user = new User {
                        Email = instructedName
                    };
                    users.Add(user);

                    var mailSplit = instructedName.Split("@")[0].Split(".");

                    if (mailSplit.Length != 2)
                    {
                        continue;
                    }
                    user.FirstName = mailSplit[0];
                    user.LastName  = mailSplit[1];
                }

                instruction.Instructed = user;

                await _instructionDataService.Update(instruction.Id, instruction);
            }
        }
コード例 #2
0
 /// <summary>
 /// Gets All.
 /// </summary>
 public override List <User> GetAll()
 {
     return(_userDataService.GetAll());
 }