예제 #1
0
        public IActionResult Post([FromBody] userDto value)
        {
            var user = _userService.Authenticate(value.Username, value.Password);

            if (user == null)
            {
                return(BadRequest(new { message = "Username or password is incorrect bla bla bla" }));
            }

            var tokenHandler    = new JwtSecurityTokenHandler();
            var key             = Encoding.ASCII.GetBytes(_appSettings.Secret);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject = new ClaimsIdentity(new Claim[]
                {
                    new Claim(ClaimTypes.Name, user.Id.ToString())
                }),
                Expires            = DateTime.UtcNow.AddMinutes(60), ///Todo poner 1 hs de expiracion
                SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
            };
            var token       = tokenHandler.CreateToken(tokenDescriptor);
            var tokenString = tokenHandler.WriteToken(token);

            // return basic user info (without password) and token to store client side
            return(Ok(new
            {
                Id = user.Id,
                Username = user.Username,
                FirstName = user.FirstName,
                LastName = user.LastName,
                Token = tokenString
            }));
        }
예제 #2
0
        private void Signin_Load(object sender, EventArgs e)
        {
            if (File.Exists("token.txt"))
            {
                string             token      = File.ReadAllText("token.txt");
                UserEndPointClient userClient = new UserEndPointClient();
                userDto            user       = userClient.me(token);
                if (user.type == "admin")
                {
                    this.Close();
                    Admin admin = new Admin();
                    admin.Show();
                }
                else
                {
                    this.Close();
                    Dashboard dash = new Dashboard();
                    dash.Show();
                }
            }
            else
            {
                //this.Hide();
                //Signin signIn = new Signin();
                //signIn.Show();
                //Application.Run(new First());

                //Console.WriteLine("File does not exist in the current directory!");
            }
        }
예제 #3
0
        public async System.Threading.Tasks.Task <bool> RegisterFinsh(ApplicationUser user)
        {
            //給予使用者預設金額
            int unitSn, assets;

            if (int.TryParse(CacheHelper.GlobalSettingData.Where(p => p.Key == "NewUserAssetsUnit").FirstOrDefault().Value, out unitSn))
            {
            }
            else
            {
                unitSn = 1;
            }

            if (int.TryParse(CacheHelper.GlobalSettingData.Where(p => p.Key == "NewUserAssets").FirstOrDefault().Value, out assets))
            {
            }
            else
            {
                assets = 0;
            }

            AssetsRecord ar = new AssetsRecord
            {
                type    = 3,
                unitSn  = unitSn,
                assets  = assets,
                UserId  = user.Id,
                inpdate = DateTime.Now
            };

            new AssetsRepository().AddAssetsByAssets(ar);



            //註冊成功同時到sitapi註冊使用者
            try
            {
                HttpClient client = new HttpClient();
                client.BaseAddress = new Uri(System.Web.Configuration.WebConfigurationManager.AppSettings["apiurl"]);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                userDto userd = new userDto
                {
                    comSn  = 1,
                    email  = user.Email,
                    name   = user.Name,
                    userID = user.Id
                };
                HttpResponseMessage response = await client.PostAsJsonAsync("api/users", userd);

                response.EnsureSuccessStatusCode();
            }
            catch
            {
                return(false);
            }
            return(true);
        }
예제 #4
0
 private void UserDetaile_Load(object sender, EventArgs e)
 {
     currentUserNow = Admin.currentUser;
     username.Text  = currentUserNow.username;
     firstname.Text = currentUserNow.fname;
     lastname.Text  = currentUserNow.lname;
     phone.Text     = currentUserNow.phone;
     email.Text     = currentUserNow.email;
     company.Text   = currentUserNow.company;
     status.Text    = currentUserNow.status.ToString();
 }
예제 #5
0
        public void updateUser(userDto user)
        {
            int  role = rol.getRollByName(user.user_role);
            User u    = new User();

            u.user_id        = user.user_id;
            u.user_full_name = user.user_full_name;
            u.user_name      = user.user_name;
            u.user_pass      = user.user_pass;
            u.role_id        = role;
            new UserDalImpl().updateUser(u);
        }
예제 #6
0
        public userDto getUserById(int id)
        {
            var res = new userDto();

            try
            {
                var result = _userRepo.GetOne(x => x.Id == id);
                res = _mapper.Map <userDto>(result);
            }
            catch (Exception)
            {
                throw;
            }
            return(res);
        }
예제 #7
0
        public async Task <userDto> CreateUser(createUserDto User)
        {
            var res = new userDto();

            try
            {
                var result = await _userSvc.createUser(User);

                res = _mapper.Map <userDto>(result);
            }
            catch (Exception)
            {
                throw;
            }
            return(res);
        }
예제 #8
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (dataGridView.Rows.Count != 0)
            {
                userDto user = new userDto();
                user.user_id        = Int32.Parse(dataGridView.CurrentRow.Cells[0].Value.ToString().Trim());
                user.user_full_name = nameText.Text;
                user.user_name      = userNameText.Text;
                user.user_pass      = passwordText.Text;
                user.user_role      = jobVal.Text;
                u.updateUser(user);

                MessageBox.Show("تم تعديل المستخدم");
                this.Close();
                new AllUsersSc().Show();
            }
        }
예제 #9
0
        public async Task <userDto> CreateUser(userDto User)
        {
            var res = new userDto();

            try
            {
                var model  = _mapper.Map <userModel>(User);
                var result = await _userRepo.Create(model);

                res = _mapper.Map <userDto>(result);
            }
            catch (Exception)
            {
                throw;
            }
            return(res);
        }
예제 #10
0
        static void Main()
        {
            try
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);



                if (File.Exists("token.txt"))
                {
                    string             token      = File.ReadAllText("token.txt");
                    UserEndPointClient userClient = new UserEndPointClient();
                    userDto            user       = userClient.me(token);
                    if (user.type == "admin")
                    {
                        Application.Run(new Admin());
                    }
                    else
                    {
                        Application.Run(new Dashboard());
                    }
                }
                else
                {
                    //this.Hide();
                    //Signin signIn = new Signin();
                    //signIn.Show();
                    Application.Run(new First());

                    //Console.WriteLine("File does not exist in the current directory!");
                }
            }
            catch
            {
                MessageBox.Show("Unknown error", "Connection Error",
                                MessageBoxButtons.OK, MessageBoxIcon.Error);
                Application.Run(new First());
            }
        }
예제 #11
0
        public List <userDto> listOfUsers()
        {
            List <userDto> li = new List <userDto>();


            for (int i = 0; i <= u.listOfUsers().Count() - 1; i++)
            {
                userDto user = new userDto();
                string  role = rol.getRollById(u.listOfUsers()[i].role_id);
                user.user_id        = u.listOfUsers()[i].user_id;
                user.user_name      = u.listOfUsers()[i].user_name.ToString();
                user.user_full_name = u.listOfUsers()[i].user_full_name.ToString();
                user.user_pass      = u.listOfUsers()[i].user_pass.ToString();
                user.user_role      = role;

                li.Add(user);

                //Console.WriteLine(user.user_name);
            }


            return(li);
        }
예제 #12
0
        private void Profile_Load(object sender, EventArgs e)
        {
            //
            string             token      = File.ReadAllText("token.txt");
            UserEndPointClient userClient = new UserEndPointClient();
            userDto            user       = userClient.me(token);

            //userDto user = new userDto();
            if (user == null)
            {
            }
            else
            {
                currentUserNow = user;
                username.Text  = currentUserNow.username;
                firstname.Text = currentUserNow.fname;
                lastname.Text  = currentUserNow.lname;
                phone.Text     = currentUserNow.phone;
                email.Text     = currentUserNow.email;
                company.Text   = currentUserNow.company;
                status.Text    = currentUserNow.status.ToString();
            }
        }
예제 #13
0
        private void save_Click(object sender, EventArgs e)
        {
            Boolean vusername = false;

            if (string.IsNullOrWhiteSpace(username.Text) | username.Text.Length < 4)
            {
                vusername = false; username.Focus(); errorProvider1.SetError(username, "User name should contain at least four character.");
            }
            else
            {
                vusername = true; errorProvider1.SetError(username, "");
            }
            Boolean vpassword = false;

            if (string.IsNullOrWhiteSpace(username.Text) | username.Text.Length < 4)
            {
                vpassword = false; password.Focus(); errorProvider1.SetError(password, "Password should contain at least four character.");
            }
            else
            {
                vpassword = true; errorProvider1.SetError(password, "");
            }
            Boolean vconfirmpassword = false;

            if (string.IsNullOrWhiteSpace(confirmpassword.Text) |
                confirmpassword.Text.Length < 4 |
                !(confirmpassword.Text == password.Text))
            {
                vconfirmpassword = false; confirmpassword.Focus(); errorProvider1.SetError(confirmpassword, "Confirm password should be same with password and empty.");
            }
            else
            {
                vconfirmpassword = true; errorProvider1.SetError(confirmpassword, "");
            }
            Boolean vfirstname = false;

            if (string.IsNullOrWhiteSpace(firstname.Text) | firstname.Text.Length < 3)
            {
                vfirstname = false; firstname.Focus(); errorProvider1.SetError(firstname, "First name should contain at least three character.");
            }
            else
            {
                vfirstname = true; errorProvider1.SetError(firstname, "");
            }
            Boolean vlastname = false;

            if (string.IsNullOrWhiteSpace(lastname.Text) | lastname.Text.Length < 3)
            {
                vlastname = false; lastname.Focus(); errorProvider1.SetError(lastname, "Last name should contain at least three character.");
            }
            else
            {
                vlastname = true; errorProvider1.SetError(lastname, "");
            }
            Boolean vphone = false;

            if (string.IsNullOrWhiteSpace(lastname.Text) | lastname.Text.Length < 3)
            {
                vphone = false; phone.Focus(); errorProvider1.SetError(phone, "Phone should contain ten number.");
            }
            else
            {
                vphone = true; errorProvider1.SetError(phone, "");
            }
            Boolean vemail = false;

            if (string.IsNullOrWhiteSpace(email.Text) | email.Text.Length < 3)
            {
                vemail = false; email.Focus(); errorProvider1.SetError(email,
                                                                       "Email should follow email format.");
            }
            else
            {
                vemail = true; errorProvider1.SetError(email, "");
            }
            Boolean vcompany = false;

            if (string.IsNullOrWhiteSpace(company.Text) | company.Text.Length < 3)
            {
                vcompany = false; company.Focus(); errorProvider1.SetError(company,
                                                                           "Company name should contain atleast two character.");
            }
            else
            {
                vcompany = true; errorProvider1.SetError(company, "");
            }


            if (vusername == true & vpassword == true & vfirstname == true & vlastname == true & vphone == true &
                vemail == true & vcompany == true & vconfirmpassword == true)
            {
                UserEndPointClient userClient = new UserEndPointClient();
                userDto            user       = new userDto();
                user.id       = 0;
                user.username = username.Text;
                user.password = password.Text;
                Console.WriteLine("Password <===> " + password.Text);
                user.fname     = firstname.Text;
                user.lname     = lastname.Text;
                user.phone     = phone.Text;
                user.email     = email.Text;
                user.company   = company.Text;
                user.status    = true;
                user.createdat = new DateTime();
                responseDto res = userClient.createUser(user);
                if (res.status == true)
                {
                    MessageBox.Show(res.message + "\n" + "You can login now", "Success",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Close();
                    Signin signin = new Signin();
                    signin.Show();
                }
                else
                {
                    MessageBox.Show(res.message, "Error",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
예제 #14
0
        private void Admin_Load(object sender, EventArgs e)
        {
            string             token      = File.ReadAllText("token.txt");
            UserEndPointClient userClient = new UserEndPointClient();
            paginationDto      pag        = new paginationDto();

            pag.start = 8;
            pag.max   = 30;
            pag.count = 0;

            userListResponseDto listUser = userClient.listUser(pag, token);

            if (listUser.responseDto.status == false)
            {
            }
            else
            {
                int x     = 10;
                int y     = 5;
                int delta = 10;
                int dx    = 0 + delta;
                // Create name label
                var labelName1 = new Label();
                labelName1.AutoSize = true;
                labelName1.Location = new Point(x + dx, y);
                labelName1.Font     = new Font(labelName1.Font, FontStyle.Bold);
                labelName1.Text     = "Username";
                // Create mail label
                var labelMail1 = new Label();
                labelMail1.AutoSize = true;
                labelMail1.Location = new Point(x + dx + labelName1.Width, y);
                labelMail1.Font     = new Font(labelMail1.Font, FontStyle.Bold);
                labelMail1.Text     = "Type";
                // Create phone label
                var labelPhone1 = new Label();
                labelPhone1.AutoSize = true;
                labelPhone1.Location = new Point(x + dx + labelName1.Width + labelMail1.Width, y);
                labelPhone1.Font     = new Font(labelPhone1.Font, FontStyle.Bold);
                labelPhone1.Text     = "Status";

                panel1.Controls.Add(labelName1);
                panel1.Controls.Add(labelMail1);
                panel1.Controls.Add(labelPhone1);
                // Iterate
                int dy1 = x + labelName1.Height; // + labelMail.Height + labelPhone.Height;
                int dy2 = x + labelName1.Height; //picture.Height;
                y += Math.Max(dy1, dy2) + delta;



                for (int i = 0; i < listUser.paginationDto.count; i++)
                {
                    userDto user = listUser.userDtoList[i];
                    dx = 0 + delta;
                    // Create name label
                    var labelName = new Label();
                    labelName.AutoSize = true;
                    labelName.Location = new Point(x + dx, y);
                    //labelName.Font = new Font(labelName.Font, FontStyle.Bold);
                    labelName.Text = listUser.userDtoList[i].username;
                    // Create mail label
                    var labelMail = new Label();
                    labelMail.AutoSize = true;
                    labelMail.Location = new Point(x + dx + labelName.Width, y);
                    labelMail.Text     = listUser.userDtoList[i].type;
                    // Create phone label
                    var labelPhone = new Label();
                    labelPhone.AutoSize = true;
                    labelPhone.Location = new Point(x + dx + labelName.Width + labelMail.Width, y);
                    labelPhone.Text     = listUser.userDtoList[i].status.ToString();
                    //
                    var btn = new Button();
                    btn.Text     = "Detail";
                    btn.Name     = "detail";
                    btn.Location = new Point(x + dx + labelName.Width + labelMail.Width + labelMail.Width, y);
                    btn.Click   += (object s, EventArgs ee) =>
                    {
                        this.Hide();
                        currentUser = user;
                        UserDetaile userDetaile = new UserDetaile();
                        userDetaile.Show();
                    };
                    panel1.Controls.Add(labelName);
                    panel1.Controls.Add(labelMail);
                    panel1.Controls.Add(labelPhone);
                    panel1.Controls.Add(btn);
                    // Iterate
                    dy1 = x + labelName.Height; // + labelMail.Height + labelPhone.Height;
                    dy2 = x + labelName.Height; //picture.Height;
                    y  += Math.Max(dy1, dy2) + delta;
                }
            }
        }
예제 #15
0
        private void update_Click(object sender, EventArgs e)
        {
            Boolean vusername = false;

            if (string.IsNullOrWhiteSpace(username.Text) | username.Text.Length < 4)
            {
                vusername = false; username.Focus(); errorProvider1.SetError(username, "User name should contain at least four character.");
            }
            else
            {
                vusername = true; errorProvider1.SetError(username, "");
            }

            Boolean vfirstname = false;

            if (string.IsNullOrWhiteSpace(firstname.Text) | firstname.Text.Length < 3)
            {
                vfirstname = false; firstname.Focus(); errorProvider1.SetError(firstname, "First name should contain at least three character.");
            }
            else
            {
                vfirstname = true; errorProvider1.SetError(firstname, "");
            }
            Boolean vlastname = false;

            if (string.IsNullOrWhiteSpace(lastname.Text) | lastname.Text.Length < 3)
            {
                vlastname = false; lastname.Focus(); errorProvider1.SetError(lastname, "Last name should contain at least three character.");
            }
            else
            {
                vlastname = true; errorProvider1.SetError(lastname, "");
            }
            Boolean vphone = false;

            if (string.IsNullOrWhiteSpace(lastname.Text) | lastname.Text.Length < 3)
            {
                vphone = false; phone.Focus(); errorProvider1.SetError(phone, "Phone should contain ten number.");
            }
            else
            {
                vphone = true; errorProvider1.SetError(phone, "");
            }
            Boolean vemail = false;

            if (string.IsNullOrWhiteSpace(email.Text) | email.Text.Length < 3)
            {
                vemail = false; email.Focus(); errorProvider1.SetError(email,
                                                                       "Email should follow email format.");
            }
            else
            {
                vemail = true; errorProvider1.SetError(email, "");
            }
            Boolean vcompany = false;

            if (string.IsNullOrWhiteSpace(company.Text) | company.Text.Length < 3)
            {
                vcompany = false; company.Focus(); errorProvider1.SetError(company,
                                                                           "Company name should contain atleast two character.");
            }
            else
            {
                vcompany = true; errorProvider1.SetError(company, "");
            }

            if (vusername == true & vfirstname == true & vlastname == true & vphone == true &
                vemail == true & vcompany == true)
            {
                UserEndPointClient userClient = new UserEndPointClient();
                userDto            user       = new userDto();
                user.id = currentUserNow.id;
                //user.username = username.Text;
                //user.password = password.Text;
                user.fname   = firstname.Text;
                user.lname   = lastname.Text;
                user.phone   = phone.Text;
                user.email   = email.Text;
                user.company = company.Text;
                //user.status = null;
                user.createdat = currentUserNow.createdat;
                string      token = File.ReadAllText("token.txt");
                responseDto res   = userClient.updateUser(user, token);
                if (res.status == true)
                {
                    MessageBox.Show(res.message, "Success",
                                    MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Close();
                    Signin signin = new Signin();
                    signin.Show();
                }
                else
                {
                    MessageBox.Show(res.message, "Error",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }