public ActionResult Edit(M_USER m_USER)
        {
            if (Session["Admin"] != null)
            {
                var sess = Session["Admin"].ToString();
                if (m_USER.USER_ID != null)
                {
                    m_USER.USER_ID = m_USER.USER_ID.Trim();
                    var userId = db.M_USER.Where(x => x.USER_ID == m_USER.USER_ID).FirstOrDefault();
                    if (userId != null)
                    {
                        m_USER.PASSWORD     = m_USER.PASSWORD.Trim();
                        m_USER.LOGIN        = m_USER.LOGIN.Trim();
                        m_USER.LOGIN_DOMAIN = m_USER.LOGIN_DOMAIN.Trim();

                        userId.LOGIN        = m_USER.LOGIN;
                        userId.LOGIN_DOMAIN = m_USER.LOGIN_DOMAIN;
                        userId.PASSWORD     = m_USER.PASSWORD;
                        userId.LAST_UPD_DT  = System.DateTime.Now;
                        userId.LAST_UPD_BY  = sess;
                        db.SaveChanges();
                    }
                }
                return(RedirectToAction("Index"));
            }
            return(RedirectToAction("Login2", "Home"));
        }
Esempio n. 2
0
        /// <summary>
        /// Get user info/ company info.
        /// </summary>
        /// <param name="userId">User Id.</param>
        /// <returns>user info/ company info.</returns>
        public static UserEntity GetUserInfo(AloaiDataContext db, decimal?userId)
        {
            UserEntity userInfo = new UserEntity();

            if (!userId.HasValue)
            {
                return(userInfo);
            }

            var user = from d in db.M_USERS
                       where d.USER_ID == userId.Value
                       select d;

            if (!user.Any())
            {
                return(userInfo);
            }

            M_USER mUser = user.Single();

            userInfo.name = mUser.NAME;

            ImageInfoEntity avatar = new ImageInfoEntity();

            avatar.path     = mUser.AVATAR;
            userInfo.avatar = avatar;

            return(userInfo);
        }
Esempio n. 3
0
        public bool UpdateModeUser(decimal id, decimal Mode)
        {
            IDbContextTransaction tran = _context.Database.BeginTransaction();

            try
            {
                var query = from d in _context.M_USERS
                            where d.USER_ID == id
                            select d;

                if (query.Any())
                {
                    M_USER user = query.Single();
                    user.MODE_DEFAULT = Mode;
                    _context.SaveChanges();
                }

                // Commit transaction.
                tran.Commit();

                return(true);
            }
            catch
            {
                // Rollback transaction.
                tran.Rollback();
                return(false);
            }
        }
Esempio n. 4
0
        public bool DeleteUser(decimal id)
        {
            IDbContextTransaction tran = _context.Database.BeginTransaction();

            try
            {
                var query = from d in _context.M_USERS
                            where d.USER_ID == id
                            select d;

                if (query.Any())
                {
                    M_USER user = query.Single();
                    _context.M_USERS.Add(user);
                    _context.SaveChanges();
                }

                // Remove image.
                if (!Utility.RemoveImage(_context, id, ImageType.Profile))
                {
                    return(false);
                }

                // Commit transaction.
                tran.Commit();

                return(true);
            }
            catch
            {
                // Rollback transaction.
                tran.Rollback();
                return(false);
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Update user/ company infomation.
        /// </summary>
        /// <param name="db">DataContext.</param>
        /// <param name="userEntity">User entity</param>
        /// <returns>Ok: true, Fail: false</returns>
        public static bool UpdateUser(AloaiDataContext db, UserEntity userEntity)
        {
            var query = from d in db.M_USERS
                        where d.USER_ID == userEntity.userId
                        select d;

            M_USER user = query.Single();

            user.PHONE_NUMBER = userEntity.phoneNumber;
            user.NAME         = userEntity.name;

            if (userEntity.avatar != null)
            {
                string avartaPath = string.Empty;

                if (Utility.UploadAvatar(db, userEntity.userId, userEntity.avatar, userEntity.avatar.path, out avartaPath))
                {
                    user.AVATAR = avartaPath;
                }
            }

            user.MODE_DEFAULT = userEntity.modeDefault;
            user.UPD_DATETIME = Utility.GetSysDateTime();

            List <T_PARTNER_CATALOG_UNIT> workerList = new List <T_PARTNER_CATALOG_UNIT>();

            db.SaveChanges();

            return(true);
        }
        public ActionResult Login2([Bind(Include = "LOGIN,PASSWORD")] M_USER model)
        {
            //model.USER_FLG = false;
            var res = db.M_USER.Where(x => x.LOGIN == model.LOGIN).FirstOrDefault();

            if (res != null)
            {
                var pass = res.PASSWORD == model.PASSWORD;
                if (pass == true)
                {
                    if (res.LOGIN_DOMAIN == "Customer")
                    {
                        Session["CustId"] = res.USER_ID;
                        Session["Admin"]  = null;
                        //int value = Convert.ToInt32(res.CustomerId);
                        return(RedirectToAction("Index", "Survey"));
                    }
                    else if (res.LOGIN_DOMAIN == "Admin")
                    {
                        Session["Admin"]  = res.USER_ID;
                        Session["CustId"] = null;
                        return(RedirectToAction("AdminActivities", "Admin"));
                    }
                    else if (res.LOGIN_DOMAIN == "Sales")
                    {
                        return(RedirectToAction("Index", "Sales"));
                    }
                }
            }
            ViewBag.Error = "Username and Password do not Match";
            return(View("Login2"));
        }
Esempio n. 7
0
        public ActionResult GetSystemMessage([FromRoute] decimal id)
        {
            var query = from d in _context.D_NOTIFYS
                        where d.NOTIFY_ID == id
                        select d;

            if (!query.Any())
            {
                return(Ok(new Result
                {
                    Status = 200,
                    Message = string.Empty,
                    Data = string.Empty
                }));
            }

            D_NOTIFY notify = query.Single();

            NotifyEntity entity = new NotifyEntity();

            entity.notifyId        = notify.NOTIFY_ID;
            entity.notifyType      = notify.NOTIFY_TYPE;
            entity.objectId        = notify.OBJECT_ID;
            entity.notifyDate      = notify.NOTIFY_DATE;
            entity.userSendId      = notify.USER_SEND_ID;
            entity.userReceiveId   = notify.USER_RECIEVE_ID;
            entity.receiveModeUser = notify.RECEIVE_MODE_USER;
            entity.content         = notify.CONTENT;

            if (entity.notifyType == (int)NotifyType.System)
            {
                var user = from d in _context.M_USERS
                           where d.USER_ID == notify.USER_RECIEVE_ID
                           select d;

                M_USER userM = user.Single();

                var message = from d in _context.M_SYSTEM_MESSAGES
                              where d.MESSAGE_CD == entity.objectId &&
                              d.LANGUAGE_TYPE == userM.LANGUAGE_TYPE
                              select d;

                if (message.Any())
                {
                    entity.content = message.SingleOrDefault().MESSAGE_CONTENT;
                }
            }

            return(Ok(new Result
            {
                Status = 200,
                Message = string.Empty,
                Data = entity.content
            }));
        }
Esempio n. 8
0
        public ActionResult CheckCanLogin(string id)
        {
            try
            {
                System.Web.Http.HttpError errorHttp = new System.Web.Http.HttpError("User can login!");

                var query = from d in _context.M_USERS
                            where d.PHONE_NUMBER == id &&
                            d.DELETE_FLG == 0
                            select d;

                if (query.Any())
                {
                    M_USER user = query.Single();

                    // User is blocked.
                    if (user.BLOCK_FLG == 1 && user.BLOCK_FLG == (int)BlockFlag.Blocked)
                    {
                        errorHttp = new System.Web.Http.HttpError("User is blocked!");

                        return(Ok(new Result
                        {
                            Status = 404,
                            Message = errorHttp.Message,
                            Data = null
                        }));
                    }

                    // User is deleted.
                    //if (user.DELETE_FLG.HasValue && user.DELETE_FLG.Value != (int)DeleteFlag.Using)
                    //{
                    //    errorHttp = new HttpError("User is deleted!");
                    //    return Request.CreateResponse(HttpStatusCode.Conflict, errorHttp);
                    //}
                }

                return(Ok(new Result
                {
                    Status = 200,
                    Message = errorHttp.Message,
                    Data = true
                }));
            }
            catch
            {
                // Rollback transaction.
                System.Web.Http.HttpError error = new System.Web.Http.HttpError("Error system!");
                return(Ok(new Result
                {
                    Status = 200,
                    Message = error.Message,
                    Data = null
                }));
            }
        }
 public ActionResult DeleteConfirmed(M_USER id)
 {
     if (Session["Admin"] != null)
     {
         if (id.USER_ID != null)
         {
             id.USER_ID = id.USER_ID.Trim();
             M_USER m_USER = db.M_USER.Find(id.USER_ID);
             m_USER.USER_FLG = "0";
             db.SaveChanges();
         }
         return(RedirectToAction("Index"));
     }
     return(RedirectToAction("Login2", "Home"));
 }
Esempio n. 10
0
        public ActionResult GetUserByPhone(string id)
        {
            if (!Utility.CheckPhoneExists(_context, id))
            {
                return(Ok(new Result
                {
                    Status = 404,
                    Message = "Data not exists",
                    Data = null
                }));
            }

            // M_USER user = db.M_USER.FirstOrDefault(x => x.PHONE_NUMBER == id && );

            var query = from d in _context.M_USERS
                        where d.PHONE_NUMBER == id &&
                        d.DELETE_FLG == 0
                        select d;

            M_USER user = query.Single();

            UserEntity entity = new UserEntity();

            entity.userId      = user.USER_ID;
            entity.phoneNumber = user.PHONE_NUMBER;
            entity.modeDefault = user.MODE_DEFAULT;
            entity.modeUser    = user.MODE_USER;
            entity.name        = user.NAME;

            ImageInfoEntity avatar = new ImageInfoEntity();

            avatar.path   = user.AVATAR;
            entity.avatar = avatar;

            M_HIRER_INFO hirer = _context.M_HIRER_INFOS.FirstOrDefault(x => x.USER_ID == entity.userId);

            entity.userId  = hirer.USER_ID;
            entity.score   = hirer.SCORE;
            entity.likeNum = hirer.LIKE_NUM;

            return(Ok(new Result
            {
                Status = 200,
                Message = string.Empty,
                Data = entity
            }));
        }
Esempio n. 11
0
        /// <summary>
        /// Update token
        /// </summary>
        /// <param name="userId">user Id</param>
        /// <param name="token">Token string</param>
        /// <returns>Ok: true, Fail: false</returns>
        public bool UpdateToken(AloaiDataContext context, decimal userId, string token)
        {
            var query = from d in context.M_USERS
                        where d.USER_ID == userId
                        select d;

            if (query.Any())
            {
                M_USER user = query.Single();
                user.TOKEN        = token;
                user.UPD_DATETIME = Utility.GetSysDateTime();
                context.SaveChanges();

                return(true);
            }

            return(false);
        }
Esempio n. 12
0
        public ActionResult GetUser(decimal id, string language)
        {
            if (!Utility.CheckUserExists(_context, id))
            {
                return(Ok(new Result
                {
                    Status = 404,
                    Message = "Data not exists",
                    Data = null
                }));
            }

            if (string.IsNullOrEmpty(language))
            {
                language = Constant.LANGUAGE_VN;
            }

            M_USER     user   = _context.M_USERS.FirstOrDefault(x => x.USER_ID == id);
            UserEntity entity = new UserEntity();

            entity.userId      = user.USER_ID;
            entity.phoneNumber = user.PHONE_NUMBER;
            entity.modeDefault = user.MODE_DEFAULT;
            entity.modeUser    = user.MODE_USER;
            entity.name        = user.NAME;
            ImageInfoEntity avatar = new ImageInfoEntity();

            avatar.path   = user.AVATAR;
            entity.avatar = avatar;

            M_HIRER_INFO hirer = _context.M_HIRER_INFOS.FirstOrDefault(x => x.USER_ID == id);

            entity.userId  = hirer.USER_ID;
            entity.score   = hirer.SCORE;
            entity.likeNum = hirer.LIKE_NUM;

            return(Ok(new Result
            {
                Status = 200,
                Message = string.Empty,
                Data = entity
            }));
        }
Esempio n. 13
0
        public ActionResult GetAvatarByUserId(decimal id)
        {
            if (!Utility.CheckUserExists(_context, id))
            {
                return(Ok(new Result
                {
                    Status = 404,
                    Message = "Data not exists",
                    Data = null
                }));
            }

            M_USER user = _context.M_USERS.FirstOrDefault(x => x.USER_ID == id);

            return(Ok(new Result
            {
                Status = 200,
                Message = string.Empty,
                Data = user.AVATAR
            }));
        }
Esempio n. 14
0
        public bool UpdateAvatar(UserEntity userEntity)
        {
            IDbContextTransaction tran = _context.Database.BeginTransaction();

            try
            {
                var query = from d in _context.M_USERS
                            where d.PHONE_NUMBER == userEntity.phoneNumber &&
                            d.DELETE_FLG == 0
                            select d;

                if (!query.Any())
                {
                    return(false);
                }

                M_USER user = query.Single();

                if (userEntity.avatar != null && !string.IsNullOrEmpty(userEntity.avatar.path))
                {
                    string avartaPath;

                    if (Utility.UploadAvatar(_context, userEntity.userId, userEntity.avatar, userEntity.avatar.path, out avartaPath))
                    {
                        user.AVATAR = avartaPath;
                    }
                }

                // Commit transaction.
                tran.Commit();

                return(true);
            }
            catch
            {
                // Rollback transaction.
                tran.Rollback();
                return(false);
            }
        }
Esempio n. 15
0
        public ActionResult UpdateHirerInfo(HirerInfoEntity hirer)
        {
            var query = from d in _context.M_USERS
                        where d.USER_ID == hirer.userId
                        select d;

            if (query.Any())
            {
                M_USER upd = query.Single();
                upd.NAME = hirer.name;

                string avartaPath;

                if (Utility.UploadAvatar(_context, hirer.userId, hirer.avatar, hirer.avatar.path, out avartaPath))
                {
                    upd.AVATAR = avartaPath;
                }

                upd.UPD_DATETIME = Utility.GetSysDateTime();

                _context.SaveChanges();

                HirerInfoEntity hirerInfo = Utility.GetHirerInfo(_context, hirer.userId);

                return(Ok(new Result
                {
                    Status = 200,
                    Message = string.Empty,
                    Data = hirerInfo
                }));
            }

            return(Ok(new Result
            {
                Status = 404,
                Message = string.Empty,
                Data = null
            }));
        }
Esempio n. 16
0
        /// <summary>
        /// Get hirer/ company info.
        /// </summary>
        /// <param name="hirerId">Hirer Id.</param>
        /// <returns>Hirer Info Entity</returns>
        public static HirerInfoEntity GetHirerInfo(AloaiDataContext db, decimal hirerId)
        {
            HirerInfoEntity hirerEntity = new HirerInfoEntity();

            // User info.
            var user = from d in db.M_USERS
                       where d.USER_ID == hirerId
                       select d;

            if (user.Any())
            {
                M_USER userEntity = user.Single();
                // Hirer info.
                var hirerInfo = from d in db.M_HIRER_INFOS
                                where d.USER_ID == hirerId
                                select d;

                if (hirerInfo.Any())
                {
                    M_HIRER_INFO info = hirerInfo.Single();

                    hirerEntity.userId  = info.USER_ID;
                    hirerEntity.score   = info.SCORE.Value;
                    hirerEntity.likeNum = info.LIKE_NUM;
                    hirerEntity.status  = info.STATUS;

                    ImageInfoEntity avatar = new ImageInfoEntity();
                    avatar.path        = userEntity.AVATAR;
                    hirerEntity.avatar = avatar;

                    hirerEntity.name        = userEntity.NAME;
                    hirerEntity.phoneNumber = userEntity.PHONE_NUMBER;
                    hirerEntity.token       = userEntity.TOKEN;
                }
            }

            return(hirerEntity);
        }
Esempio n. 17
0
        public ActionResult GetUser(decimal id)
        {
            if (!Utility.CheckUserExists(_context, id))
            {
                return(Ok(new Result
                {
                    Status = 404,
                    Message = "Data not exists",
                    Data = null
                }));
            }

            M_USER user = _context.M_USERS.FirstOrDefault(x => x.USER_ID == id);

            UserEntity entity = new UserEntity();

            entity.userId      = user.USER_ID;
            entity.phoneNumber = user.PHONE_NUMBER;
            entity.modeUser    = user.MODE_USER;

            UserEntity uEntity = Utility.GetUserInfo(_context, user.USER_ID);

            entity.name   = uEntity.name;
            entity.avatar = uEntity.avatar;
            M_HIRER_INFO hirer = _context.M_HIRER_INFOS.FirstOrDefault(x => x.USER_ID == id);

            entity.userId  = hirer.USER_ID;
            entity.score   = hirer.SCORE;
            entity.likeNum = hirer.LIKE_NUM;

            return(Ok(new Result
            {
                Status = 200,
                Message = string.Empty,
                Data = entity
            }));
        }
Esempio n. 18
0
        /// <summary>
        /// JSONにフォーマットされたトークンを返す
        /// </summary>
        /// <param name="user"></param>
        /// <param name="expires"></param>
        /// <returns>JSON型のトークン</returns>
        public static string GenerateToken(M_USER user, DateTime expires)
        {
            var handler = new JwtSecurityTokenHandler();

            // ClaimsIdentityは識別情報を格納
            ClaimsIdentity identity = new ClaimsIdentity(
                new[] {
                new Claim("UserID", user.USER_ID.ToString()),
                new Claim("UserPhone", user.PHONE_NUMBER),
                new Claim("UserName", user.NAME),
            }
                );

            var securityToken = handler.CreateToken(new SecurityTokenDescriptor
            {
                Issuer             = TokenAuthOption.Issuer,
                Audience           = TokenAuthOption.Audience,
                SigningCredentials = TokenAuthOption.SigningCredentials,
                Subject            = identity,
                Expires            = expires
            });

            return(handler.WriteToken(securityToken));
        }
Esempio n. 19
0
        public ActionResult GetEstimationByPartner([FromRoute] decimal id)
        {
            DefineEntity        define     = Utility.GetDefineValue(Constant.COMMENT_NUMBER_MAX);
            List <ReviewEntity> entityList = new List <ReviewEntity>();
            M_USER          user           = _context.M_USERS.FirstOrDefault(x => x.USER_ID == id);
            List <D_REVIEW> estimationList = new List <D_REVIEW>();

            var query = from d in _context.D_REVIEWS
                        join c in _context.V_CONTACT_INFOS on d.CONTACT_ID equals c.CONTACT_ID
                        where c.WORKER_ID == id &&
                        d.REVIEW_MODE_USER == (int)Mode.Hirer
                        orderby d.REVIEW_DATE descending
                        select d;

            if (!query.Any())
            {
                return(Ok(new Result
                {
                    Status = 200,
                    Message = string.Empty,
                    Data = null
                }));
            }

            estimationList = query.ToList();

            foreach (D_REVIEW estimation in estimationList)
            {
                ReviewEntity entity = new ReviewEntity();
                entity.reviewId       = estimation.REVIEW_ID;
                entity.contactId      = estimation.CONTACT_ID;
                entity.reviewUserId   = estimation.REVIEW_USER_ID;
                entity.reviewModeUser = estimation.REVIEW_MODE_USER;
                entity.reviewDate     = estimation.REVIEW_DATE;
                entity.score          = estimation.SCORE;
                entity.comment        = estimation.COMMENT;

                var queryName = from d in _context.M_USERS
                                where d.USER_ID == estimation.REVIEW_USER_ID
                                select d.NAME;

                if (queryName.Any())
                {
                    entity.reviewUserName = queryName.Single();
                }

                entityList.Add(entity);

                if (entityList.Count == int.Parse(define.value))
                {
                    break;
                }
            }

            return(Ok(new Result
            {
                Status = 200,
                Message = string.Empty,
                Data = entityList
            }));
        }
Esempio n. 20
0
        public ActionResult SignIn([FromBody] LoginEntity loginEntity)
        {
            IDbContextTransaction tran = _context.Database.BeginTransaction();

            M_USER user = null;

            AuthorEntity author = new AuthorEntity();

            author.phoneNumber = loginEntity.phoneNumber;
            author.token       = loginEntity.token;

            if (!Utility.ValidatiTokenId(author))
            {
                System.Web.Http.HttpError error = new System.Web.Http.HttpError("Error validati token id!");

                return(Ok(new Result
                {
                    Status = 404,
                    Message = error.Message,
                    Data = null
                }));
            }

            try
            {
                if (Utility.CheckPhoneExists(_context, loginEntity.phoneNumber))
                {
                    var query = from d in _context.M_USERS
                                where d.PHONE_NUMBER == loginEntity.phoneNumber &&
                                d.DELETE_FLG == 0
                                select d;

                    user = query.Single();

                    if (!string.IsNullOrEmpty(loginEntity.languageType))
                    {
                        user.LANGUAGE_TYPE = loginEntity.languageType;
                    }
                    else
                    {
                        user.LANGUAGE_TYPE = Constant.LANGUAGE_VN;
                    }

                    user.SIGNIN_LAST = Utility.GetSysDateTime();
                }
                else
                {
                    user              = new M_USER();
                    user.NAME         = string.Empty;
                    user.PHONE_NUMBER = loginEntity.phoneNumber;
                    user.MODE_DEFAULT = (int)Mode.Partner;
                    user.REG_DATETIME = Utility.GetSysDateTime();
                    user.MODE_USER    = (int)Mode.Partner;
                    user.SIGNIN_LAST  = Utility.GetSysDateTime();
                    user.BLOCK_FLG    = (int)BlockFlag.NotBlock;
                    user.DELETE_FLG   = (int)DeleteFlag.Using;

                    if (!string.IsNullOrEmpty(loginEntity.languageType))
                    {
                        user.LANGUAGE_TYPE = loginEntity.languageType;
                    }
                    else
                    {
                        user.LANGUAGE_TYPE = Constant.LANGUAGE_VN;
                    }

                    _context.M_USERS.Add(user);
                    _context.SaveChanges();

                    var query = from d in _context.M_USERS
                                where d.PHONE_NUMBER == loginEntity.phoneNumber &&
                                d.DELETE_FLG == 0
                                select d;

                    M_PARTNER_INFO worker = new M_PARTNER_INFO();
                    worker.USER_ID      = user.USER_ID;
                    worker.SCORE        = 0;
                    worker.STATUS       = (int)Status.Offline;
                    worker.REG_DATETIME = Utility.GetSysDateTime();
                    _context.M_PARTNER_INFOS.Add(worker);
                    _context.SaveChanges();

                    M_HIRER_INFO hirer = new M_HIRER_INFO();
                    hirer.USER_ID      = user.USER_ID;
                    hirer.SCORE        = 0;
                    hirer.STATUS       = (int)Status.Offline;
                    hirer.REG_DATETIME = Utility.GetSysDateTime();
                    _context.M_HIRER_INFOS.Add(hirer);
                    _context.SaveChanges();
                }

                _context.SaveChanges();

                // Commit transaction.
                tran.Commit();

                var queryUser = from d in _context.M_USERS
                                where d.PHONE_NUMBER == loginEntity.phoneNumber &&
                                d.DELETE_FLG == 0
                                select d;

                user = queryUser.Single();

                string         token = Utility.GenerateToken(user, Utility.GetSysDateTime());
                AuthRepository auth  = new AuthRepository();
                auth.UpdateToken(_context, user.USER_ID, token);

                if (loginEntity.modeUser == (int)Mode.Partner)
                {
                    PartnerEntity partnerEntity = Utility.GetPartnerInfo(_context, user.USER_ID);
                    partnerEntity.token = token;

                    return(Ok(new Result
                    {
                        Status = 200,
                        Message = string.Empty,
                        Data = partnerEntity
                    }));
                }
                else
                {
                    UserEntity entity = new UserEntity();
                    entity.userId      = user.USER_ID;
                    entity.phoneNumber = user.PHONE_NUMBER;
                    entity.modeDefault = user.MODE_DEFAULT;
                    entity.modeUser    = user.MODE_USER;
                    entity.name        = user.NAME;
                    ImageInfoEntity avatar = new ImageInfoEntity();
                    avatar.path   = user.AVATAR;
                    entity.avatar = avatar;
                    entity.token  = token;

                    M_HIRER_INFO hirer = _context.M_HIRER_INFOS.FirstOrDefault(x => x.USER_ID == entity.userId);

                    entity.userId  = hirer.USER_ID;
                    entity.score   = hirer.SCORE;
                    entity.likeNum = hirer.LIKE_NUM;

                    return(Ok(new Result
                    {
                        Status = 200,
                        Message = string.Empty,
                        Data = entity
                    }));
                }
            }
            catch (Exception ex)
            {
                // Rollback transaction.
                tran.Rollback();

                return(Ok(new Result
                {
                    Status = 400,
                    Message = ex.Data.ToString(),
                    Data = null
                }));
            }
        }
Esempio n. 21
0
        public ActionResult UpdateUserInfo([FromBody] UserEntity userEntity)
        {
            IDbContextTransaction tran = _context.Database.BeginTransaction();

            try
            {
                var query = from d in _context.M_USERS
                            where d.USER_ID == userEntity.userId &&
                            d.DELETE_FLG == 0 &&
                            d.BLOCK_FLG == 0
                            select d;

                if (query.Any())
                {
                    M_USER user = query.Single();
                    user.NAME = userEntity.name;

                    _context.SaveChanges();

                    var query1 = from d in _context.M_PARTNER_INFOS
                                 where d.USER_ID == userEntity.userId
                                 select d;

                    if (userEntity.modeUser == (int)Mode.Partner)
                    {
                        M_PARTNER_INFO worker = query1.Single();
                        worker.USER_ID      = query.FirstOrDefault().USER_ID;
                        worker.SCORE        = 0;
                        worker.STATUS       = (int)Status.Offline;
                        worker.REG_DATETIME = Utility.GetSysDateTime();
                        _context.SaveChanges();
                    }
                    else
                    {
                        var query2 = from d in _context.M_HIRER_INFOS
                                     where d.USER_ID == userEntity.userId
                                     select d;

                        M_HIRER_INFO hirer = query2.Single();
                        hirer.USER_ID      = query.FirstOrDefault().USER_ID;
                        hirer.SCORE        = 0;
                        hirer.STATUS       = (int)Status.Offline;
                        hirer.REG_DATETIME = Utility.GetSysDateTime();
                        _context.SaveChanges();
                    }

                    var queryUser = from d in _context.M_USERS
                                    where d.USER_ID == userEntity.userId &&
                                    d.DELETE_FLG == 0
                                    select d;

                    user = queryUser.Single();

                    string         token = Utility.GenerateToken(user, Utility.GetSysDateTime());
                    AuthRepository auth  = new AuthRepository();
                    auth.UpdateToken(_context, user.USER_ID, token);

                    if (user.MODE_USER == (int)Mode.Partner)
                    {
                        PartnerEntity partnerEntity = Utility.GetPartnerInfo(_context, user.USER_ID);
                        partnerEntity.token = token;

                        return(Ok(new Result
                        {
                            Status = 200,
                            Message = string.Empty,
                            Data = partnerEntity
                        }));
                    }
                    else
                    {
                        UserEntity entity = new UserEntity();
                        entity.userId      = user.USER_ID;
                        entity.phoneNumber = user.PHONE_NUMBER;
                        entity.modeDefault = user.MODE_DEFAULT;
                        entity.modeUser    = user.MODE_USER;
                        entity.name        = user.NAME;
                        ImageInfoEntity avatar = new ImageInfoEntity();
                        avatar.path   = user.AVATAR;
                        entity.avatar = avatar;
                        entity.token  = token;

                        M_HIRER_INFO hirer = _context.M_HIRER_INFOS.FirstOrDefault(x => x.USER_ID == entity.userId);

                        entity.userId  = hirer.USER_ID;
                        entity.score   = hirer.SCORE;
                        entity.likeNum = hirer.LIKE_NUM;

                        return(Ok(new Result
                        {
                            Status = 200,
                            Message = string.Empty,
                            Data = entity
                        }));
                    }
                }
                else
                {
                    return(Ok(new Result
                    {
                        Status = 404,
                        Message = string.Empty,
                        Data = null
                    }));
                }
            }
            catch (Exception ex)
            {
                // Rollback transaction.
                tran.Rollback();
                return(Ok(new Result
                {
                    Status = 404,
                    Message = "Error system!",
                    Data = null
                }));
            }
        }
Esempio n. 22
0
        /// <summary>
        /// Insert notify.
        /// </summary>
        /// <param name="db">PartTimeDataClassesDataContext</param>
        /// <param name="notifyType">Notify type</param>
        /// <param name="id">Object ID</param>
        /// <param name="userSendId">User send ID</param>
        /// <param name="userReceiveId">User receive ID</param>
        /// <param name="receiveModeUser">Receive mode user</param>
        /// <returns>Success: True; Fail: False</returns>
        public static bool InsertNotify(AloaiDataContext db, decimal notifyType, decimal id, decimal userSendId
                                        , decimal userReceiveId, decimal receiveModeUser)
        {
            try
            {
                string senderName = string.Empty;

                // Check User receive notify leaved company but job is exists.
                // If true is not receive notify.
                if (notifyType != (int)NotifyType.System)
                {
                    var queryUser = from d in db.M_USERS
                                    where d.USER_ID == userReceiveId
                                    select d;

                    if (!queryUser.Any())
                    {
                        return(true);
                    }

                    var queryExchange = from d in db.V_CONTACT_INFOS
                                        where d.CONTACT_ID == id
                                        select d;

                    if (!queryExchange.Any())
                    {
                        return(true);
                    }
                }

                D_NOTIFY notify = new D_NOTIFY();
                notify.NOTIFY_TYPE       = notifyType;
                notify.OBJECT_ID         = id;
                notify.USER_SEND_ID      = userSendId;
                notify.USER_RECIEVE_ID   = userReceiveId;
                notify.RECEIVE_MODE_USER = receiveModeUser;
                notify.READED_FLG        = (int)ReadedFlg.New;
                notify.REG_DATETIME      = GetSysDateTime();
                notify.NOTIFY_DATE       = GetSysDateTime();
                notify.CONTENT           = string.Empty;

                var query = from d in db.M_USERS
                            where d.USER_ID == userSendId
                            select d;

                if (!query.Any())
                {
                    return(false);
                }

                M_USER user = query.Single();

                notify.CONTENT = user.NAME;

                db.D_NOTIFYS.Add(notify);
                db.SaveChanges();
            }
            catch
            {
                return(false);
            }

            return(true);
        }
        public ActionResult Create(M_USER m_USER)
        {
            if (Session["Admin"] != null)
            {
                var sess = Session["Admin"].ToString();

                M_PARTY m_PARTY = new M_PARTY();

                //for alphanumeric PARTY_TYPE_CD
                var checks = db.M_PARTY.Where(x => x.PARTY_TYPE_CD.Contains("USER")).ToList();
                m_PARTY.PARTY_TYPE_CD = checks.Max(x => x.PARTY_TYPE_CD);

                if (m_PARTY.PARTY_TYPE_CD == "0" || m_PARTY.PARTY_TYPE_CD == null)
                {
                    m_PARTY.PARTY_TYPE_CD = "1-1USER";
                }
                else
                {
                    StringBuilder sb1   = new StringBuilder();
                    var           res1  = Regex.Split(m_PARTY.PARTY_TYPE_CD, @"USER");
                    var           chng1 = res1[0].ToString().Split('-');
                    var           inc1  = ((Convert.ToInt32(chng1[1])) + 1).ToString();

                    sb1.Append("1-" + inc1 + "USER");
                    m_PARTY.PARTY_TYPE_CD = sb1.ToString();
                }
                //for alphanumeric PARTY_UID

                var checks1 = db.M_PARTY.Where(x => x.PARTY_UID.Contains("G")).ToList();
                m_PARTY.PARTY_UID = checks1.Max(x => x.PARTY_UID);
                if (m_PARTY.PARTY_UID == "0" || m_PARTY.PARTY_UID == null)
                {
                    m_PARTY.PARTY_UID = "1-1G";
                }
                else
                {
                    StringBuilder sb2   = new StringBuilder();
                    var           res2  = Regex.Split(m_PARTY.PARTY_UID, @"G");
                    var           chng2 = res2[0].ToString().Split('-');
                    var           inc2  = (Convert.ToInt32(chng2[1]) + 1).ToString();
                    sb2.Append("1-" + inc2 + "G");
                    m_PARTY.PARTY_UID = sb2.ToString();
                }
                m_PARTY.TRANS_FLG   = "1";
                m_PARTY.CREATED_DT  = System.DateTime.Now;
                m_PARTY.LAST_UPD_DT = System.DateTime.Now;
                m_PARTY.ACTIVE_FLG  = "1";


                m_USER.USER_ID = db.M_USER.Max(x => x.USER_ID);

                //for alphanumeric user id
                var res = Regex.Split(m_USER.USER_ID, @"\D+");

                if (m_USER.USER_ID == "0" || m_USER.USER_ID == null)
                {
                    m_USER.USER_ID = "1-1GUSER";
                }
                else
                {
                    StringBuilder sb   = new StringBuilder("1-");
                    var           chng = res[1].ToString();
                    var           inc  = (Convert.ToInt32(chng) + 1).ToString();
                    sb.Append(inc + "GUSER");
                    m_USER.USER_ID = sb.ToString();
                }
                m_USER.CREATED_DT  = System.DateTime.Now;
                m_USER.LAST_UPD_DT = System.DateTime.Now;
                m_USER.PW_LAST_UPD = System.DateTime.Now.ToString();
                m_USER.CREATED_BY  = sess;
                m_USER.LAST_UPD_BY = sess;
                m_USER.USER_FLG    = "1";
                m_USER.PAR_ROW_ID  = m_PARTY.PARTY_TYPE_CD;
                db.M_PARTY.Add(m_PARTY);
                db.M_USER.Add(m_USER);
                db.SaveChanges();
                return(RedirectToAction("Index2"));
            }
            return(RedirectToAction("Login2", "Home"));
        }
Esempio n. 24
0
        public static PartnerEntity GetPartnerInfo(AloaiDataContext db, decimal userId)
        {
            PartnerEntity partnerEntity = null;

            // User info.
            var user = from d in db.M_USERS
                       where d.USER_ID == userId
                       select d;

            if (user.Any())
            {
                partnerEntity = new PartnerEntity();
                M_USER userEntity = user.Single();

                partnerEntity.phoneNumber = userEntity.PHONE_NUMBER;
                partnerEntity.name        = userEntity.NAME;

                ImageInfoEntity avatar = new ImageInfoEntity();
                avatar.path          = userEntity.AVATAR;
                partnerEntity.avatar = avatar;

                // Hirer info.
                var hirerInfo = from d in db.M_PARTNER_INFOS
                                where d.USER_ID == userId
                                select d;

                if (hirerInfo.Any())
                {
                    M_PARTNER_INFO info = hirerInfo.Single();

                    partnerEntity.userId         = info.USER_ID;
                    partnerEntity.introduce      = info.INTRODUCE;
                    partnerEntity.fixLocationFlg = info.FIX_LOCATION_FLG == 1 ? true : false;

                    Location location = new Location();
                    location.longitude      = info.LONGITUDE;
                    location.latitude       = info.LATITUDE;
                    location.address        = info.ADDRESS;
                    partnerEntity.location  = location;
                    partnerEntity.verifyFlg = info.VERIFY_FLG == 1 ? true : false;
                    partnerEntity.likeNum   = info.LIKE_NUM;
                    partnerEntity.score     = info.SCORE;
                }

                var catalogUnit = from d in db.V_PARTNERS
                                  where d.USER_ID == userId
                                  select d;

                if (catalogUnit.Any())
                {
                    partnerEntity.partnerCatalog = new PartnerCatalogEntity();

                    foreach (V_PARTNER catalog in catalogUnit.ToList())
                    {
                        partnerEntity.partnerCatalog.userId = catalog.USER_ID;

                        Catalog cal = new Catalog();
                        cal.catalogCd = catalog.CATALOG_CD;
                        Unit unit = new Unit();
                        unit.unitCd = catalog.UNIT_CD;

                        string languageType = user.Single().LANGUAGE_TYPE;

                        if (string.IsNullOrEmpty(languageType) || languageType.Equals(Constant.LANGUAGE_VN))
                        {
                            cal.catalogName = catalog.CATALOG_NAME;
                            unit.unitName   = catalog.UNIT_NAME;
                        }
                        else
                        {
                            cal.catalogName = catalog.CATALOG_NAME_EN;
                            unit.unitName   = catalog.UNIT_NAME_EN;
                        }

                        partnerEntity.partnerCatalog.catalog = cal;
                        partnerEntity.partnerCatalog.unit    = unit;
                        partnerEntity.partnerCatalog.cost    = catalog.COST;
                        break;
                    }
                }

                partnerEntity.imageInfoList = GetImageList(db, partnerEntity.userId, ImageType.Profile);
            }

            return(partnerEntity);
        }
Esempio n. 25
0
        /// <summary>
        /// Update user/ company infomation.
        /// </summary>
        /// <param name="db">DataContext.</param>
        /// <param name="userEntity">User entity</param>
        /// <returns>Ok: true, Fail: false</returns>
        public static bool UpdatePartner(AloaiDataContext db, PartnerEntity partnerEntity)
        {
            var query = from d in db.M_USERS
                        where d.USER_ID == partnerEntity.userId
                        select d;

            M_USER user = query.Single();

            //user.PHONE_NUMBER = partnerEntity.PhoneNumber;
            user.NAME = partnerEntity.name;

            if (partnerEntity.avatar != null && !string.IsNullOrEmpty(partnerEntity.avatar.path))
            {
                string avartaPath;

                if (Utility.UploadAvatar(db, partnerEntity.userId, partnerEntity.avatar, partnerEntity.avatar.path, out avartaPath))
                {
                    user.AVATAR = avartaPath;
                }
            }

            user.UPD_DATETIME = Utility.GetSysDateTime();
            db.SaveChanges();

            var queryPartner = from d in db.M_PARTNER_INFOS
                               where d.USER_ID == partnerEntity.userId
                               select d;

            if (queryPartner.Any())
            {
                M_PARTNER_INFO partner = queryPartner.Single();
                partner.INTRODUCE        = partnerEntity.introduce;
                partner.FIX_LOCATION_FLG = partnerEntity.fixLocationFlg ? 1 : 0;

                if (partnerEntity.fixLocationFlg)
                {
                    partner.LONGITUDE = partnerEntity.location.longitude;
                    partner.LATITUDE  = partnerEntity.location.latitude;
                    partner.ADDRESS   = partnerEntity.location.address;
                }
                else
                {
                    partner.LONGITUDE = string.Empty;
                    partner.LATITUDE  = string.Empty;
                    partner.ADDRESS   = string.Empty;
                }

                partner.UPD_DATETIME = Utility.GetSysDateTime();

                db.SaveChanges();
            }

            var queryDel = from d in db.T_PARTNER_CATALOG_UNITS
                           where d.USER_ID == partnerEntity.userId
                           select d;

            if (queryDel.Any())
            {
                db.T_PARTNER_CATALOG_UNITS.RemoveRange(queryDel.ToList());
                db.SaveChanges();
            }

            if (partnerEntity.partnerCatalog != null)
            {
                T_PARTNER_CATALOG_UNIT worker = new T_PARTNER_CATALOG_UNIT();

                worker.USER_ID    = partnerEntity.userId;
                worker.CATALOG_CD = partnerEntity.partnerCatalog.catalog.catalogCd;
                worker.COST       = partnerEntity.partnerCatalog.cost;
                worker.UNIT_CD    = partnerEntity.partnerCatalog.unit.unitCd;

                worker.REG_DATETIME = Utility.GetSysDateTime();

                db.T_PARTNER_CATALOG_UNITS.Add(worker);
                db.SaveChanges();
            }

            UploadImage(db, partnerEntity.userId, ImageType.Profile, partnerEntity.imageInfoList);

            return(true);
        }