public Users(int ID) { using (MainEntities ctx = new MainEntities()) { this.Entity = ctx.sec_users.Find(ID); } }
public ActionResult DeleteConfirmed(int id) { sec_users sec_users = db.sec_users.Find(id); db.sec_users.Remove(sec_users); db.SaveChanges(); return(RedirectToAction("Index")); }
public static APIResult <sec_sessions> GetNewSession(sec_users usr, NameValueCollection request, int platform = 1) { using (var ctx = new MainEntities()) { IPResult s = new IPResult(); string ip = ""; string agent = ""; IPResult iploc = new IPResult(); try { ip = request.Get("REMOTE_ADDR"); agent = request.Get("HTTP_USER_AGENT"); iploc = General.GetResponse("http://ip-api.com/json/" + ip); } catch (Exception ex) { // return APIResult<sec_sessions>.Error(ResponseCode.BackendServerRequest, ex.Message + "get location ip:" + ip + " agent:" + agent); } try { var userSessions = ctx.sec_sessions.Where(a => a.user_id == usr.id && a.end_time == null && a.paltform == platform).FirstOrDefault(); if (userSessions != null) { return(APIResult <sec_sessions> .Success(userSessions, "User already logon!")); } Sessions ses = new Sessions(); ses.Entity.user_id = usr.id; ses.Entity.ip = request.Get("REMOTE_ADDR"); //IPResult iploc = new IPResult();// General.GetResponse("http://ip-api.com/json/" + ses.Entity.ip); ses.Entity.isp = iploc.isp; ses.Entity.lat = iploc.lat; ses.Entity.lon = iploc.lon; ses.Entity.timezone = iploc.timezone; ses.Entity.city = iploc.city; ses.Entity.country = iploc.country; ses.Entity.country_code = iploc.countryCode; ses.Entity.agent = request.Get("HTTP_USER_AGENT"); ses.Entity.paltform = platform; ses.Entity.browser = General.getAgent(ses.Entity.agent).name; ctx.sec_sessions.Add(ses.Entity); ctx.SaveChanges(); return(APIResult <sec_sessions> .Success(ses.Entity, "success")); } catch (Exception ex) { return(APIResult <sec_sessions> .Error(ResponseCode.BackendDatabase, ex.Message)); } } }
public ActionResult Edit([Bind(Include = "id,pwd,reset_pwd_token,facebook_token,twitter_token,google_token,instagram_token,confirm_mail_token,mail_verified,phone_verified,firebase_uid")] sec_users sec_users) { if (ModelState.IsValid) { db.Entry(sec_users).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.id = new SelectList(db.tbl_accounts, "id", "first_name", sec_users.id); return(View(sec_users)); }
public static APIResult <LoginResponse> Register(tbl_accounts acc, string password, string FirebaseUID, NameValueCollection request) { using (var ctx = new MainEntities()) { var dbuser = ctx.tbl_accounts.Include("sec_users").Where(a => a.sec_users.firebase_uid == FirebaseUID).FirstOrDefault(); if (dbuser == null) { dbuser = acc; ctx.tbl_accounts.Add(dbuser); try { ctx.SaveChanges(); sec_users sec_user = new sec_users(); sec_user.pwd = password; sec_user.id = dbuser.id; sec_user.mail_verified = true; sec_user.firebase_uid = FirebaseUID; sec_user.phone_verified = true; ctx.sec_users.Add(sec_user); ctx.SaveChanges(); } catch (Exception ex) { return(APIResult <LoginResponse> .Error(ResponseCode.BackendDatabase, ex.Message + "save changes1")); } } else { return(APIResult <LoginResponse> .Error(ResponseCode.BackendDatabase, "This user already exists !")); } var returned = new LoginResponse { account = acc }; var session = GetNewSession(dbuser.sec_users, request, 1); if (session.code != ResponseCode.Success) { return(APIResult <LoginResponse> .Error(session.code, session.message)); } returned.token = session.data.id; returned.roles = ctx.sec_users_roles.Include("sec_roles").Where(a => a.user_id == acc.id).Select(b => b.sec_roles.role_key).ToArray(); return(APIResult <LoginResponse> .Success(returned, "Register sucessfuly !")); } }
// GET: Users/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } sec_users sec_users = db.sec_users.Find(id); if (sec_users == null) { return(HttpNotFound()); } return(View(sec_users)); }
// GET: Users/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } sec_users sec_users = db.sec_users.Find(id); if (sec_users == null) { return(HttpNotFound()); } ViewBag.id = new SelectList(db.tbl_accounts, "id", "first_name", sec_users.id); return(View(sec_users)); }
public static sec_sessions GetNewSession(sec_users usr, int platform = 1) { using (var ctx = new MainEntities()) { IPResult s = new IPResult(); string ip = ""; string agent = ""; IPResult iploc = new IPResult(); var request = HttpContext.Current.Request.ServerVariables; try { ip = request.Get("REMOTE_ADDR"); agent = request.Get("HTTP_USER_AGENT"); iploc = General.GetResponse("http://ip-api.com/json/" + ip); } catch (Exception ex) { // return APIResult<sec_sessions>.Error(ResponseCode.BackendServerRequest, ex.Message + "get location ip:" + ip + " agent:" + agent); } try { var userSessions = ctx.sec_sessions.Where(a => a.user_id == usr.id && a.end_time == null && a.paltform == platform && a.end_time == null).FirstOrDefault(); if (userSessions != null) { HttpContext.Current.Session.Clear(); HttpContext.Current.Session.Add("SESSION_ID", userSessions.id); return(userSessions); } sec_sessions ses = new sec_sessions(); ses.user_id = usr.id; ses.ip = request.Get("REMOTE_ADDR"); //IPiploc = new IPResult();// General.GetResponse("http://ip-api.com/json/" + ses.Entity.ip); ses.isp = iploc.isp; ses.lat = iploc.lat; ses.lon = iploc.lon; ses.timezone = iploc.timezone; ses.city = iploc.city; ses.country = iploc.country; ses.country_code = iploc.countryCode; ses.agent = request.Get("HTTP_USER_AGENT"); ses.paltform = platform; ses.browser = General.getAgent(ses.agent).name; ses.id = Guid.NewGuid(); ses.start_time = DateTime.Now; ctx.sec_sessions.Add(ses); ctx.SaveChanges(); HttpContext.Current.Session.Clear(); HttpContext.Current.Session.Add("SESSION_ID", ses.id); return(ses); } catch (Exception ex) { return(null); } } }
public async Task <APIResult <LoginResponse> > Auth(string email, string password, string first_name, string last_name, HttpContext http, string pic = "", string network = "", string FirebaseUID = "") { using (DAL.MainEntities ctx = new DAL.MainEntities()) { //try //{ tbl_accounts dbuser = null; try { if (email != "") { dbuser = ctx.tbl_accounts.Include("sec_users").Where(a => a.email == email).FirstOrDefault(); } else if (FirebaseUID != "") { dbuser = ctx.tbl_accounts.Include("sec_users").Where(a => a.sec_users.firebase_uid == FirebaseUID).FirstOrDefault(); } if (dbuser == null) { dbuser = new tbl_accounts(); dbuser.email = email; dbuser.first_name = first_name; dbuser.last_name = last_name; dbuser.register_time = DateTime.Now; ctx.tbl_accounts.Add(dbuser); try { ctx.SaveChanges(); sec_users sec_user = new sec_users(); sec_user.pwd = password; sec_user.id = dbuser.id; sec_user.mail_verified = true; if (FirebaseUID != "") { sec_user.firebase_uid = FirebaseUID; } ctx.sec_users.Add(sec_user); ctx.SaveChanges(); } //catch (DbEntityValidationException e) //{ // return new APIResult<LoginResponse>(ResultType.fail, null, General.fetchEntityError(e)); //} catch (Exception ex) { return(APIResult <LoginResponse> .Error(ResponseCode.BackendDatabase, ex.Message + "save changes1")); } } } catch (Exception ex) { return(APIResult <LoginResponse> .Error(ResponseCode.BackendDatabase, ex.Message + "get dbuser")); } tbl_images img = ctx.tbl_images.Where(a => a.model_name == "tbl_accounts" && a.model_id == dbuser.id && a.model_tag == "main").FirstOrDefault(); if (pic != "" && img == null) { img = new tbl_images(); try { img.original = "/Storage/Original/" + DateTime.Now.ToString("yyyyMMddhhmmss") + "_" + network + ".jpg"; string imgPath = ConfigurationManager.AppSettings["mediaServer_Path"] + img.original.Replace("/", "\\"); img.large = img.original; img.thumb = img.original; img.meduim = img.original; img.model_id = dbuser.id; img.model_name = "tbl_accounts"; img.model_tag = "main"; System.Net.WebClient webClient = new System.Net.WebClient(); webClient.Encoding = System.Text.Encoding.UTF8; webClient.DownloadFile(pic, imgPath); ctx.tbl_images.Add(img); } catch (Exception ex) { // return APIResult<LoginResponse>.(ResultType.fail, null, ex.Message + "Save Image"); } try { ctx.SaveChanges(); } //catch (DbEntityValidationException e) //{ // return new APIResult<LoginResponse>(ResultType.fail, null, General.fetchEntityError(e)); //} catch (Exception ex) { // return new APIResult<LoginResponse>(ResultType.fail, null, ex.Message + "save changes2"); } } var returned = new LoginResponse { account = dbuser }; IPResult s = new IPResult(); string ip = ""; string agent = ""; IPResult iploc = new IPResult(); //if(HttpContext.Current == null) return new APIResult<LoginResponse>(ResultType.fail, null, "Null HTTPContext"); //if (http.Request == null) return APIResult<LoginResponse>.Error(ResponseCode., null, "Null HTTPRequest"); //if (http.Request.ServerVariables == null) return new APIResult<LoginResponse>(ResultType.fail, null, "Null ServerVariables"); //if (http.Request.ServerVariables.Count == 0) return new APIResult<LoginResponse>(ResultType.fail, null, "Empty ServerVariables"); //if (!http.Request.ServerVariables.AllKeys.Contains("REMOTE_ADDR")) return new APIResult<LoginResponse>(ResultType.fail, null, "REMOTE_ADDR Not in ServerVariables"); //if (!http.Request.ServerVariables.AllKeys.Contains("HTTP_USER_AGENT")) return new APIResult<LoginResponse>(ResultType.fail, null, "HTTP_USER_AGENT No in ServerVariables"); try { ip = http.Request.ServerVariables.Get("REMOTE_ADDR"); agent = http.Request.ServerVariables.Get("HTTP_USER_AGENT"); iploc = General.GetResponse("http://ip-api.com/json/" + ip); } catch (Exception ex) { return(APIResult <LoginResponse> .Error(ResponseCode.BackendServerRequest, ex.Message + "get location ip:" + ip + " agent:" + agent)); } try { //&& a.ip == ip && a.agent == agent var userSessions = ctx.sec_sessions.Where(a => a.user_id == dbuser.id && a.end_time == null).FirstOrDefault(); if (userSessions == null) { Sessions ses = new Sessions(); ses.Entity.user_id = dbuser.id; ses.Entity.ip = ip; ses.Entity.isp = iploc.isp; ses.Entity.lat = iploc.lat; ses.Entity.lon = iploc.lon; ses.Entity.timezone = iploc.timezone; ses.Entity.city = iploc.city; ses.Entity.country = iploc.country; ses.Entity.country_code = iploc.countryCode; ses.Entity.agent = agent; ctx.sec_sessions.Add(ses.Entity); ctx.SaveChanges(); dbuser.sec_users.sec_sessions = new List <sec_sessions>() { ses.Entity }; returned.token = ses.Entity.id; } else { returned.token = userSessions.id; } returned.roles = ctx.sec_users_roles.Include("sec_roles").Where(a => a.user_id == dbuser.id).Select(b => b.sec_roles.role_key).ToArray(); return(APIResult <LoginResponse> .Success(returned, "Login Success")); } catch (DbEntityValidationException e) { return(APIResult <LoginResponse> .Error(ResponseCode.BackendDatabase, General.fetchEntityError(e))); } catch (Exception ex) { return(APIResult <LoginResponse> .Error(ResponseCode.BackendDatabase, ex.Message + " Save Session")); } //} //catch (Exception ex) //{ // throw new Exception( ex.Message + "Auth"); //} } }