public bool ChangeHirerStatus(HirerInfoEntity entity) { IDbContextTransaction tran = _context.Database.BeginTransaction(); try { if (!Utility.CheckUserExists(_context, entity.userId)) { return(false); } var query = from d in _context.M_HIRER_INFOS where d.USER_ID == entity.userId select d; M_HIRER_INFO hirer = query.Single(); hirer.STATUS = entity.status; _context.SaveChanges(); // Commit transaction. tran.Commit(); return(true); } catch { // Rollback transaction. tran.Rollback(); return(false); } }
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 })); }
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 })); }
/// <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); }
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 })); }
/// <summary> /// Update score /// </summary> /// <param name="db">PartTimeDataClassesDataContext</param> /// <param name="exchangeId">Exchange Id</param> /// <param name="score">Score</param> /// <param name="modeUserEstimation">Mode user estimation</param> /// <returns>OK: True; Fail: False</returns> public static bool UpdateScore(AloaiDataContext db, decimal contactId, decimal score, decimal modeUserEstimation) { int count = 0; decimal scoreAll = 0; try { if (modeUserEstimation == (decimal)Mode.Hirer) { var queryWorker = from d in db.V_CONTACT_INFOS where d.CONTACT_ID == contactId select d.WORKER_ID; if (!queryWorker.Any()) { return(false); } var query = from d in db.D_REVIEWS join c in db.V_CONTACT_INFOS on d.CONTACT_ID equals c.CONTACT_ID where c.WORKER_ID == queryWorker.Single() && d.REVIEW_MODE_USER == (decimal)Mode.Hirer select d; if (query.Any()) { count = query.ToList().Count(); var queryScore = (from d in db.D_REVIEWS join c in db.V_CONTACT_INFOS on d.CONTACT_ID equals c.CONTACT_ID where c.WORKER_ID == queryWorker.Single() && d.REVIEW_MODE_USER == (decimal)Mode.Hirer select d.SCORE).Sum(); scoreAll = queryScore; } var worker = from d in db.M_PARTNER_INFOS where d.USER_ID == queryWorker.Single() select d; // Update if exists. if (worker.Any()) { M_PARTNER_INFO info = worker.Single(); decimal totalScore = scoreAll + score; info.SCORE = Math.Round(totalScore / (count + 1), 1); info.UPD_DATETIME = GetSysDateTime(); } else { M_PARTNER_INFO info = new M_PARTNER_INFO(); info.USER_ID = queryWorker.Single(); decimal totalScore = scoreAll + score; info.SCORE = Math.Round(totalScore / (count + 1), 1); info.REG_DATETIME = GetSysDateTime(); db.M_PARTNER_INFOS.Add(info); } } else { var queryHirer = from d in db.V_CONTACT_INFOS where d.CONTACT_ID == contactId select d.HIRER_ID; if (!queryHirer.Any()) { return(false); } var query = from d in db.D_REVIEWS join c in db.V_CONTACT_INFOS on d.CONTACT_ID equals c.CONTACT_ID where c.HIRER_ID == queryHirer.Single() && d.REVIEW_MODE_USER == (decimal)Mode.Partner select d; if (query.Any()) { count = query.ToList().Count(); var queryScore = (from d in db.D_REVIEWS join c in db.V_CONTACT_INFOS on d.CONTACT_ID equals c.CONTACT_ID where c.HIRER_ID == queryHirer.Single() && d.REVIEW_MODE_USER == (decimal)Mode.Partner select d.SCORE).Sum(); scoreAll = queryScore; } var hirer = from d in db.M_HIRER_INFOS where d.USER_ID == queryHirer.Single() select d; // Update if exists. if (hirer.Any()) { M_HIRER_INFO info = hirer.Single(); decimal totalScore = scoreAll + score; info.SCORE = Math.Round(totalScore / (count + 1), 1); info.UPD_DATETIME = GetSysDateTime(); } else { M_HIRER_INFO info = new M_HIRER_INFO(); info.USER_ID = queryHirer.Single(); decimal totalScore = scoreAll + score; info.SCORE = Math.Round(totalScore / (count + 1), 1); info.REG_DATETIME = GetSysDateTime(); db.M_HIRER_INFOS.Add(info); } } } catch (Exception ex) { return(false); } return(true); }
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 })); } }
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 })); } }