Пример #1
0
        /// <summary>
        /// Logins the asynchronous.
        /// </summary>
        /// <param name="email">The email.</param>
        /// <param name="password">The password.</param>
        /// <returns></returns>
        public async Task <UserDto> LoginAsync(string email, string password)
        {
            UserDto result = null;

            try
            {
                using (OrderAppEntities context = new OrderAppEntities())
                {
                    string passHash = AppCipher.EncryptCipher(password);
                    result = await(from item in context.Users
                                   where item.Email == email &&
                                   item.PasswordHash == passHash
                                   select new UserDto()
                    {
                        ID           = item.Id,
                        Email        = item.Email,
                        Firstname    = item.Firstname,
                        Lastname     = item.Lastname,
                        Phone        = item.Phone,
                        RegistedDate = item.RegistedDate,
                        RoleId       = item.RoleId,
                        Role         = new RoleDto()
                        {
                            ID = item.Role.Id, Name = item.Role.Name, Description = item.Role.Description
                        },
                    }).SingleAsync();
                }
            }
            catch (Exception ex)
            {
                _logService.Error(ex.Message, ex);
                result = null;
            }
            return(result);
        }
Пример #2
0
        /// <summary>
        ///     Adds the range asynchronous.
        /// </summary>
        /// <param name="entities">The entities.</param>
        /// <returns></returns>
        public async Task <SaveResult> AddRangeAsync(IEnumerable <UserResult> entities)
        {
            return(await ExecuteDbWithHandleAsync(_logService, async() =>
            {
                using (var context = new TechOfficeEntities())
                {
                    User add;
                    foreach (var entity in entities)
                    {
                        add = context.Users.Create();

                        add.UserName = entity.UserName;
                        add.Password = AppCipher.EncryptCipher(entity.Password);
                        add.IsLocked = entity.IsLocked;
                        add.HoVaTen = entity.HoVaTen;
                        add.ChucVuId = entity.ChucVuId;
                        add.CoQuanId = entity.CoQuanId;

                        add.IsDeleted = entity.IsDeleted;
                        add.CreatedBy = entity.CreatedBy;
                        add.CreateDate = DateTime.Now;

                        context.Entry(add).State = EntityState.Added;
                    }
                    return await context.SaveChangesAsync() > 0 ? SaveResult.SUCCESS : SaveResult.FAILURE;
                }
            }));
        }
Пример #3
0
        /// <summary>
        /// Adds the asynchronous.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <returns></returns>
        public async Task <SaveResult> AddAsync(UserDto entity)
        {
            SaveResult result = SaveResult.FAILURE;

            try
            {
                using (OrderAppEntities context = new OrderAppEntities())
                {
                    User add = context.Users.Create();

                    add.Email         = entity.Email;
                    add.PasswordHash  = AppCipher.EncryptCipher(entity.PasswordHash);
                    add.RoleId        = entity.RoleId;
                    add.RegistedDate  = entity.RegistedDate;
                    add.Phone         = entity.Phone;
                    add.IsLocked      = entity.IsLocked;
                    add.Firstname     = entity.Firstname;
                    add.Lastname      = entity.Lastname;
                    add.LastLoginDate = entity.LastLoginDate;
                    add.IsDeleted     = entity.IsDeleted;
                    add.LastUpdatedBy = entity.LastUpdatedBy;
                    add.LastUpdate    = DateTime.Now;

                    context.Entry <User>(add).State = System.Data.Entity.EntityState.Added;
                    result = await context.SaveChangesAsync() > 0 ? SaveResult.SUCCESS : SaveResult.FAILURE;
                }
            }
            catch (Exception ex)
            {
                _logService.Error(ex.Message, ex);
                result = SaveResult.FAILURE;
            }
            return(result);
        }
Пример #4
0
        /// <summary>
        ///     Resets the password asynchronous.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <param name="newPassword">The new password.</param>
        /// <returns></returns>
        public async Task <SaveResult> ResetPasswordAsync(int id, string newPassword)
        {
            return(await ExecuteDbWithHandleAsync(_logService, async() =>
            {
                using (var context = new TechOfficeEntities())
                {
                    var update = context.Users.Single(x => x.Id == id && x.IsDeleted == false);

                    update.Password = AppCipher.EncryptCipher(newPassword);

                    context.Entry(update).State = EntityState.Modified;
                    return await context.SaveChangesAsync() > 0 ? SaveResult.SUCCESS : SaveResult.FAILURE;
                }
            }));
        }
Пример #5
0
        public SaveResult AddUserWithRoles(UserResult entity)
        {
            return(ExecuteDbWithHandle(_logService, () =>
            {
                var result = SaveResult.FAILURE;

                using (var context = new TechOfficeEntities())
                {
                    using (var transaction = context.BeginTransaction())
                    {
                        var add = context.Users.Create();

                        add.UserName = entity.UserName;
                        add.Password = AppCipher.EncryptCipher(entity.Password);
                        add.IsLocked = entity.IsLocked;
                        add.HoVaTen = entity.HoVaTen;
                        add.ChucVuId = entity.ChucVuId;
                        add.CoQuanId = entity.CoQuanId;

                        add.IsDeleted = entity.IsDeleted;
                        add.CreatedBy = entity.CreatedBy;
                        add.CreateDate = DateTime.Now;

                        context.Entry(add).State = EntityState.Added;

                        UserRole role;
                        foreach (var item in entity.UserRoles)
                        {
                            role = context.UserRoles.Create();

                            role.RoleId = item.RoleInfo.Id;
                            role.UserId = add.Id;

                            role.IsDeleted = entity.IsDeleted;
                            role.CreatedBy = add.CreatedBy;
                            role.CreateDate = add.CreateDate;

                            context.Entry(role).State = EntityState.Added;
                        }

                        result = context.SaveChanges() > 0 ? SaveResult.SUCCESS : SaveResult.FAILURE;

                        transaction.Commit();
                    }
                }
                return result;
            }));
        }
Пример #6
0
 /// <summary>
 ///     Logins the specified userName.
 /// </summary>
 /// <param name="userName">The userName.</param>
 /// <param name="password">The password.</param>
 /// <returns></returns>
 public UserResult Login(string userName, string password)
 {
     return(ExecuteDbWithHandle(_logService, () =>
     {
         using (var context = new TechOfficeEntities())
         {
             var passHash = AppCipher.EncryptCipher(password);
             return (from item in context.Users
                     where item.UserName == userName &&
                     item.Password == passHash
                     select item)
             .MakeQueryToDatabase()
             .Select(x => x.ToDataResult())
             .SingleOrDefault();
         }
     }));
 }
Пример #7
0
 /// <summary>
 ///     Logins the asynchronous.
 /// </summary>
 /// <param name="userName">The userName.</param>
 /// <param name="password">The password.</param>
 /// <returns></returns>
 public async Task <UserResult> LoginAsync(string userName, string password)
 {
     return(await ExecuteDbWithHandleAsync(_logService, async() =>
     {
         using (var context = new TechOfficeEntities())
         {
             var passHash = AppCipher.EncryptCipher(password);
             return await(from item in context.Users
                          where item.UserName == userName &&
                          item.Password == passHash
                          select item)
             .MakeQueryToDatabase()
             .Select(x => x.ToDataResult())
             .AsQueryable()
             .SingleAsync();
         }
     }));
 }
Пример #8
0
        /// <summary>
        ///     Adds the specified entity.
        /// </summary>
        /// <param name="entity">The entity.</param>
        /// <returns></returns>
        public SaveResult Add(UserResult entity)
        {
            return(ExecuteDbWithHandle(_logService, () =>
            {
                using (var context = new TechOfficeEntities())
                {
                    var add = context.Users.Create();

                    add.UserName = entity.UserName;
                    add.Password = AppCipher.EncryptCipher(entity.Password);
                    add.IsLocked = entity.IsLocked;
                    add.HoVaTen = entity.HoVaTen;
                    add.ChucVuId = entity.ChucVuId;
                    add.CoQuanId = entity.CoQuanId;

                    add.IsDeleted = entity.IsDeleted;
                    add.CreatedBy = entity.CreatedBy;
                    add.CreateDate = DateTime.Now;

                    context.Entry(add).State = EntityState.Added;
                    return context.SaveChanges() > 0 ? SaveResult.SUCCESS : SaveResult.FAILURE;
                }
            }));
        }