Example #1
0
        public Users_cstm GenUser_cstm(UpdateUserDto updateUserDto)
        {
            Users_cstm user = new Users_cstm();

            user.HR_ID_C          = new Guid(updateUserDto.HR_ID_C);
            user.USER_TYPE_C      = new Guid(updateUserDto.USER_TYPE_C);
            user.USER_TITLE_ID_C  = new Guid(updateUserDto.USER_TITLE_ID_C);
            user.ACCOUNT_NUMBER_C = new Guid(updateUserDto.ACCOUNT_NUMBER_C);
            user.REGION_ID_C      = new Guid(updateUserDto.REGION_ID_C);
            user.ROLE_ID_C        = new Guid(updateUserDto.ROLE_ID_C);
            user.HO_TEN_C         = updateUserDto.FIRST_NAME;
            return(user);
        }
Example #2
0
        public long updateUser(UpdateUserDto updateUserDto)
        {
            User       user      = GenUser(updateUserDto);
            Users_cstm user_cstm = GenUser_cstm(updateUserDto);

            try
            {
                // Neu chua co thi tao
                if (user.ID == new Guid("00000000-0000-0000-0000-000000000000"))
                {
                    Guid id = Guid.NewGuid();
                    Console.WriteLine("Tao user moi" + id);

                    user_cstm.ID_C = id;
                    List <User> users = new List <User>();
                    users.Add(user);
                    user.DATE_ENTERED  = DateTime.Now;
                    user.DATE_MODIFIED = DateTime.Now;
                    List <Users_cstm> user_Cstms = new List <Users_cstm>();
                    user_Cstms.Add(user_cstm);
                    String            userSql = @"
                INSERT INTO USERS(ID,USER_NAME, EMAIL1, PHONE_MOBILE, IS_ADMIN,
                STATUS, LAST_NAME, FIRST_NAME)
                VALUES(@ID, @USER_NAME, @EMAIL1, @PHONE_MOBILE, @IS_ADMIN, @STATUS, @LAST_NAME,
                @FIRST_NAME)";
                    DynamicParameters param   = new DynamicParameters();
                    param.Add("@ID", id);
                    param.Add("@USER_NAME", user.USER_NAME);
                    param.Add("@PHONE_MOBILE", user.PHONE_MOBILE);
                    param.Add("@EMAIL1", user.EMAIL1);
                    param.Add("@IS_ADMIN", user.IS_ADMIN);
                    param.Add("@STATUS", user.STATUS);
                    param.Add("@LAST_NAME", user.LAST_NAME);
                    param.Add("@FIRST_NAME", user.FIRST_NAME);
                    DapperORM.InsertOne(userSql, param);

                    // INSERT CSTM
                    String            userCstmSql = @"
                INSERT INTO USERS_CSTM(ID_C,HR_ID_C, USER_TYPE_C, USER_TITLE_ID_C, ACCOUNT_NUMBER_C,
                REGION_ID_C, ROLE_ID_C, HO_TEN_C)
                VALUES(@ID_C, @HR_ID_C, @USER_TYPE_C, @USER_TITLE_ID_C, @ACCOUNT_NUMBER_C,@REGION_ID_C, @ROLE_ID_C, @HO_TEN_C
                )";
                    DynamicParameters paramCstm   = new DynamicParameters();
                    paramCstm.Add("@ID_C", id);
                    paramCstm.Add("@HR_ID_C", user_cstm.HR_ID_C);
                    paramCstm.Add("@USER_TYPE_C", user_cstm.USER_TYPE_C);
                    paramCstm.Add("@USER_TITLE_ID_C", user_cstm.USER_TITLE_ID_C);
                    paramCstm.Add("@ACCOUNT_NUMBER_C", user_cstm.ACCOUNT_NUMBER_C);
                    paramCstm.Add("@REGION_ID_C", user_cstm.REGION_ID_C);
                    paramCstm.Add("@ROLE_ID_C", user_cstm.ROLE_ID_C);
                    paramCstm.Add("@HO_TEN_C", user_cstm.HO_TEN_C);
                    DapperORM.InsertOne(userCstmSql, paramCstm);
                    return(0);
                }
                else
                {
                    // Check user name Exist
                    bool checkUserName = checkUserExist("USER_NAME", user.USER_NAME, user.ID.ToString());
                    // 1: username exist, pick other name
                    if (checkUserName)
                    {
                        return(1);
                    }
                    // Update
                    List <User>       users      = new List <User>();
                    List <Users_cstm> user_Cstms = new List <Users_cstm>();
                    String            userSql    = "UPDATE USERS " +
                                                   "SET PHONE_MOBILE = @PHONE_MOBILE ," +
                                                   " EMAIL1 = @EMAIL1, " +
                                                   " IS_ADMIN = @IS_ADMIN," +
                                                   " STATUS = @STATUS, " +
                                                   " LAST_NAME = @LAST_NAME, " +
                                                   " FIRST_NAME = @FIRST_NAME," +
                                                   " DATE_MODIFIED = @DATE_MODIFIED" +
                                                   " WHERE ID = @ID";
                    String userCstmSql = "UPDATE USERS_CSTM " +
                                         "SET HR_ID_C = @HR_ID_C ," +
                                         " USER_TYPE_C = @USER_TYPE_C, " +
                                         " USER_TITLE_ID_C = @USER_TITLE_ID_C," +
                                         " ACCOUNT_NUMBER_C = @ACCOUNT_NUMBER_C, " +
                                         " REGION_ID_C = @REGION_ID_C, " +
                                         " ROLE_ID_C = @ROLE_ID_C," +
                                         " HO_TEN_C = @HO_TEN_C" +
                                         " WHERE ID_C = @ID_C";
                    DynamicParameters paramCstm = new DynamicParameters();
                    paramCstm.Add("@ID_C", user.ID);
                    paramCstm.Add("@HR_ID_C", user_cstm.HR_ID_C);

                    paramCstm.Add("@USER_TYPE_C", user_cstm.USER_TYPE_C);
                    paramCstm.Add("@USER_TITLE_ID_C", user_cstm.USER_TITLE_ID_C);
                    paramCstm.Add("@ACCOUNT_NUMBER_C", user_cstm.ACCOUNT_NUMBER_C);
                    paramCstm.Add("@REGION_ID_C", user_cstm.REGION_ID_C);
                    paramCstm.Add("@ROLE_ID_C", user_cstm.ROLE_ID_C);
                    paramCstm.Add("@HO_TEN_C", user_cstm.HO_TEN_C);
                    // update user
                    DynamicParameters param = new DynamicParameters();
                    param.Add("@ID", user.ID);
                    param.Add("@PHONE_MOBILE", user.PHONE_MOBILE);
                    param.Add("@EMAIL1", user.EMAIL1);
                    param.Add("@IS_ADMIN", user.IS_ADMIN);
                    param.Add("@DATE_MODIFIED", DateTime.Now);
                    param.Add("@STATUS", user.STATUS);
                    param.Add("@LAST_NAME", user.LAST_NAME);
                    param.Add("@FIRST_NAME", user.FIRST_NAME);

                    DapperORM.Execute(userSql, param);
                    DapperORM.Execute(userCstmSql, paramCstm);
                    return(0);
                }
            } catch (Exception e)
            {
                Console.WriteLine(e);
                return(2);
            }
        }
        //public async Task<Guid> CreateUserAsync(UpdateUserDto updateUserDto)
        //{
        //    Guid id = Guid.NewGuid();
        //    User user = GenUser(updateUserDto);
        //    Users_cstm user_cstm = GenUser_cstm(updateUserDto);
        //    try
        //    {
        //        user_cstm.ID_C = id;
        //        List<User> users = new List<User>();
        //        users.Add(user);
        //        user.DATE_ENTERED = DateTime.Now;
        //        user.DATE_MODIFIED = DateTime.Now;
        //        List<Users_cstm> user_Cstms = new List<Users_cstm>();
        //        user_Cstms.Add(user_cstm);
        //        String userSql = @"
        //        INSERT INTO USERS(ID,USER_NAME, EMAIL1, PHONE_MOBILE, IS_ADMIN,
        //        STATUS, LAST_NAME, FIRST_NAME)
        //        VALUES(@ID, @USER_NAME, @EMAIL1, @PHONE_MOBILE, @IS_ADMIN, @STATUS, @LAST_NAME,
        //        @FIRST_NAME)";
        //        DynamicParameters param = new DynamicParameters();
        //        param.Add("@ID", id);
        //        param.Add("@USER_NAME", user.USER_NAME);
        //        param.Add("@PHONE_MOBILE", user.PHONE_MOBILE);
        //        param.Add("@EMAIL1", user.EMAIL1);
        //        param.Add("@IS_ADMIN", user.IS_ADMIN);
        //        param.Add("@STATUS", user.STATUS);
        //        param.Add("@LAST_NAME", user.LAST_NAME);
        //        param.Add("@FIRST_NAME", user.FIRST_NAME);

        //        // INSERT CSTM
        //        String userCstmSql = @"
        //        INSERT INTO USERS_CSTM(ID_C,HR_ID_C, USER_TYPE_C, USER_TITLE_ID_C, ACCOUNT_NUMBER_C,
        //        REGION_ID_C, ROLE_ID_C, HO_TEN_C)
        //        VALUES(@ID_C, @HR_ID_C, @USER_TYPE_C, @USER_TITLE_ID_C, @ACCOUNT_NUMBER_C,@REGION_ID_C, @ROLE_ID_C, @HO_TEN_C
        //        )";
        //        DynamicParameters paramCstm = new DynamicParameters();
        //        paramCstm.Add("@ID_C", id);
        //        paramCstm.Add("@HR_ID_C", user_cstm.HR_ID_C);
        //        paramCstm.Add("@USER_TYPE_C", user_cstm.USER_TYPE_C);
        //        paramCstm.Add("@USER_TITLE_ID_C", user_cstm.USER_TITLE_ID_C);
        //        paramCstm.Add("@ACCOUNT_NUMBER_C", user_cstm.ACCOUNT_NUMBER_C);
        //        paramCstm.Add("@REGION_ID_C", user_cstm.REGION_ID_C);
        //        paramCstm.Add("@ROLE_ID_C", user_cstm.ROLE_ID_C);
        //        paramCstm.Add("@HO_TEN_C", user_cstm.HO_TEN_C);
        //        SqlForm[] sqlForms = new SqlForm[2];
        //        sqlForms[0] = new SqlForm(userSql, param);
        //        sqlForms[1] = new SqlForm(userCstmSql, paramCstm);
        //        //DapperORM.ExecuteTransaction(sqlForms);
        //        await WithConnection(async conn =>
        //        {
        //            await conn.ExecuteAsync(userSql,
        //                            new   {
        //                                ID = id,
        //                                USER_NAME = user.USER_NAME,
        //                                PHONE_MOBILE = user.PHONE_MOBILE,
        //                                EMAIL1 = user.EMAIL1,
        //                                IS_ADMIN = user.IS_ADMIN,
        //                                STATUS = user.EMPLOYEE_STATUS,
        //                                LAST_NAME = user.LAST_NAME,
        //                                FIRST_NAME = user.FIRST_NAME
        //                            });

        //            await conn.ExecuteAsync(userCstmSql,
        //                            new { ID_C = id, HR_ID_C = user_cstm.HR_ID_C, USER_TYPE_C = user_cstm.USER_TYPE_C, USER_TITLE_ID_C = user_cstm.USER_TITLE_ID_C,
        //                                ACCOUNT_NUMBER_C = user_cstm.ACCOUNT_NUMBER_C,
        //                                REGION_ID_C = user_cstm.REGION_ID_C,
        //                                ROLE_ID_C = user_cstm.ROLE_ID_C,
        //                                HO_TEN_C = user_cstm.HO_TEN_C
        //                            });
        //        });
        //        return id;
        //    }
        //    catch (Exception e)
        //    {
        //        throw e;
        //    }
        //}
        public Guid CreateUser(UpdateUserDto updateUserDto, string createdBy)
        {
            Guid       id        = Guid.NewGuid();
            User       user      = GenUser(updateUserDto);
            Users_cstm user_cstm = GenUser_cstm(updateUserDto);

            try
            {
                user_cstm.ID_C = id;
                bool checkUserName = CheckUserExist("USER_NAME", user.USER_NAME, null);
                // 1: username exist, pick other name
                if (checkUserName)
                {
                    throw new Exception("USERNAME_EXIST");
                }
                List <User> users = new List <User>();
                users.Add(user);
                user.DATE_ENTERED  = DateTime.Now;
                user.DATE_MODIFIED = DateTime.Now;
                List <Users_cstm> user_Cstms = new List <Users_cstm>();
                user_Cstms.Add(user_cstm);
                String            userSql = @"
                INSERT INTO USERS(ID,USER_NAME, EMAIL1, PHONE_MOBILE, IS_ADMIN,
                STATUS, LAST_NAME, FIRST_NAME, CREATED_BY)
                VALUES(@ID, @USER_NAME, @EMAIL1, @PHONE_MOBILE, @IS_ADMIN, @STATUS, @LAST_NAME,
                @FIRST_NAME, @CREATED_BY)";
                DynamicParameters param   = new DynamicParameters();
                param.Add("@ID", id);
                param.Add("@USER_NAME", user.USER_NAME);
                param.Add("@PHONE_MOBILE", user.PHONE_MOBILE);
                param.Add("@EMAIL1", user.EMAIL1);
                param.Add("@IS_ADMIN", user.IS_ADMIN);
                param.Add("@STATUS", user.STATUS);
                param.Add("@LAST_NAME", user.LAST_NAME);
                param.Add("@FIRST_NAME", user.FIRST_NAME);
                param.Add("@CREATED_BY", createdBy);

                // INSERT CSTM
                String            userCstmSql = @"
                INSERT INTO USERS_CSTM(ID_C,HR_ID_C, USER_TYPE_C, USER_TITLE_ID_C, ACCOUNT_NUMBER_C,
                REGION_ID_C, ROLE_ID_C, HO_TEN_C, AGENT_ID_C)
                VALUES(@ID_C, @HR_ID_C, @USER_TYPE_C, @USER_TITLE_ID_C, @ACCOUNT_NUMBER_C,@REGION_ID_C, @ROLE_ID_C, @HO_TEN_C, @AGENT_ID_C
                )";
                DynamicParameters paramCstm   = new DynamicParameters();
                paramCstm.Add("@ID_C", id);
                paramCstm.Add("@HR_ID_C", user_cstm.HR_ID_C);
                paramCstm.Add("@USER_TYPE_C", user_cstm.USER_TYPE_C);
                paramCstm.Add("@USER_TITLE_ID_C", user_cstm.USER_TITLE_ID_C);
                paramCstm.Add("@ACCOUNT_NUMBER_C", user_cstm.ACCOUNT_NUMBER_C);
                paramCstm.Add("@REGION_ID_C", user_cstm.REGION_ID_C);
                paramCstm.Add("@ROLE_ID_C", user_cstm.ROLE_ID_C);
                paramCstm.Add("@HO_TEN_C", user_cstm.HO_TEN_C);
                paramCstm.Add("@AGENT_ID_C", user_cstm.AGENT_ID_C);
                SqlForm[] sqlForms = new SqlForm[2];
                sqlForms[0] = new SqlForm(userSql, param);
                sqlForms[1] = new SqlForm(userCstmSql, paramCstm);
                DapperORM.ExecuteTransaction(sqlForms);
                return(id);
            }
            catch (Exception e)
            {
                return(new Guid("00000000-0000-0000-0000-000000000000"));
            }
        }