예제 #1
0
        public IActionResult CreateNewUser(DTOUser usr)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var user = new Users
                    {
                        UserFullName = usr.UserFullName,
                        UserName     = usr.UserName,
                        Email        = usr.email,
                        Password     = PassEncryption.ComputeSHA1(usr.password)
                    };

                    todo.Users.Add(user);
                    todo.SaveChanges();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }

            return(RedirectToAction("Index"));
        }
        public void TestInsertOk()
        {
            var userTheorical = new DTOUser()
            {
                Id       = 8,
                UserName = "******",
                Email    = "*****@*****.**",
                Password = "******",
                Name     = "Test 8",
                Address  = "Test 8\nNew York",
                Gender   = "woman",
                Note     = 10
            };
            var result = _mockRepo.Insert(userTheorical).Result;
            var users  = _mockRepo.Get().Result;

            Assert.IsNotNull(result);
            Assert.AreEqual(userTheorical.Id, result.Id);
            Assert.AreEqual(userTheorical.UserName, result.UserName);
            Assert.AreEqual(userTheorical.Email, result.Email);
            Assert.AreEqual(userTheorical.Password, result.Password);
            Assert.AreEqual(userTheorical.Name, result.Name);
            Assert.AreEqual(userTheorical.Note, result.Note);
            Assert.AreEqual(userTheorical.Gender, result.Gender);
            Assert.AreEqual(userTheorical.Address, result.Address);
            var count = this._mockRepo.Count();

            Assert.AreEqual(8, _usersMockList.Count);
        }
        public void TestGetUserEmailOk()
        {
            var userTheorical = new DTOUser
            {
                Id       = 3,
                UserName = "******",
                Email    = "*****@*****.**",
                Password = "******",
                Name     = "Test 3",
                Address  = "Test 3\nMiami",
                Gender   = "child",
                Note     = 10
            };
            var user = _mockRepo.GetUserByEmail(userTheorical.Email);

            Assert.IsNotNull(user);
            Assert.AreEqual(userTheorical.Id, user.Id);
            Assert.AreEqual(userTheorical.UserName, user.UserName);
            Assert.AreEqual(userTheorical.Email, user.Email);
            Assert.AreEqual(userTheorical.Password, user.Password);
            Assert.AreEqual(userTheorical.Name, user.Name);
            Assert.AreEqual(userTheorical.Note, user.Note);
            Assert.AreEqual(userTheorical.Gender, user.Gender);
            Assert.AreEqual(userTheorical.Address, user.Address);
        }
        private void LoadUserInfo(DTOUser dtoUser)
        {
            var getUserBalanceResponse = _transactionDomain.GetUserBalance(dtoUser.Id);

            if (getUserBalanceResponse.Code == 200)
            {
                dtoUser.Balance = getUserBalanceResponse.Data;
            }

            var getUserTransactionsResult = _transactionDomain.GetUserTransactions(dtoUser.Id);

            if (getUserTransactionsResult.Code == 200)
            {
                dtoUser.Transactions = getUserTransactionsResult.Data;

                foreach (var transaction in dtoUser.Transactions)
                {
                    var getFromUserPublicInfoResponse = GetPublicUserInfo(transaction.From.Id);
                    if (getFromUserPublicInfoResponse.Code == 200)
                    {
                        transaction.From = getFromUserPublicInfoResponse.Data;
                    }

                    var getToUserPublicInfoResponse = GetPublicUserInfo(transaction.To.Id);
                    if (getToUserPublicInfoResponse.Code == 200)
                    {
                        transaction.To = getToUserPublicInfoResponse.Data;
                    }
                }
            }
        }
예제 #5
0
        /// <summary>
        /// 创建实体
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        public virtual async Task <OperationResult> CreateAsync(DTOUser entity)
        {
            //校验参数!=NULL
            PublicHelper.CheckArgument(entity, "entity");
            if (string.IsNullOrWhiteSpace(entity.Password) == true)
            {
                return(new OperationResult(OperationResultType.ParamError,
                                           String.Format(CultureInfo.CurrentCulture,
                                                         Systems.SysResources.PasswordNullError)));
            }
            // 实体模型转换
            var user = DtoMap.Map <SysUser>(entity);
            // 校验实体
            var validateResult = await Validator.ValidateAsync(user);

            if (validateResult.ResultType != OperationResultType.Success)
            {
                return(validateResult);
            }
            user.PasswordHash = PasswordValidator.HashPassword(entity.Password);
            // 添加到实体集合中
            Repository.Insert(user, AutoSaved);
            // 返回正确
            return(new OperationResult(OperationResultType.Success));
        }
 private void UpdateValue()
 {
     try
     {
         if (!CheckInsert())
         {
             if (Session["login"] != null && Session["UserName"] != null && Session["AccountID"] != null)
             {
                 var obj = new DTOUser
                 {
                     AccountID   = int.Parse(Session["AccountID"].ToString()),
                     Email       = txtEmail.Value,
                     FullName    = txtFullName.Value,
                     CellPhone   = txtCellPhone.Value,
                     Group_Id    = null,
                     Gender      = rdMade.Checked ? "Nam" : "Nữ",
                     Birthday    = DateTime.Parse(txtBirthday.Value),
                     Country_ID  = int.Parse(drCountry.SelectedValue),
                     Language_ID = int.Parse(drLanguage.SelectedValue),
                     DateBegin   = DateTime.Parse(lbDateBegin.Text),
                 };
                 BllUser.Update(obj);
                 _Error = LibAlert.Alert.AlertSucess("Chúc mừng ! Bạn đã cập nhật thành công tài khoản !");
                 GetUserEdit();
             }
         }
     }
     catch (Exception ex)
     {
         _Error = LibAlert.Alert.AlertError("Có lỗi xảy ra trong quá trình cập nhật" + "<br/>" + ex.Message);
     }
 }
예제 #7
0
        public async Task <IHttpActionResult> update([FromBody] DTOUser user)
        {
            #region /// 检查输入信息正确性
            if (!ModelState.IsValid)
            {
                return(BadRequest(this.GetModelStateError(ModelState)));
            }
            #endregion
#if DEBUG
            Console.WriteLine("User/update userService={0}", userService == null);
            if (userService == null)
            {
                return(BadRequest("UserServer Map Error"));
            }
            //[FromUri]string username
#endif
            // 调用服务创建用户
            var result = await userService.UpdateAsync(user);

            // 根据服务返回值确定返回
            if (result.ResultType == Common.OperationResultType.Success)
            {
                return(Ok(true));
            }
            return(BadRequest(result.Message));
        }
예제 #8
0
        private void frmUser_Add_Load(object sender, EventArgs e)
        {
            BUSBaoMat bus = new BUSBaoMat();
            DataTable dt2 = new DataTable();

            dt2 = bus.getComboBoxRoles();
            if (dt2.Rows.Count > 0)
            {
                foreach (DataRow row in dt2.Rows)
                {
                    comboBoxEdit1.Properties.Items.Add(row["rolename"]);
                }
            }
            if (!isAddForm)
            {
                BUSBaoMat b          = new BUSBaoMat();
                DTOUser   dtoHangHoa = b.getUserDetail(gotID);
                textEdit1.Text     = dtoHangHoa.userfullname;
                textEdit2.Text     = dtoHangHoa.userpassword;
                textEdit3.Text     = dtoHangHoa.userpassword;
                comboBoxEdit1.Text = dtoHangHoa.rolename;
                textEdit4.Text     = dtoHangHoa.roledes;
                textEdit5.Text     = dtoHangHoa.username;
                textEdit6.Text     = gotID;
                checkEdit1.Checked = dtoHangHoa.isactive;
            }
            else
            {
                textEdit1.ReadOnly = false;
                textEdit5.ReadOnly = false;
                textEdit6.ReadOnly = false;
            }
        }
예제 #9
0
        public void UpdateUser()
        {
            var user = new DTOUser()
            {
                Username       = "******",
                Password       = "******",
                EmailAddress   = "*****@*****.**",
                AdditionalData = "some text",
                FirstName      = "Jane",
                LastName       = "Doeson"
            };

            var user_url = new UserRequest().ToUrl("PUT");

            adminClient.Put <UserRequest> (user_url, user);

            var all_users_url = new AllUserRequest().ToUrl("GET");
            var all_users     = adminClient.Get <DTOUser[]> (all_users_url);

            var johndoe = all_users.First(u => u.Username == "johndoe");

            Assert.AreEqual(user.Username, johndoe.Username);
            //password is not returned
            Assert.AreEqual(string.Empty, johndoe.Password);
            Assert.AreEqual(user.EmailAddress, johndoe.EmailAddress);
            Assert.AreEqual(user.AdditionalData, johndoe.AdditionalData);
            Assert.AreEqual(user.FirstName, johndoe.FirstName);
            Assert.AreEqual(user.LastName, johndoe.LastName);
        }
예제 #10
0
        public List <DTOUser> ListAllUsersDemitidos()
        {
            string query = "select tb_usuario.id_usuario, tb_usuario.nm_nomedoatendente,tb_usuario.ds_senha,tb_usuario.ds_email,tb_usuario.nm_usuario,tb_usuario.ds_cpf,tb_usuario.dt_nascimento,tb_usuario.ds_cep,tb_usuario.nr_casa,tb_usuario.ds_telefone from tb_usuario right join tb_demitidos on tb_usuario.id_usuario = tb_demitidos.id_usuario WHERE tb_demitidos.id_usuario is not null";

            ProjetoDataBase db     = new ProjetoDataBase();
            MySqlDataReader reader = db.ExecuteSelectParamters(query, null);

            List <DTOUser> itens = new List <DTOUser>();

            DTOUser User = null;

            while (reader.Read())
            {
                User = new DTOUser();

                User.Id          = reader.GetInt32("id_usuario");
                User.User        = reader.GetString("nm_usuario");
                User.Password    = reader.GetString("ds_senha");
                User.Telefone    = reader.GetString("ds_telefone");
                User.Email       = reader.GetString("ds_email");
                User.Nome        = reader.GetString("nm_nomedoatendente");
                User.Cpf         = reader.GetString("ds_cpf");
                User.Birth       = reader.GetDateTime("dt_nascimento");
                User.PostalCode  = reader.GetString("ds_cep");
                User.HouseNumber = reader.GetDecimal("nr_casa");


                itens.Add(User);
            }
            reader.Close();

            return(itens);
        }
        public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
        {
            //GetClaim with BearerTokens
            ClaimsIdentity claim = await _unitOfWork.userManagerService.GetClaim(context.UserName, context.Password);

            DTOUser user = await _unitOfWork.userInfoService.GetUserByLogin(context.UserName);

            if (claim == null || user == null)
            {
                context.SetError("invalid_grant", "The user name or password is incorrect.");
                return;
            }

            claim.AddClaim(new Claim("UserName", user.Login));

            if (await _unitOfWork.userManagerService.IsUserInRoleAdmin(user.Id))
            {
                claim.AddClaim(new Claim(ClaimTypes.Role, "admin"));
            }
            //cancellation any claims identity associated the the caller
            _authenticationManager.SignOut();

            //grant a claims-based identity (token response) to the recipient of the response
            _authenticationManager.SignIn(new AuthenticationProperties {
                IsPersistent = true
            }, claim);                                                                                  // claim with BearerTokens
            context.Validated(claim);
        }
예제 #12
0
        public List <DTOUser> ListPorNomeAtendentesDemitidos(string atendente)
        {
            string query  = "select tb_usuario.id_usuario,tb_usuario.nm_nomedoatendente,tb_usuario.ds_senha,tb_usuario.ds_email,tb_usuario.nm_usuario,tb_usuario.ds_cpf,tb_usuario.dt_nascimento,tb_usuario.ds_cep,tb_usuario.nr_casa,tb_usuario.ds_telefone from tb_usuario left join tb_demitidos on tb_usuario.id_usuario = tb_demitidos.id_usuario WHERE tb_demitidos.id_usuario is not null and(tb_usuario.nm_nomedoatendente like '{0}%')";
            string script = string.Format(query, atendente);


            ProjetoDataBase database = new ProjetoDataBase();
            MySqlDataReader reader   = database.ExecuteSelect(script);

            List <DTOUser> itens = new List <DTOUser>();

            while (reader.Read())
            {
                DTOUser User = new DTOUser();

                User.Id       = reader.GetInt32("id_usuario");
                User.User     = reader.GetString("nm_usuario");
                User.Password = reader.GetString("ds_senha");

                User.Email       = reader.GetString("ds_email");
                User.Nome        = reader.GetString("nm_nomedoatendente");
                User.Cpf         = reader.GetString("ds_cpf");
                User.Birth       = reader.GetDateTime("dt_nascimento");
                User.PostalCode  = reader.GetString("ds_cep");
                User.HouseNumber = reader.GetDecimal("nr_casa");
                User.Telefone    = reader.GetString("ds_telefone");



                itens.Add(User);
            }
            reader.Close();

            return(itens);
        }
예제 #13
0
        public int modifyUser(DTOUser user)
        {
            cmd.Connection  = con;
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.CommandText = "prc_ModificarUsuario";
            cmd.Parameters.AddWithValue("@cedula", user.User_Doc);
            cmd.Parameters.AddWithValue("@nombre", user.User_Name);
            cmd.Parameters.AddWithValue("@apellidos", user.User_Lastname);
            cmd.Parameters.AddWithValue("@correo", user.User_Email);
            cmd.Parameters.AddWithValue("@celular", user.User_Cellphone);
            cmd.Parameters.AddWithValue("@profesion", user.User_Profession);
            cmd.Parameters.AddWithValue("@rol", user.User_Role);

            try
            {
                con.Open();
                cmd.ExecuteNonQuery();
                return(1);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error" + ex.Message);
                con.Close();
                return(0);
            }
        }
        public string build_string(IEnumerable <DTOArticle> articleList, DTOUser user)
        {
            string buy   = "\n\n Les Articles acheté sont : \n";
            double total = 0;

            foreach (var item in articleList)
            {
                if (item != null)
                {
                    buy   += "_____________________________\n\n";
                    buy   += item.Name + " | " + item.Price + "€\n\n";
                    total += item.Price;
                }
            }

            string res = "FACTURE FripShop \n\n"
                         + "Courriel client: " + user.Email + "\n"
                         + "Facturé à:       " + user.Name
                         + buy
                         + "_____________________\n"
                         + "Total facturé: "
                         + total.ToString() + "€";


            return(res);
        }
        public void TestGetId()
        {
            var count  = _mockRepo.Count().Result;
            var result = _mockRepo.GetById(4);

            Assert.IsNotNull(result);
            var user       = result.Result;
            var userExpect = new DTOUser()
            {
                Id       = 4,
                UserName = "******",
                Email    = "*****@*****.**",
                Password = "******",
                Name     = "Test 4",
                Address  = "Test 4\nNew York",
                Gender   = "woman",
                Note     = 10
            };

            Assert.AreEqual(userExpect.Id, user.Id);
            Assert.AreEqual(userExpect.UserName, user.UserName);
            Assert.AreEqual(userExpect.Email, user.Email);
            Assert.AreEqual(userExpect.Password, user.Password);
            Assert.AreEqual(userExpect.Name, user.Name);
            Assert.AreEqual(userExpect.Note, user.Note);
            Assert.AreEqual(userExpect.Gender, user.Gender);
            Assert.AreEqual(userExpect.Address, user.Address);
        }
예제 #16
0
        protected void btnLuuUser_Click(object sender, EventArgs e)
        {
            DTOUser dtond = new DTOUser();

            dtond.ID     = txtID.Text;
            dtond.MK     = txtMK.Text;
            dtond.HTuser = txtHoTen.Text;

            DTONhomQuyen dtonq = new DTONhomQuyen();

            dtonq.MaNQ     = int.Parse(ddlNhomQ.SelectedValue);
            dtonq.NhomQ    = ddlNhomQ.SelectedItem.ToString();
            dtond.dtoNhomQ = dtonq;

            DAO_Entity daond = new DAO_Entity();

            if (KiemTraNhap() == "")
            {
                daond.ThemUser(dtond);
                Response.Redirect("~/QLBophan_Admin/QLUser/User.aspx");
            }
            else
            {
                ThemUser.Visible = true;
                lbLoi.Text       = KiemTraNhap();
            }
        }
예제 #17
0
        private void lstAtivos_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                txtSalarioLiquido.Text = "";
                btnSalvarFolha.Enabled = false;
                ChamarComplementosAlterar c = new ChamarComplementosAlterar();
                DTOUser user = lstAtivos.SelectedItem as DTOUser;

                //Dados da tabela usuário
                c.BuscaUser(user.Id);


                //dados user
                txtNome.Text = c.Nome;
                txtCpf.Text  = c.Cpf;


                //setor
                txtSetor.Text = c.Setor;

                //Salario Bruto

                txtSb.Text = c.SalarioBruto.ToString();

                //beneficios

                chkVt.Checked    = c.Transporte;
                chkSaude.Checked = c.Saude;
                nupSf.Value      = c.SalarioFamilia;
                nupVr.Value      = c.ValeRefeicao;
                nupVa.Value      = c.ValeAlimentacao;

                //Data do registro folha de pagamento
                dtpData.Value = DateTime.Now;

                //Hora extra
                txtHoraExtra.Text = Math.Round((ab.HoraExtra(user.Id) / 60.00), 2).ToString();


                //Inseir no DTO
                dtoFolha.IdUsuario         = user.Id;
                dtoFolha.IdSalarioBruto    = c.IdSalarioBruto;
                dtoFolha.DtDataUltimoPonto = Convert.ToDateTime(ab.UltimaDataRegistrado);

                //Padronizar
                txtAtraso.Text    = txtAtraso.Text == "" ? "0" : txtAtraso.Text;
                txtHoraExtra.Text = txtHoraExtra.Text == "" ? "0" : txtHoraExtra.Text;

                //bloquear tela
                Boolean Autori = ab.UltimaFolha(user.Id);
                btnCalcular.Enabled   = Autori;
                lblSalario.Visible    = Autori == false ? true : false;
                btnCalcular.ForeColor = Autori == false ? Color.Red : Color.White;
            }
            catch
            {
                MessageBox.Show("OCORREU UM ERRO!", "TOPMOVIE - ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #18
0
        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                ChamarComplementosAlterar c = new ChamarComplementosAlterar();
                DTOUser user = lstAtivos.SelectedItem as DTOUser;

                //Dados da tabela usuário
                this.IdUser = user.Id;
                c.BuscaUser(user.Id);

                //perms
                chkAdm.Checked    = c.Adm;
                chkRh.Checked     = c.Rh;
                chkFin.Checked    = c.Fin;
                chkCont.Checked   = c.Cont;
                chkComp.Checked   = c.Comp;
                chkVend.Checked   = c.Vend;
                chkAgeral.Checked = c.AGeral;
                //dados user
                txtNome.Text = c.Nome;
                txtCpf.Text  = c.Cpf;
                txtCep.Text  = c.Cep;
                //setor
                txtSetor.Text = c.Setor;
            }
            catch
            {
                MessageBox.Show("OCORREU UM ERRO!", "TOPMOVIE - ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        public async Task <IHttpActionResult> CheckLogin([FromBody] LoginViewModel model)   // only check login/password
        {
            if (this.User.Identity.GetUserId() != null)
            {
                return(BadRequest("Please first logout"));
            }

            DTOUser user = new DTOUser {
                Login = model.Login, Password = model.Password
            };
            string userLogin = await _uow.userManagerService.CheckUserByLoginPas(user);

            if (userLogin == null)
            {
                ModelState.AddModelError("Login", "Wrong login.");
                ModelState.AddModelError("Password", "Wrong password.");
            }

            if (ModelState.IsValid)
            {
                return(this.Ok(userLogin.ToString() + " login/Password ok."));
            }
            else
            {
                return(BadRequest(ModelState));
            }
        }
예제 #20
0
        public async Task <IActionResult> Create([FromBody] DTOUser _user)
        {
            if (_user == null)
            {
                return(BadRequest());
            }

            if (ModelState.IsValid)
            {
                ApplicationUser user = new ApplicationUser();
                user.FullName = _user.Name;
                user.Email    = _user.Email;


                var result = await _userManager.CreateAsync(user, _user.Password);

                if (!result.Succeeded)
                {
                    List <string> sb = new List <string>();
                    foreach (IdentityError error in result.Errors)
                    {
                        sb.Add(error.Description);
                    }
                    return(UnprocessableEntity(sb));
                }

                return(Created($"api/[controller]/{user.Id}", user));
            }
            else
            {
                return(UnprocessableEntity(ModelState));
            }
        }
예제 #21
0
        public async Task <OperationDetails> Create(DTOUser dtouser)
        {
            ApplicationUser user = await _uow.UserManager.FindByEmailAsync(dtouser.Email); //check email

            if (user == null)
            {
                user          = AutoMapper.Mapper.Map <DTOUser, ApplicationUser>(dtouser);
                user.UserInfo = AutoMapper.Mapper.Map <DTOUser, UserInfo>(dtouser);


                var result = await _uow.UserManager.CreateAsync(user, dtouser.Password);

                if (result.Errors.Any())
                {
                    return(new OperationDetails(false, result.Errors.FirstOrDefault(), ""));
                }

                await _uow.UserManager.AddToRoleAsync(user.Id, dtouser.Roles[0]);   // only User type "user"

                await _uow.Save();

                return(new OperationDetails(true, "Registration success", ""));
            }
            else
            {
                return(new OperationDetails(false, "User with this email exist", "email"));
            }
        }
        public void TestGetUserUserNameOk()
        {
            var userTheorical = new DTOUser
            {
                Id       = 1,
                UserName = "******",
                Email    = "*****@*****.**",
                Password = "******",
                Name     = "Test 1",
                Address  = "Test 1\nNew York",
                Gender   = "man",
                Note     = 10
            };
            var users = _mockRepo.Get().Result;
            var user  = _mockRepo.GetUserByUserName(userTheorical.UserName);

            Assert.IsNotNull(user);
            Assert.AreEqual(userTheorical.Id, user.Id);
            Assert.AreEqual(userTheorical.UserName, user.UserName);
            Assert.AreEqual(userTheorical.Email, user.Email);
            Assert.AreEqual(userTheorical.Password, user.Password);
            Assert.AreEqual(userTheorical.Name, user.Name);
            Assert.AreEqual(userTheorical.Note, user.Note);
            Assert.AreEqual(userTheorical.Gender, user.Gender);
            Assert.AreEqual(userTheorical.Address, user.Address);
        }
예제 #23
0
        public async Task <IHttpActionResult> ChangePassword([FromBody] ChangePassViewModel changePassViewModel)
        {
            if (User.Identity.GetUserId() == null)
            {
                return(this.Unauthorized());
            }
            DTOUser user = new DTOUser()
            {
                Login = User.Identity.GetUserName(), Password = changePassViewModel.OldPassword
            };

            if (!await _uow.UserManagerService.CheckUserByLoginPas(user))
            {
                return(BadRequest("Validation failed."));
            }


            if (changePassViewModel.ConfirmPassword != changePassViewModel.NewPassword)
            {
                ModelState.AddModelError("passwords", "Passwords are not equal");
            }

            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            await _uow.UserManagerService.ChangePassword(User.Identity.GetUserId <int>(), changePassViewModel.OldPassword, changePassViewModel.NewPassword);

            return(Ok("Password has been updated."));
        }
예제 #24
0
        public async Task <IHttpActionResult> EditProfile([FromBody] ChangeProfileViewModel newProfile)
        {
            if (User.Identity.GetUserId() == null)
            {
                return(this.Unauthorized());
            }

            int userId = User.Identity.GetUserId <int>();

            if (userId != newProfile.Id)
            {
                return(BadRequest("It's not your profile!"));
            }

            if ((await _uow.UserInfoService.GetUserById(userId)).IsBlocked)
            {
                return(BadRequest("Your account has been blocked."));
            }

            if (!this.ModelState.IsValid)
            {
                return(this.BadRequest(this.ModelState));
            }

            DTOUser profileEdit = AutoMapper.Mapper.Map <ChangeProfileViewModel, DTOUser>(newProfile);

            await _uow.UserInfoService.Update(profileEdit);

            return(Ok("Profile has been updated."));
        }
 private void InsertValue()
 {
     try
     {
         if (!CheckInsert())
         {
             var obj = new DTOUser
             {
                 Email       = txtEmail.Value,
                 FullName    = txtFullName.Value,
                 Password    = LibHasCode.Encode.EncodePassword(txtPassword.Value),
                 UserName    = txtUserName.Value,
                 Group_Id    = null,
                 Gender      = rdMade.Checked ? "Nam" : "Nữ",
                 Birthday    = DateTime.Parse(txtBirthday.Value),
                 Country_ID  = int.Parse(drCountry.SelectedValue),
                 Language_ID = int.Parse(drLanguage.SelectedValue),
                 User_Image  = "../img/unnamed.png",
                 DateBegin   = DateTime.Now
             };
             BllUser.Insert(obj);
             _Error = LibAlert.Alert.AlertSucess("Chúc mừng ! Bạn đã đăng ký thành công tài khoản !");
             ClearText();
         }
     }
     catch (Exception ex)
     {
         _Error = LibAlert.Alert.AlertError("Có lỗi xảy ra trong quá trình đăng ký" + "<br/>" + ex.Message);
     }
 }
        public static async Task <DTOUser> Login(IUnitOfWork unitOfWork, IMapper mapper, SignInManager <ApplicationUser> signInManager, UserManager <ApplicationUser> userManager, string email, string password)
        {
            ApplicationUser user = await unitOfWork.Users.FindByUserNameOrEmail(email);

            if (user == null)
            {
                return(null);
            }

            DTOUser User = mapper.Map <DTOUser>(await unitOfWork.Users.GetApplicationUserById(Convert.ToInt32(user.Id)));

            SignInResult result = await signInManager.CheckPasswordSignInAsync(user, password, true);

            if (result.Succeeded && !result.IsLockedOut && User != null)
            {
                List <Claim> claims = new List <Claim>();
                claims.AddRange((await userManager.GetRolesAsync(user))?.Select(x => new Claim(ClaimTypes.Role, x)));
                claims.AddRange(new[]
                {
                    new Claim(ClaimTypes.Email, user.Email),
                    new Claim(ClaimTypes.Name, user.UserName),
                    new Claim(ClaimTypes.Expired, TimeSpan.FromHours(24).ToString()),
                    new Claim(ClaimTypes.NameIdentifier, user.Id.ToString())
                });
                var claimIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
                await signInManager.SignInAsync(user, null, CookieAuthenticationDefaults.AuthenticationScheme);

                return(mapper.Map <DTOUser>(user));
            }
            return(null);
        }
예제 #27
0
        /// <summary>
        /// Возвращает сущность из БД, проводя поиск по входному значению его имени
        /// (согласно параметру Name, имеющегося у имплементаторов IDbObject).
        /// </summary>
        ///
        /// <param name="nameOfEntity"> Имя искомой сущности (в базе данных будет проводится поиск по столбцу Name). </param>
        /// <param name="typeOfReturnedDTO"> Тип искомой сущности (должен быть реализатором IDTOModel). </param>
        ///
        /// <returns> Объект IDTOModel с данными о найденной сущности. </returns>
        ///
        /// <exception cref="TypeAccessException"> Если значение typeOfEntity не соответствует ни одному из поддерживаемых в методе. </exception>
        /// <exception cref="NullReferenceException"> Если не была найдена сущность для возврата. </exception>
        public IDTOModel ReturnEntityFromDb(string nameOfEntity, Type typeOfReturnedDTO)
        {
            IDTOModel dtoModel;

            if (typeOfReturnedDTO == typeof(DTONews))
            {
                var dbModel = _context.News.FirstOrDefault(news => news.Name == nameOfEntity);
                dtoModel = new DTONews(dbModel);
            }
            else if (typeOfReturnedDTO == typeof(DTOUser))
            {
                var users = _context.Users.ToList();

                var dbModel = users.FirstOrDefault(user => user.Name == nameOfEntity);
                dtoModel = new DTOUser(dbModel);
            }
            else
            {
                throw new TypeAccessException("Входной тип данных не соответствует ни одному из поддерживаемых в методе!");
            }

            if (dtoModel != null)
            {
                return(dtoModel);
            }
            else
            {
                throw new NullReferenceException("Метод не смог найти сущность для возврата!");
            }
        }
예제 #28
0
        public IActionResult Get(Guid id)
        {
            var claims = User.Claims;
            var userId = claims.FirstOrDefault(x => x.Type == "id")?.Value;

            if (userId != id.ToString())
            {
                return(Unauthorized());
            }

            using (var unit = _factory.GetUOF())
            {
                var dbUser = unit.Users.GetEager(id);
                var user   = new DTOUser
                {
                    InterestTags = new List <string>(),
                    Favorites    = new List <DTOSimpleUser>()
                };
                Mapper.Map(dbUser, user);

                foreach (var interestTag in dbUser.InterestTags)
                {
                    user.InterestTags.Add(interestTag.Tag.Name);
                }

                foreach (var favorite in dbUser.Favorites)
                {
                    var dtoSimpleUser = new DTOSimpleUser();
                    Mapper.Map(favorite.Expert, dtoSimpleUser);
                }

                return(Ok(user));
            }
        }
예제 #29
0
        public async Task <OperationDetails> Create(DTOUser dtouser)
        {
            ApplicationUser user = await _uow.UserManager.FindByEmailAsync(dtouser.Email); //check email

            if (user == null)
            {
                var mapper = new MapperConfiguration(cfg => cfg.CreateMap <DTOUser, ApplicationUser>()
                                                     .ForMember(x => x.UserName, opt => opt.MapFrom(y => y.Login))
                                                     .ForMember(x => x.Roles, opt => opt.Ignore())).CreateMapper();

                user = mapper.Map <DTOUser, ApplicationUser>(dtouser);

                var mapper2 = new MapperConfiguration(cfg => cfg.CreateMap <DTOUser, UserInfo>()).CreateMapper();

                user.UserInfo = mapper2.Map <DTOUser, UserInfo>(dtouser);

                var result = await _uow.UserManager.CreateAsync(user, dtouser.Password);

                if (result.Errors.Any())
                {
                    return(new OperationDetails(false, result.Errors.FirstOrDefault(), ""));
                }

                await _uow.UserManager.AddToRoleAsync(user.Id, dtouser.Roles[0]);   // only User type "user"

                await _uow.Save();

                return(new OperationDetails(true, "Registration success", ""));
            }
            else
            {
                return(new OperationDetails(false, "User with this email exist", "email"));
            }
        }
예제 #30
0
        public int updateUser(DTOUser hanghoa)
        {
            DALBaoMat um = new DALBaoMat();

            int dt = um.updateUser(hanghoa);

            return(dt);
        }