Beispiel #1
0
        /// <summary>
        ///     Редактировать пользователей.
        /// </summary>
        /// <param name="users">Отредактированные пользователи</param>
        /// <returns></returns>
        public async Task <bool> EditUsersAsync(string users)
        {
            try
            {
                await Task.Run(() =>
                {
                    List <User> usersList;
                    usersList = JsonConvert.DeserializeObject <List <User> >(users);

                    using (var context = new VirtuSystemsDbContex())
                    {
                        var usersDb = context.Users.Where(x => usersList.Contains(x)).AsTracking().ToList();
                        usersDb     = GetUpdateUserList(usersDb, usersList);

                        foreach (var user in usersList)
                        {
                            if (usersDb.All(x => x.Id != user.Id))
                            {
                                usersDb.Add(GetNewUser(user));
                            }
                        }

                        context.UpdateRange(usersDb.Distinct());
                        context.SaveChanges();
                    }
                });

                return(true);
            }
            catch
            {
                return(false);
            }
        }
Beispiel #2
0
        /// <summary>
        ///     Получить всех пользователей.
        /// </summary>
        /// <returns>Коллекция пользователей.</returns>
        public async Task <string> GetUsersAsync()
        {
            try
            {
                List <User> users;
                using (var context = new VirtuSystemsDbContex())
                {
                    users = await context.Users.ToListAsync();
                }

                return(JsonConvert.SerializeObject(users));
            }
            catch
            {
                return(string.Empty);
            }
        }
Beispiel #3
0
        /// <summary>
        ///     Инициализация данных в БД.
        /// </summary>
        /// <returns></returns>
        public async Task AddDataInDbAsync()
        {
            await Task.Run(() =>
            {
                using (var context = new VirtuSystemsDbContex())
                {
                    var items = context.Users.Count();
                    if (items == 0)
                    {
                        var users = new List <User>();
                        for (var i = 1; i <= 10; i++)
                        {
                            users.Add(new User
                            {
                                BirthDay = DateTime.Today.Date, Name = "Test_" + i, Phone = "8 888 888 88 88"
                            });
                        }

                        context.AddRange(users);
                        context.SaveChanges();
                    }
                }
            });
        }