Example #1
0
        public IAjaxResult CheckLogin(GetLoginDto getLoginDto)
        {
            string captcha = HttpContext.GetCookie("captcha");

            if (captcha != getLoginDto.Captcha)
            {
                return(Error("验证码填写错误"));
            }

            switch (_loginService.CheckLogin(getLoginDto))
            {
            case 0:
                int roleId = getLoginDto.RoleId;
                HttpContext.Session.SetString("role", roleId.ToString());
                HttpContext.Session.SetString("userName", getLoginDto.Name);
                return(Success("/Home/Index"));

            case 1: return(Error("用户名或密码错误"));

            case 2: return(Error("请填写用户名、密码并选择角色"));

            case 3: return(Error("该用户被禁用,请联系管理员"));

            default: throw new BusinessException("遇到未知错误");
            }
        }
Example #2
0
        public async Task <ServiceResponse <GetLoginDto> > Login(string username, string password)
        {
            ServiceResponse <GetLoginDto> response = new ServiceResponse <GetLoginDto>();
            GetLoginDto res  = new GetLoginDto();
            User        user = await _context.Tb_user.Include(c => c.Wilayah).Include(c => c.Struktur).ThenInclude(d => d.Akses).FirstOrDefaultAsync(x => x.Username.ToLower().Equals(username.ToLower()));

            if (user == null)
            {
                response.Status  = false;
                response.Message = "User Tidak Ditemukan";
            }
            else if (!VerifyPasswordHash(password, user.PasswordHash, user.PasswordSalt))
            {
                response.Status  = false;
                response.Message = "Password Salah";
            }
            else
            {
                var akun = await _context.Tb_akun.FirstOrDefaultAsync(c => c.User == user);

                if (akun == null)
                {
                    var vendor = await _context.Tb_vendor.FirstOrDefaultAsync(c => c.User == user);

                    if (vendor != null)
                    {
                        res.Vendor       = _mapper.Map <GetVendorDto>(vendor);
                        res.nama_lengkap = vendor.Nama_vendor;
                    }
                }
                else
                {
                    res.nama_lengkap = akun.nama_lengkap;
                    res.Nik          = akun.Nik;
                    res.Alamat       = akun.Alamat;
                    res.No_telp      = akun.No_telp;
                }
                res.Id         = user.Id;
                res.Username   = username;
                res.Struktur   = user.Struktur.Id;
                res.Akses      = user.Struktur.Akses.Id;
                res.Akses_name = user.Struktur.Akses.Akses_name;
                res.Token      = CreateToken(user);
                res.Wilayah    = _mapper.Map <GetWilayahDto>(user.Wilayah);

                response.Data    = res;
                response.Message = "Berhasil Login";
            }
            return(response);
        }
Example #3
0
        public int Register(GetLoginDto getLoginDto)
        {
            Users user = new Users()
            {
                Name   = getLoginDto.Name,
                Pwd    = getLoginDto.Pwd,
                Email  = getLoginDto.Email,
                RoleId = getLoginDto.RoleId
            };

            if (_usersService.Find(c => c.Name == user.Name) != null)
            {
                return(2);
            }
            return(_usersService.Add(user) ? 0 : 1);
        }
Example #4
0
        public int CheckLogin(GetLoginDto getLoginDto)
        {
            if (string.IsNullOrEmpty(getLoginDto.Name) || string.IsNullOrEmpty(getLoginDto.Pwd) || getLoginDto.RoleId == 0)
            {
                return(2);
            }
            Users tempUsers = _repository.Find(c =>
                                               c.Name == getLoginDto.Name && c.Pwd == Md5Helper.GetMd5(getLoginDto.Pwd) && c.RoleId == getLoginDto.RoleId);

            if (tempUsers == null)
            {
                return(1);
            }
            if (tempUsers.State == 1)
            {
                return(0);
            }

            return(3);
        }
Example #5
0
        public IAjaxResult Register(GetLoginDto getLoginDto)
        {
            string captcha = HttpContext.GetCookie("captcha");

            if (captcha != getLoginDto.Captcha)
            {
                return(Error("验证码填写错误"));
            }
            switch (_loginService.Register(getLoginDto))
            {
            case 0:
                return(Success("注册成功"));

            case 1:
                return(Error("注册失败"));

            case 2:
                return(Error("用户名已存在"));

            default:
                throw new BusinessException("出现未知错误");
            }
        }
Example #6
0
        public async Task <ServiceResponse <GetLoginDto> > AddUser(AddUserDto req)
        {
            var response = new ServiceResponse <GetLoginDto>();
            var jenis    = req.Jenis.ToLower();

            if (jenis != "user" && jenis != "vendor")
            {
                response.Status  = false;
                response.Message = "Jenis User Salah";
                return(response);
            }
            if (jenis == "user")
            {
                if (await UseStructExists(req.StrukturId, req.WilayahId))
                {
                    response.Status  = false;
                    response.Message = "Struktur sudah digunakan / tidak ditemukan ";
                    return(response);
                }
            }
            ServiceResponse <int> userId = await InsertUser(req.Username, req.Password, req.StrukturId, req.WilayahId);

            if (!userId.Status)
            {
                response.Status  = false;
                response.Message = userId.Message;
                return(response);
            }
            var user = await _context.Tb_user.FirstOrDefaultAsync(c => c.Id == userId.Data);

            var akun   = new Akun();
            var vendor = new Vendor();

            if (jenis == "user")
            {
                akun.nama_lengkap        = req.Nama_lengkap;
                akun.Nik                 = req.Nik;
                akun.No_telp             = req.No_telp;
                akun.Alamat              = req.Alamat;
                akun.Sistem_created_time = DateTime.Now;
                akun.Sistem_updated_time = Convert.ToDateTime("1900-01-01");
                akun.User                = user;
            }
            else if (jenis == "vendor")
            {
                vendor.Nama_vendor         = req.Nama_vendor;
                vendor.No_telp             = req.No_telp;
                vendor.No_telp_pj          = req.No_telp_pj;
                vendor.Penanggung_jawab    = req.Penanggung_jawab;
                vendor.Alamat_vendor       = req.Alamat_vendor;
                vendor.Sistem_created_time = DateTime.Now;
                vendor.Sistem_updated_time = Convert.ToDateTime("1900-01-01");
                vendor.User = user;
            }
            try
            {
                if (jenis == "user")
                {
                    await _context.Tb_akun.AddAsync(akun);

                    await _context.SaveChangesAsync();
                }
                else if (jenis == "vendor")
                {
                    await _context.Tb_vendor.AddAsync(vendor);

                    await _context.SaveChangesAsync();
                }
                var res = new GetLoginDto();
                res.Id           = userId.Data;
                res.Username     = req.Username;
                res.nama_lengkap = (req.Nama_lengkap == null ? req.Penanggung_jawab : req.Nama_lengkap);
                res.Nik          = akun.Nik;
                res.Alamat       = akun.Alamat;
                res.No_telp      = akun.No_telp;
                res.Struktur     = req.StrukturId;
                if (vendor != null)
                {
                    res.Vendor = _mapper.Map <GetVendorDto>(vendor);
                }
                response.Data    = res;
                response.Message = "Berhasil Tambah User";
            }
            catch (Exception ex)
            {
                response.Status  = false;
                response.Message = ex.Message;
                return(response);
            }
            return(response);
        }