Пример #1
0
        public IHttpActionResult GetCurrentUser(string userName)
        {
            try
            {
                UserBasicInfoDTO userInfo = new UserBasicInfoDTO();
                using (var db = new UserDAL())
                {
                    userInfo = db.GetUserInfoUsingUserNameOrEmail(userName);
                }

                return(Ok(new HTTPMessageDTO
                {
                    Status = WsConstant.HttpMessageType.SUCCESS,
                    Message = "",
                    Type = "",
                    Data = userInfo
                }));
            }
            catch (Exception)
            {
                return(Ok(new HTTPMessageDTO
                {
                    Status = WsConstant.HttpMessageType.ERROR,
                    Message = "",
                    Type = ""
                }));
            }
        }
Пример #2
0
        public IHttpActionResult GetUserCreatedThread(int id)
        {
            try
            {
                using (var db = new UserDAL())
                {
                    Ws_User          wsUser          = db.GetUserById(id);
                    User_Information userInformation = db.GetUserInformation(id);
                    UserBasicInfoDTO user            = new UserBasicInfoDTO();
                    user.UserName     = wsUser.UserName;
                    user.AccountType  = wsUser.AccountType;
                    user.IsActive     = wsUser.IsActive;
                    user.FullName     = userInformation.FullName == null? wsUser.UserName: userInformation.FullName;
                    user.ProfileImage = userInformation.ProfileImage;
                    user.Email        = wsUser.Email;

                    return(Ok(new HTTPMessageDTO {
                        Status = WsConstant.HttpMessageType.SUCCESS, Data = user
                    }));
                }
            }
            catch (Exception)
            {
                return(Ok(new HTTPMessageDTO {
                    Status = WsConstant.HttpMessageType.ERROR
                }));
            }
        }
Пример #3
0
        public IHttpActionResult GetNewCreatedUser()
        {
            try
            {
                var userListBasic = new List <UserBasicInfoDTO>();

                using (var db = new UserDAL())
                {
                    List <Ws_User> userList = db.GetNewUser();
                    foreach (Ws_User user in userList)
                    {
                        //Get information of user
                        UserBasicInfoDTO userBasic = db.GetFullInforOfUserAsBasicUser(user.UserID);
                        userListBasic.Add(userBasic);
                    }
                }

                return(Ok(new HTTPMessageDTO
                {
                    Status = WsConstant.HttpMessageType.SUCCESS,
                    Message = "",
                    Type = "",
                    Data = userListBasic
                }));
            }
            catch (Exception)
            {
                return(Ok(new HTTPMessageDTO
                {
                    Status = WsConstant.HttpMessageType.ERROR,
                    Message = "",
                    Type = ""
                }));
            }
        }
Пример #4
0
        /// <summary>
        /// Get All User in WS_USER
        /// </summary>
        /// <returns>list ws_user</returns>
        public List <UserBasicInfoDTO> GetAllUser()
        {
            var listUser = new List <UserBasicInfoDTO>();

            try
            {
                List <int> userIdList;
                using (var db = new Ws_DataContext())
                {
                    userIdList = db.Ws_User.Select(x => x.UserID).ToList();
                }

                using (var db = new UserDAL())
                {
                    foreach (int userId in userIdList)
                    {
                        UserBasicInfoDTO userBasic = db.GetFullInforOfUserAsBasicUser(userId);
                        listUser.Add(userBasic);
                    }
                }
            }
            catch (Exception)
            {
                //throw;
            }

            return(listUser);
        }
Пример #5
0
        /// <summary>
        /// 获得用户基础信息
        /// </summary>
        /// <returns></returns>
        private UserBasicInfoDTO GetUserBasicInfo()
        {
            UserBasicInfoDTO user = DBUtility.CubeDb.From <Mc_User>()
                                    .Where(Mc_User._.Id == User.Id)
                                    .Select(Mc_User._.All)
                                    .First <UserBasicInfoDTO>();

            return(user ?? new UserBasicInfoDTO());
        }
Пример #6
0
 public bool UpdateUserInfo(UserBasicInfoDTO UserInfo, string userName)
 {
     try
     {
         using (var db = new Ws_DataContext())
         {
             var newInformation = db.User_Information.Where(x => x.Ws_User.UserName == userName).SingleOrDefault();
             if (UserInfo.FullName != null)
             {
                 newInformation.FullName  = UserInfo.FullName;
                 newInformation.EFullName = ConvertToUnSign.Convert(UserInfo.FullName);
             }
             if (UserInfo.Phone != null)
             {
                 newInformation.Phone = UserInfo.Phone;
             }
             if (UserInfo.Address != null)
             {
                 newInformation.UserAddress  = UserInfo.Address;
                 newInformation.EUserAddress = ConvertToUnSign.Convert(UserInfo.Address);
             }
             if (UserInfo.Country != null)
             {
                 newInformation.Country = UserInfo.Country;
             }
             if (UserInfo.Gender != null)
             {
                 newInformation.Gender = UserInfo.Gender;
             }
             if (UserInfo.DOB != "")
             {
                 newInformation.DoB = Convert.ToDateTime(UserInfo.DOB);
             }
             if (UserInfo.FacebookUri != null)
             {
                 newInformation.FacebookUrl = UserInfo.FacebookUri;
             }
             if (UserInfo.UserSignature != null)
             {
                 newInformation.UserSignature = UserInfo.UserSignature;
             }
             db.User_Information.AddOrUpdate(newInformation);
             db.SaveChanges();
             return(true);
         }
     }
     catch (Exception)
     {
         return(false);
     }
 }
Пример #7
0
        /// <summary>
        /// 从DB中取得user完整信息
        /// </summary>
        /// <returns></returns>
        private UserInfoDTO GetUserInfoImp()
        {
            UserInfoDTO user = new UserInfoDTO();
            //(1)基础信息
            UserBasicInfoDTO basicInfo = GetUserBasicInfo();

            user.Id         = basicInfo.Id;
            user.Login_Name = basicInfo.Login_Name;
            user.Name       = basicInfo.Name;
            user.Mail       = basicInfo.Mail;
            //(2)偏好设置
            user.preference = GetUserPreferenceImp();
            //(3)Role列表
            user.RoleList = GetRoleList();
            //(4)菜单
            user.MenuList = GetMenuImp().ProductList;
            return(user);
        }
Пример #8
0
        //Get user information (Profile page)
        public UserBasicInfoDTO GetUserInfoUsingUserNameOrEmail(string userNameOrEmail)
        {
            UserBasicInfoDTO userBasic = new UserBasicInfoDTO();

            try
            {
                Ws_User user;
                using (var db = new Ws_DataContext())
                {
                    user = db.Ws_User.FirstOrDefault(x => x.UserName == userNameOrEmail || x.Email == userNameOrEmail);
                }

                userBasic = GetFullInforOfUserAsBasicUser(user.UserID);
            }
            catch (Exception)
            {
                //throw;
            }

            return(userBasic);
        }
Пример #9
0
 public IHttpActionResult GetDonateInfo(int eventId)
 {
     try
     {
         var userInfo = new UserBasicInfoDTO();
         using (var db = new UserDAL())
         {
             var user    = db.GetUserByUserNameOrEmail(User.Identity.Name);
             var userGet = db.GetUserInformation(user.UserID);
             userInfo.FullName       = userGet.FullName;
             userInfo.Email          = user.Email;
             userInfo.Phone          = userGet.Phone;
             userInfo.UserId         = user.UserID;
             userInfo.DonatedEventId = eventId;
         }
         using (var db2 = new EventDAL())
         {
             var eventNmGet = db2.GetEventNameById(eventId);
             if (eventNmGet == "")
             {
                 return(Ok(new HTTPMessageDTO {
                     Status = WsConstant.HttpMessageType.NOT_FOUND
                 }));
             }
             else
             {
                 userInfo.DonatedEventName = eventNmGet;
             }
         }
         return(Ok(new HTTPMessageDTO {
             Status = WsConstant.HttpMessageType.SUCCESS, Data = userInfo
         }));
     }
     catch (Exception)
     {
         return(Ok(new HTTPMessageDTO {
             Status = WsConstant.HttpMessageType.ERROR
         }));
     }
 }
Пример #10
0
 public IHttpActionResult UpdateUserInfo(UserBasicInfoDTO UpdateUser)
 {
     //Call to accesslayer
     using (var db = new UserDAL())
     {
         var result = db.UpdateUserInfo(UpdateUser, User.Identity.Name);
         if (result)
         {
             return(Ok(new HTTPMessageDTO
             {
                 Status = WsConstant.HttpMessageType.SUCCESS,
             }));
         }
         else
         {
             return(Ok(new HTTPMessageDTO
             {
                 Status = WsConstant.HttpMessageType.ERROR,
             }));
         }
     }
 }
 public IHttpActionResult PokeUser(UserBasicInfoDTO user)
 {
     try
     {
         if (!ModelState.IsValid)
         {
             return(Ok(new HttpMessageDTO {
                 Status = VarConstants.HttpMessageType.ERROR, Message = "Wrong data format", Type = VarConstants.HttpMessageType.BAD_REQUEST
             }));
         }
         var pokeEvent = UserRespository.Instance.PokeUser(user.UserName);
     }
     catch (Exception)
     {
         return(Ok(new HttpMessageDTO {
             Status = VarConstants.HttpMessageType.ERROR, Message = "", Type = VarConstants.HttpMessageType.BAD_REQUEST
         }));
     }
     return(Ok(new HttpMessageDTO {
         Status = VarConstants.HttpMessageType.SUCCESS, Message = "", Type = ""
     }));
 }
Пример #12
0
        public List <UserBasicInfoDTO> GetTopNumberRankingUser(int top)
        {
            var topRankingUser = new List <UserBasicInfoDTO>();

            try
            {
                List <int> listUserId;
                using (var db = new Ws_DataContext())
                {
                    listUserId = db.Ws_User.Where(x => x.AccountType == false).Select(x => x.UserID).ToList();
                }

                foreach (int userId in listUserId)
                {
                    UserBasicInfoDTO userBasic = GetFullInforOfUserAsBasicUser(userId);
                    topRankingUser.Add(userBasic);
                }
            }
            catch (Exception)
            {
                //throw;
            }
            return(topRankingUser.OrderByDescending(x => x.Point).Take(top).ToList());
        }
Пример #13
0
 public static UserBasicInfoDTO GetUserBasicInfoDTOByUserName(string username, bool onlyActive = false)
 {
     UserBasicInfoDTO info = GetAllUsersBasicInfo().SingleOrDefault(q => q.UserName == username && (onlyActive == false || q.IsDisabled == false));
     if (info == null)
         info = new UserBasicInfoDTO();
     return info;
 }
Пример #14
0
 public static UserBasicInfoDTO GetUserBasicInfoDTOByID(int id)
 {
     UserBasicInfoDTO info = GetAllUsersBasicInfo().SingleOrDefault(i => i.UserID == id);
     if (info == null)
         info = new UserBasicInfoDTO();
     return info;
 }
Пример #15
0
        /// <summary>
        /// Get full information of User
        /// #Note: If you add new field to UserBasicInfoDTO model -
        ///        Please write code to set that information in this function
        /// </summary>
        /// <param name="userId"></param>
        /// <returns>UserBasicInfoDTO</returns>
        public UserBasicInfoDTO GetFullInforOfUserAsBasicUser(int userId)
        {
            UserBasicInfoDTO currentUser = new UserBasicInfoDTO();

            int     numberEventDonatedIn = 0;
            decimal totalMoneyDonatedIn  = 0;
            decimal lastDonateMoney      = 0;
            string  lastDonateDate       = "";

            int numberOfPost = 0;

            try
            {
                Ws_User          wsUser          = GetUserById(userId);
                User_Information userInformation = GetUserInformation(userId);

                //Get infomation about donation of this user
                using (var db = new DonationDAL())
                {
                    numberEventDonatedIn = db.GetNumberEventDonatedInByUsingUserId(userId);
                    totalMoneyDonatedIn  = db.GetTotalMoneyDonatedInByUsingUserId(userId);

                    Donation lastDonation = db.GetLastDonateInformation(userId);

                    if (lastDonation != null)
                    {
                        lastDonateMoney = lastDonation.DonatedMoney;
                        lastDonateDate  = lastDonation.DonatedDate.ToString("H:mm:ss dd/MM/yy");
                    }
                }

                //Get number of post for current user
                using (var db = new ThreadDAL())
                {
                    numberOfPost = db.GetNumberOfPostPerUser(userId);
                }
                using (var db = new OrganizationDAL())
                {
                    Organization org = db.GetOrganizationById(userId);
                    if (org != null)
                    {
                        currentUser.OrganazationName = org.OrganizationName;
                    }

                    if (currentUser.OrganazationName == "")
                    {
                        currentUser.OrganazationName = "Chưa có";
                    }
                }
                using (var db = new Ws_DataContext())
                {
                    currentUser.JoinedDate = db.Ws_User.Where(x => x.UserID == userId).SingleOrDefault().CreatedDate.ToString("dd/mm/yyyy");
                }

                //get ranking information
                WsRanking  ranking = new WsRanking();
                RankingDTO rank    = new RankingDTO();


                //Set information for user which want to get
                currentUser.UserId      = userId;
                currentUser.UserName    = wsUser.UserName;
                currentUser.AccountType = wsUser.AccountType;
                currentUser.IsActive    = wsUser.IsActive;
                currentUser.IsVerify    = wsUser.IsVerify;

                currentUser.Email = wsUser.Email;
                if (userInformation != null)
                {
                    rank = ranking.RankingWithPoint(userInformation.Point);
                    currentUser.FacebookUri   = userInformation.FacebookUrl;
                    currentUser.FullName      = userInformation.FullName;
                    currentUser.ProfileImage  = userInformation.ProfileImage;
                    currentUser.Gender        = userInformation.Gender;
                    currentUser.Phone         = userInformation.Phone;
                    currentUser.Address       = userInformation.UserAddress;
                    currentUser.UserSignature = userInformation.UserSignature;

                    if (userInformation.DoB != null)
                    {
                        currentUser.DOB = userInformation.DoB.Value.ToString("dd/MM/yyyy");
                    }

                    currentUser.Country     = userInformation.Country;
                    currentUser.FacebookUri = userInformation.FacebookUrl;
                    currentUser.CreateDate  = wsUser.CreatedDate.ToString("dd/MM/yyyy");
                    currentUser.Point       = userInformation.Point;
                }

                currentUser.NumberOfPost = numberOfPost;

                if (rank.CurrentRank == 0)
                {
                    currentUser.CurrentRank = "Mới";
                }
                else if (rank.CurrentRank == 200)
                {
                    currentUser.CurrentRank = "Đồng";
                }
                else if (rank.CurrentRank == 500)
                {
                    currentUser.CurrentRank = "Bạc";
                }
                else if (rank.CurrentRank == 2000)
                {
                    currentUser.CurrentRank = "Vàng";
                }
                else if (rank.CurrentRank == 5000)
                {
                    currentUser.CurrentRank = "Bạch Kim";
                }
                else if (rank.CurrentRank == 10000)
                {
                    currentUser.CurrentRank = "Kim Cương";
                }

                currentUser.RankPercent          = rank.RankPercent;
                currentUser.NumberEventDonatedIn = numberEventDonatedIn;
                currentUser.TotalMoneyDonatedIn  = totalMoneyDonatedIn;
                currentUser.LastDonateMoney      = lastDonateMoney;
                currentUser.LastDonateDate       = lastDonateDate;
            }
            catch (Exception)
            {
                //throw;
            }

            return(currentUser);
        }