public HttpResponseMessage CreateGuestAccount() { try { preg_user newGuestAccount = new preg_user(); preg_user checkExist = new preg_user(); while (checkExist != null) { newGuestAccount = RandomGuestAccount(); //Check account exist checkExist = dao.GetListUser().Where(c => c.phone == newGuestAccount.phone).FirstOrDefault(); } string password = newGuestAccount.password; newGuestAccount.password = SysMethod.MD5Hash(newGuestAccount.password); newGuestAccount.time_created = DateTime.Now; newGuestAccount.social_type_id = null; newGuestAccount.uid = null; if (dao.InsertData(newGuestAccount)) { SysMethod.createAccountNop(newGuestAccount); return(Request.CreateResponse(HttpStatusCode.Created, new { newGuestAccount.phone, password })); } else { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, SysConst.DATA_INSERT_FAIL)); } } catch (Exception ex) { HttpError err = new HttpError(ex.Message); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, err)); } }
public HttpResponseMessage Post([FromBody] preg_profession data) { try { if (data.user_id != 0 && data.profession_type_id != 0) { //Check user & profession type exist using (PregnancyEntity connect = new PregnancyEntity()) { preg_user checkUserExist = connect.preg_user.Where(c => c.id == data.user_id).FirstOrDefault(); preg_profession_type checkPTypeExist = connect.preg_profession_type.Where(c => c.id == data.profession_type_id).FirstOrDefault(); if (checkUserExist == null || checkPTypeExist == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, SysConst.DATA_NOT_FOUND)); } } dao.InsertData(data); return(Request.CreateResponse(HttpStatusCode.Created, SysConst.DATA_INSERT_SUCCESS)); } else { HttpError err = new HttpError(SysConst.DATA_NOT_EMPTY); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, err)); } } catch (Exception ex) { HttpError err = new HttpError(ex.Message); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, err)); } }
public HttpResponseMessage ForgotPassword(string phone, [FromBody] preg_user passwordUpdate) { try { preg_user user = new preg_user() { phone = phone }; user = dao.GetUsersByParams(user).FirstOrDefault(); if (user == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, SysConst.DATA_NOT_FOUND)); } if (passwordUpdate.password.Length < 6) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, SysConst.PASSWORD_LENGTH)); } string strPass = passwordUpdate.password; user.password = SysMethod.MD5Hash(strPass); dao.UpdateData(user); return(Request.CreateResponse(HttpStatusCode.Accepted, SysConst.DATA_UPDATE_SUCCESS)); } catch (Exception ex) { HttpError err = new HttpError(ex.Message); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, err)); } }
public void DeleteData(int id) { preg_user user = connect.preg_user.Where(c => c.id == id).FirstOrDefault(); connect.preg_user.Remove(user); connect.SaveChanges(); }
public HttpResponseMessage CheckPhone([FromUri] preg_user data) { try { if (data.phone != null) { preg_user dataCheck = new preg_user() { phone = data.phone }; dataCheck = dao.GetUsersByParams(dataCheck).FirstOrDefault(); if (dataCheck == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, SysConst.DATA_NOT_FOUND)); } return(Request.CreateResponse(HttpStatusCode.OK, SysConst.DATA_EXIST)); } else { HttpError err = new HttpError(SysConst.DATA_NOT_FOUND); return(Request.CreateErrorResponse(HttpStatusCode.NotFound, err)); } } catch (Exception ex) { HttpError err = new HttpError(ex.Message); return(Request.CreateErrorResponse(HttpStatusCode.NotFound, err)); } }
public HttpResponseMessage UpdateData(string user_id, [FromBody] preg_user dataUpdate) { try { if (!dataUpdate.DeepEquals(new preg_user())) { preg_user user = new preg_user(); user = userdao.GetUserByID(Convert.ToInt32(user_id)).FirstOrDefault(); if (user == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, SysConst.DATA_NOT_FOUND)); } if (dataUpdate.password != null) { user.password = SysMethod.MD5Hash(dataUpdate.password); } if (dataUpdate.email != null) { user.email = dataUpdate.email; } if (dataUpdate.first_name != null) { user.first_name = dataUpdate.first_name; } if (dataUpdate.last_name != null) { user.last_name = dataUpdate.last_name; } if (dataUpdate.you_are_the != null) { user.you_are_the = dataUpdate.you_are_the; } if (dataUpdate.location != null) { user.location = dataUpdate.location; } if (dataUpdate.status != null) { user.status = dataUpdate.status; } if (dataUpdate.avatar != null) { user.avatar = dataUpdate.avatar; } userdao.UpdateData(user); return(Request.CreateResponse(HttpStatusCode.Accepted, SysConst.DATA_UPDATE_SUCCESS)); } else { HttpError err = new HttpError(SysConst.DATA_NOT_EMPTY); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, err)); } } catch (Exception ex) { HttpError err = new HttpError(ex.Message); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, err)); } }
public void DeleteData(int id) { preg_user user = GetUserByID(id); connect.preg_users.Remove(user); connect.SaveChanges(); }
// POST api/values public void Post([FromBody] preg_user user) { try{ user.password = MD5Hash(user.password); dao.InsertData(user); } catch (Exception ex) { throw ex; } }
public static bool createAccountNop(preg_user user) { try { UserDao dao = new UserDao(); //user = dao.GetUserByID(user.id).FirstOrDefault(); var client = new RestClient("http://1.55.17.233:6868/"); var request = new RestRequest("api/customers", Method.POST); request.AddHeader("Authorization", "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYmYiOjE1NTA2NjE1MDAsImV4cCI6MTg2NjAyMTUwMCwiaXNzIjoiaHR0cDovLzEuNTUuMTcuMjMzOjY4NjgiLCJhdWQiOlsiaHR0cDovLzEuNTUuMTcuMjMzOjY4NjgvcmVzb3VyY2VzIiwibm9wX2FwaSJdLCJjbGllbnRfaWQiOiIyOGZkNmQ2ZS1kMDcwLTQ3OTQtYTM5NC05YTE0ZmQ5ZTQ1YzYiLCJzdWIiOiIyOGZkNmQ2ZS1kMDcwLTQ3OTQtYTM5NC05YTE0ZmQ5ZTQ1YzYiLCJhdXRoX3RpbWUiOjE1NTA2NjE0OTksImlkcCI6ImxvY2FsIiwic2NvcGUiOlsibm9wX2FwaSIsIm9mZmxpbmVfYWNjZXNzIl0sImFtciI6WyJwd2QiXX0.QJN2fosQbGYJE7ZwhHS1d9Y2_cgISMQs9B-gdG38i3NLVC-xEtDOoltw-_1tcpq5b2zSAYKynnMGdw-R5fWdPuj47iArUK6zoNGyrxj9HuAp9YmGTzXnRgI8sGbdLUzB4OS1__FKuN5lT8vfQtiCi1wr94ypj_RK9ECRSYokkwBzQfgAivkl-bIm2WKrSLhA3V7dcLdB9q6CDtUnIMqagRD6CdNDyG2pqUWQg8srCg5HwfCXY1x8-OwWwjFDjEapUPRCPFiWArcr6m23kBtY11SqhK5izRsONDYe2f5lOtr_yroJgmt5vc-e__e9N2vkj2GORAxfvWJntRI7viZjGQ"); string defaultPassword = "******"; if (user.uid != null) { if (user.social_type_id == (int)SysConst.SocialTypes.facebook) { request.AddParameter("undefined", "{\"customer\":{\"password\":\"" + defaultPassword + "\",\"email\":\"facebook_" + user.uid + "\",\"role_ids\":[3]}}", ParameterType.RequestBody); } else if (user.social_type_id == (int)SysConst.SocialTypes.google) { request.AddParameter("undefined", "{\"customer\":{\"password\":\"" + defaultPassword + "\",\"email\":\"google_" + user.uid + "\",\"role_ids\":[3]}}", ParameterType.RequestBody); } } else { request.AddParameter("undefined", "{\"customer\":{\"password\":\"" + defaultPassword + "\",\"email\":\"" + user.phone + "\",\"role_ids\":[3]}}", ParameterType.RequestBody); } var response = client.Execute(request); if (response.StatusCode == HttpStatusCode.OK) { var content = JObject.Parse(response.Content.ToString()); int newId = Convert.ToInt32(JObject.Parse(response.Content)["customers"][0]["id"]); int id; if (content["customers"][0] != null) { id = Convert.ToInt32(content["customers"][0]["id"]); user.nopcustomer_id = id; dao.UpdateData(user); } } return(true); } catch (Exception) { return(false); } }
public HttpResponseMessage Get([FromUri] preg_user data) { try { if (!data.DeepEquals(new preg_user()) && data.password == null) { IEnumerable <preg_user> results = dao.GetUsersByParams(data); if (results.Count() > 0) { foreach (var result in results) { result.password = null; } return(Request.CreateResponse(HttpStatusCode.OK, results)); } else { HttpError err = new HttpError(SysConst.DATA_NOT_FOUND); return(Request.CreateErrorResponse(HttpStatusCode.NotFound, err)); } } else { IEnumerable <preg_user> results = dao.GetListUser(); if (results.Count() > 0) { foreach (var result in results) { result.password = null; } return(Request.CreateResponse(HttpStatusCode.OK, results)); } else { HttpError err = new HttpError(SysConst.DATA_NOT_FOUND); return(Request.CreateErrorResponse(HttpStatusCode.NotFound, err)); } } } catch (Exception ex) { HttpError err = new HttpError(ex.Message); return(Request.CreateErrorResponse(HttpStatusCode.NotFound, err)); } }
public bool InsertData(preg_user item) { IEnumerable <preg_user> result = GetUsersByParams(new preg_user() { phone = item.phone, social_type_id = item.social_type_id }); if (result.Count() > 0) { return(false); } else { connect.preg_user.Add(item); connect.SaveChanges(); return(true); } }
public HttpResponseMessage Post([FromBody] preg_user data) { try { if (data.phone != null && data.password != null) { if (data.password.Length >= 6) { data.password = SysMethod.MD5Hash(data.password); data.time_created = DateTime.Now; data.social_type_id = null; data.uid = null; if (dao.InsertData(data)) { SysMethod.createAccountNop(data); dao.UpdateData(data); data.password = null; return(Request.CreateResponse(HttpStatusCode.Created, data)); } else { HttpError err = new HttpError(SysConst.PHONE_EXIST); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, err)); } } else { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, SysConst.PASSWORD_LENGTH)); } } else { HttpError err = new HttpError(SysConst.PHONE_PASSWORD_NOT_NULL); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, err)); } } catch (Exception ex) { HttpError err = new HttpError(ex.Message); return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, err)); } }
public HttpResponseMessage Get(string id) { try { preg_user data = dao.GetUserByID(Convert.ToInt32(id)).FirstOrDefault(); if (data != null) { data.password = null; return(Request.CreateResponse(HttpStatusCode.OK, data)); } else { HttpError err = new HttpError(SysConst.DATA_NOT_FOUND); return(Request.CreateErrorResponse(HttpStatusCode.NotFound, err)); } } catch (Exception ex) { HttpError err = new HttpError(ex.Message); return(Request.CreateErrorResponse(HttpStatusCode.NotFound, err)); } }
// PUT api/values/5 public void Put(int id, [FromBody] preg_user userUpdate) { //lstStrings[id] = value; try { preg_user user = new preg_user(); user = dao.GetUserByID(id); user.avarta = userUpdate.avarta; user.password = MD5Hash(userUpdate.password); user.phone = userUpdate.phone; user.social_type = userUpdate.social_type; user.first_name = userUpdate.first_name; user.last_name = userUpdate.last_name; user.you_are_the = userUpdate.you_are_the; user.location = userUpdate.location; user.status = userUpdate.status; dao.UpdateData(user); } catch (Exception ex) { throw ex; } }
public async Task <HttpResponseMessage> Upload() { try { // Get current user_id int user_id = Convert.ToInt32(((ClaimsIdentity)(User.Identity)).FindFirst("id").Value); string dir = "/Files/Upload/Users/" + user_id.ToString() + "/Avatar/"; string dirRoot = HttpContext.Current.Server.MapPath(dir); // Check if request contains multipart/form-data if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } // Check if directory folder created if (!Directory.Exists(dirRoot)) { Directory.CreateDirectory(dirRoot); } // Check if image filetype for (int i = 0; i < HttpContext.Current.Request.Files.Count; i++) { HttpPostedFile file = HttpContext.Current.Request.Files[i]; if (!SysConst.imgOnlyExtensions.Any(x => x.Equals(Path.GetExtension(file.FileName.ToLower()), StringComparison.OrdinalIgnoreCase))) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, SysConst.INVALID_FILE_TYPE)); } // Check if exist file else if (File.Exists(dirRoot + "/" + file.FileName)) { File.Delete(dirRoot + "/" + file.FileName); } } CustomMultipartFormDataStreamProvider provider = new CustomMultipartFormDataStreamProvider(dirRoot); List <string> files = new List <string>(); try { // Read all contents of multipart message into CustomMultipartFormDataStreamProvider. await Request.Content.ReadAsMultipartAsync(provider); // Update to database preg_user updateRow = new preg_user(); foreach (MultipartFileData file in provider.FileData) { string path = dir + "/" + HttpUtility.UrlPathEncode(Path.GetFileName(file.LocalFileName)); files.Add(path); updateRow.avatar = path; } UpdateData(user_id.ToString(), updateRow); return(Request.CreateResponse(HttpStatusCode.Created, files)); } catch (System.Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex)); } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message)); } }
public bool DeleteReferenceData(int user_id) { try { PregnancyEntity connect = new PregnancyEntity(); preg_user user = connect.preg_user.Where(c => c.id == user_id).FirstOrDefault(); while (user.preg_answer.Count() > 0) { connect.preg_answer.Remove(user.preg_answer.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_appointment.Count() > 0) { preg_appointment appointment = user.preg_appointment.FirstOrDefault(); while (appointment.preg_appointment_measurement.Count() > 0) { connect.preg_appointment_measurement.Remove(appointment.preg_appointment_measurement.FirstOrDefault()); connect.SaveChanges(); } connect.preg_appointment.Remove(user.preg_appointment.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_auth.Count() > 0) { connect.preg_auth.Remove(user.preg_auth.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_contact_us.Count() > 0) { connect.preg_contact_us.Remove(user.preg_contact_us.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_contraction.Count() > 0) { connect.preg_contraction.Remove(user.preg_contraction.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_customer_response.Count() > 0) { connect.preg_customer_response.Remove(user.preg_customer_response.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_customer_response1.Count() > 0) { connect.preg_customer_response.Remove(user.preg_customer_response1.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_daily_interact.Count() > 0) { connect.preg_daily_interact.Remove(user.preg_daily_interact.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_my_birth_plan.Count() > 0) { connect.preg_my_birth_plan.Remove(user.preg_my_birth_plan.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_my_birth_plan_item.Count() > 0) { connect.preg_my_birth_plan_item.Remove(user.preg_my_birth_plan_item.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_my_weight.Count() > 0) { connect.preg_my_weight.Remove(user.preg_my_weight.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_phone.Count() > 0) { connect.preg_phone.Remove(user.preg_phone.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_pregnancy.Count() > 0) { connect.preg_pregnancy.Remove(user.preg_pregnancy.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_profession.Count() > 0) { connect.preg_profession.Remove(user.preg_profession.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_question.Count() > 0) { connect.preg_question.Remove(user.preg_question.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_setting.Count() > 0) { connect.preg_setting.Remove(user.preg_setting.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_upgrade.Count() > 0) { connect.preg_upgrade.Remove(user.preg_upgrade.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_weekly_interact.Count() > 0) { connect.preg_weekly_interact.Remove(user.preg_weekly_interact.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_user_baby_name.Count() > 0) { connect.preg_user_baby_name.Remove(user.preg_user_baby_name.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_user_hospital_bag_item.Count() > 0) { connect.preg_user_hospital_bag_item.Remove(user.preg_user_hospital_bag_item.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_hospital_bag_item.Count() > 0) { connect.preg_hospital_bag_item.Remove(user.preg_hospital_bag_item.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_my_belly.Count() > 0) { connect.preg_my_belly.Remove(user.preg_my_belly.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_user_kick_history.Count() > 0) { connect.preg_user_kick_history.Remove(user.preg_user_kick_history.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_user_medical_service_package.Count() > 0) { connect.preg_user_medical_service_package.Remove(user.preg_user_medical_service_package.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_user_shopping_cart.Count() > 0) { connect.preg_user_shopping_cart.Remove(user.preg_user_shopping_cart.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_shopping_item.Count() > 0) { connect.preg_shopping_item.Remove(user.preg_shopping_item.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_user_todo.Count() > 0) { connect.preg_user_todo.Remove(user.preg_user_todo.FirstOrDefault()); connect.SaveChanges(); } while (user.preg_todo.Count() > 0) { connect.preg_todo.Remove(user.preg_todo.FirstOrDefault()); connect.SaveChanges(); } return(true); } catch (Exception ex) { return(false); } }
public IQueryable <preg_user> GetUsersByParams(preg_user data) { IQueryable <preg_user> result = connect.preg_user; for (int i = 0; i < data.GetType().GetProperties().ToList().Count(); i++) { string propertyName = data.GetType().GetProperties().ToList()[i].Name; var propertyValue = data.GetType().GetProperty(propertyName).GetValue(data, null); if (propertyName == "id" && (int)propertyValue != 0) { result = result.Where(c => c.id == (int)propertyValue); } else if (propertyName == "password" && propertyValue != null) { result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.password) > 0); } else if (propertyName == "phone" && propertyValue != null) { result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.phone) > 0); } else if (propertyName == "social_type_id" && propertyValue != null) { result = result.Where(c => c.social_type_id == (int)(propertyValue)); } else if (propertyName == "first_name" && propertyValue != null) { result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.first_name) > 0); } else if (propertyName == "last_name" && propertyValue != null) { result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.last_name) > 0); } else if (propertyName == "you_are_the" && propertyValue != null) { result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.you_are_the) > 0); } else if (propertyName == "location" && propertyValue != null) { result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.location) > 0); } else if (propertyName == "status" && propertyValue != null) { result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.status) > 0); } else if (propertyName == "avatar" && propertyValue != null) { result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.avatar) > 0); } else if (propertyName == "email" && propertyValue != null) { result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.email) > 0); } else if (propertyName == "uid" && propertyValue != null) { result = result.Where(c => SqlFunctions.PatIndex("%" + propertyValue.ToString() + "%", c.uid) > 0); } else if (propertyName == "time_last_login" && propertyValue != null) { result = result.Where(c => c.time_last_login == (DateTime)(propertyValue)); } } return(result); }
public HttpResponseMessage Put(string id, [FromBody] preg_user dataUpdate) { return(UpdateData(id, dataUpdate)); }
/// <summary> /// Validate provided username and password when the grant_type is set to "password". /// </summary> /// <param name="context"></param> /// <returns></returns> public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { if (context.OwinContext.Request.Headers["Provider"] != null) { if (context.OwinContext.Request.Headers["Provider"].ToLower() == "facebook" && context.OwinContext.Request.Headers["access_token"] != null) { var accessToken = context.OwinContext.Request.Headers["access_token"]; var client = new RestClient("https://graph.facebook.com/"); var request = new RestRequest("me", Method.GET); request.AddQueryParameter("fields", "id,name,email,picture.width(2000).height(2000)"); request.AddQueryParameter("access_token", accessToken); var response = client.Execute(request); if (response.StatusCode == HttpStatusCode.OK) { var content = JObject.Parse(response.Content); var userInfo = new FacebookUserInfo() { id = content["id"].ToString() }; if (content["name"] != null) { userInfo.name = content["name"].ToString(); } if (content["email"] != null) { userInfo.email = content["email"].ToString(); } if (content["picture"]["data"]["url"] != null) { userInfo.avatar = content["picture"]["data"]["url"].ToString(); } PregnancyEntity connect = new PregnancyEntity(); preg_user user = connect.preg_user.Where(c => c.uid == userInfo.id && c.social_type_id == (int)SysConst.SocialTypes.facebook).FirstOrDefault(); if (user != null) { //user.email = userInfo.email; //user.first_name = userInfo.name; user.time_last_login = DateTime.Now; connect.SaveChanges(); } else { user = new preg_user(); user.uid = userInfo.id; user.email = userInfo.email; user.first_name = userInfo.name; user.avatar = userInfo.avatar; user.social_type_id = (int)SysConst.SocialTypes.facebook; user.time_created = DateTime.Now; connect.preg_user.Add(user); SysMethod.createAccountNop(user); connect.SaveChanges(); user = connect.preg_user.Where(c => c.uid == userInfo.id && c.social_type_id == (int)SysConst.SocialTypes.facebook).FirstOrDefault(); } preg_auth auth = connect.preg_auth.Where(c => c.user_id == user.id).FirstOrDefault(); if (auth == null) { auth = new preg_auth() { user_id = user.id }; connect.preg_auth.Add(auth); } auth.token = context.OwinContext.Request.Headers["access_token"]; connect.SaveChanges(); var identity = new ClaimsIdentity(context.Options.AuthenticationType); identity.AddClaim(new Claim(ClaimTypes.Role, SysConst.UserType.social.ToString())); identity.AddClaim(new Claim(ClaimTypes.Role, SysConst.UserType.user.ToString())); identity.AddClaim(new Claim(ClaimTypes.Role, SysConst.UserType.dev.ToString())); identity.AddClaim(new Claim("id", user.id.ToString())); context.Validated(identity); } else { context.SetError("Invalid grant", SysConst.LOGIN_SOCIAL_FAILED); return; } } else if (context.OwinContext.Request.Headers["Provider"].ToLower() == "google" && context.OwinContext.Request.Headers["access_token"] != null) { var accessToken = context.OwinContext.Request.Headers["access_token"]; var client = new RestClient("https://www.googleapis.com/oauth2/v3/"); var request = new RestRequest("tokeninfo", Method.GET); request.AddQueryParameter("id_token", accessToken); var response = client.Execute(request); if (response.StatusCode == HttpStatusCode.OK) { var content = JObject.Parse(response.Content); var userInfo = new GoogleUserInfo() { sub = content["sub"].ToString() }; if (content["name"] != null) { userInfo.name = content["name"].ToString(); } if (content["email"] != null) { userInfo.email = content["email"].ToString(); } if (content["picture"] != null) { userInfo.picture = content["picture"].ToString(); } if (content["given_name"] != null) { userInfo.given_name = content["given_name"].ToString(); } if (content["family_name"] != null) { userInfo.family_name = content["family_name"].ToString(); } PregnancyEntity connect = new PregnancyEntity(); preg_user user = connect.preg_user.Where(c => c.uid == userInfo.sub && c.social_type_id == (int)SysConst.SocialTypes.google).FirstOrDefault(); if (user != null) { //user.email = userInfo.email; //user.first_name = userInfo.name; //user.avatar = userInfo.picture; user.time_last_login = DateTime.Now; connect.SaveChanges(); } else { user = new preg_user(); user.uid = userInfo.sub; user.email = userInfo.email; user.first_name = userInfo.name; user.avatar = userInfo.picture; user.social_type_id = (int)SysConst.SocialTypes.google; user.time_created = DateTime.Now; connect.preg_user.Add(user); SysMethod.createAccountNop(user); connect.SaveChanges(); user = connect.preg_user.Where(c => c.uid == userInfo.sub && c.social_type_id == (int)SysConst.SocialTypes.google).FirstOrDefault(); } preg_auth auth = connect.preg_auth.Where(c => c.user_id == user.id).FirstOrDefault(); if (auth == null) { auth = new preg_auth() { user_id = user.id }; connect.preg_auth.Add(auth); } auth.token = context.OwinContext.Request.Headers["access_token"]; connect.SaveChanges(); var identity = new ClaimsIdentity(context.Options.AuthenticationType); identity.AddClaim(new Claim(ClaimTypes.Role, SysConst.UserType.social.ToString())); identity.AddClaim(new Claim(ClaimTypes.Role, SysConst.UserType.user.ToString())); identity.AddClaim(new Claim(ClaimTypes.Role, SysConst.UserType.dev.ToString())); identity.AddClaim(new Claim("id", user.id.ToString())); context.Validated(identity); } else { var client2 = new RestClient("https://www.googleapis.com/oauth2/v1/"); var request2 = new RestRequest("userinfo", Method.GET); request2.AddQueryParameter("alt", "json"); request2.AddQueryParameter("access_token", accessToken); var response2 = client.Execute(request2); if (response2.StatusCode == HttpStatusCode.OK) { var content = JObject.Parse(response2.Content); var userInfo = new GoogleUserInfo() { sub = content["sub"].ToString() }; if (content["name"] != null) { userInfo.name = content["name"].ToString(); } if (content["email"] != null) { userInfo.email = content["email"].ToString(); } if (content["picture"] != null) { userInfo.picture = content["picture"].ToString(); } if (content["given_name"] != null) { userInfo.given_name = content["given_name"].ToString(); } if (content["family_name"] != null) { userInfo.family_name = content["family_name"].ToString(); } PregnancyEntity connect = new PregnancyEntity(); preg_user user = connect.preg_user.Where(c => c.uid == userInfo.sub && c.social_type_id == (int)SysConst.SocialTypes.google).FirstOrDefault(); if (user != null) { //user.email = userInfo.email; //user.first_name = userInfo.name; //user.avatar = userInfo.picture; user.time_last_login = DateTime.Now; connect.SaveChanges(); } else { user = new preg_user(); user.uid = userInfo.sub; user.email = userInfo.email; user.first_name = userInfo.name; user.avatar = userInfo.picture; user.social_type_id = (int)SysConst.SocialTypes.google; user.time_created = DateTime.Now; connect.preg_user.Add(user); SysMethod.createAccountNop(user); connect.SaveChanges(); user = connect.preg_user.Where(c => c.uid == userInfo.sub && c.social_type_id == (int)SysConst.SocialTypes.google).FirstOrDefault(); } preg_auth auth = connect.preg_auth.Where(c => c.user_id == user.id).FirstOrDefault(); if (auth == null) { auth = new preg_auth() { user_id = user.id }; connect.preg_auth.Add(auth); } auth.token = context.OwinContext.Request.Headers["access_token"]; connect.SaveChanges(); var identity = new ClaimsIdentity(context.Options.AuthenticationType); identity.AddClaim(new Claim(ClaimTypes.Role, SysConst.UserType.social.ToString())); identity.AddClaim(new Claim(ClaimTypes.Role, SysConst.UserType.user.ToString())); identity.AddClaim(new Claim(ClaimTypes.Role, SysConst.UserType.dev.ToString())); identity.AddClaim(new Claim("id", user.id.ToString())); context.Validated(identity); } else { context.SetError("Invalid grant", SysConst.LOGIN_SOCIAL_FAILED); return; } } } } else if (context.UserName != null && context.Password != null) { var identity = new ClaimsIdentity(context.Options.AuthenticationType); PregnancyEntity connect = new PregnancyEntity(); UserDao dao = new UserDao(); //Check username & password string phone = context.UserName; string password = SysMethod.MD5Hash(context.Password); preg_user user = connect.preg_user.Where(c => c.phone == phone && c.password == password).FirstOrDefault(); if (user != null) { user.time_last_login = DateTime.Now; connect.SaveChanges(); identity.AddClaim(new Claim(ClaimTypes.Role, SysConst.UserType.dev.ToString())); identity.AddClaim(new Claim(ClaimTypes.Role, SysConst.UserType.user.ToString())); identity.AddClaim(new Claim("id", user.id.ToString())); context.Validated(identity); } else if (context.UserName == "WSPadmin" && context.Password == "WSPadmin") { identity.AddClaim(new Claim(ClaimTypes.Role, SysConst.UserType.admin.ToString())); identity.AddClaim(new Claim("id", "0")); context.Validated(identity); } else { context.SetError("Invalid grant", SysConst.LOGIN_FAILED); return; } } }
public HttpResponseMessage Put([FromBody] preg_user dataUpdate) { int user_id = Convert.ToInt32(((ClaimsIdentity)(User.Identity)).FindFirst("id").Value); return(UpdateData(user_id.ToString(), dataUpdate)); }
public void InsertData(preg_user item) { connect.preg_users.Add(item); connect.SaveChanges(); }
public void UpdateData(preg_user item) { connect.SaveChanges(); }