public static void checkinInstall(string installKey) { using (Models.MedLaunchChatEntities db = new Models.MedLaunchChatEntities()) { var install = (from q in db.installs where q.code == installKey select q).FirstOrDefault(); install.last_checkin = DateTime.Now; db.SaveChanges(); } }
public IHttpActionResult AddDiscordUser(List <MednaNetAPIClient.Models.Users> users) { IEnumerable <string> headerValues = Request.Headers.GetValues("Authorization"); string installKey = headerValues.FirstOrDefault(); if (installKey == "") { return(ResponseMessage(Models.Errors.InstallKeyBlank(Request))); } try { Models.Installs.checkinInstall(installKey); } catch (Exception ex) { return(ResponseMessage(Models.Errors.InstallCheckinFailed(Request))); } try { if (installKey == "botInstallKey") { using (Models.MedLaunchChatEntities db = new Models.MedLaunchChatEntities()) { //Delete all users in table db.Database.ExecuteSqlCommand("TRUNCATE TABLE [discord_users]"); foreach (var user in users) { var u = new Models.discord_users(); u.is_online = user.isOnline; u.username = user.username; u.user_discord_id = user.discordId; db.discord_users.Add(u); db.SaveChanges(); } } } } catch (Exception ex) { HttpError err = new HttpError("Error adding discord user."); return(ResponseMessage(Request.CreateResponse(HttpStatusCode.InternalServerError, err))); } return(Ok()); }
public IHttpActionResult CreateInstall() { string guid = Guid.NewGuid().ToString(); MednaNetAPIClient.Models.Installs install = null; try { using (Models.MedLaunchChatEntities db = new Models.MedLaunchChatEntities()) { Models.install newInstall = new Models.install(); newInstall.banned = false; newInstall.code = guid; newInstall.last_checkin = DateTime.Now; newInstall.registered_on = DateTime.Now; newInstall.username = ""; db.installs.Add(newInstall); db.SaveChanges(); install = (from q in db.installs where q.code == guid select new MednaNetAPIClient.Models.Installs() { id = q.id, banned = q.banned, code = q.code, lastCheckin = q.last_checkin, registeredOn = q.registered_on, tempBan = q.temp_ban, tempBanEnd = q.temp_ban_end, username = q.username }).FirstOrDefault(); } } catch (Exception ex) { HttpError err = new HttpError("Error registering new install. "); return(ResponseMessage(Request.CreateResponse(HttpStatusCode.InternalServerError, err))); } return(Ok(install)); }
public IHttpActionResult UpdateInstall(MednaNetAPIClient.Models.Installs install) { IEnumerable <string> headerValues = Request.Headers.GetValues("Authorization"); string installKey = headerValues.FirstOrDefault(); if (installKey == "") { return(ResponseMessage(Models.Errors.InstallKeyBlank(Request))); } try { Models.Installs.checkinInstall(installKey); } catch (Exception ex) { return(ResponseMessage(Models.Errors.InstallCheckinFailed(Request))); } try { using (Models.MedLaunchChatEntities db = new Models.MedLaunchChatEntities()) { var dbInstall = (from q in db.installs where q.code == installKey select q).FirstOrDefault(); dbInstall.username = install.username; db.SaveChanges(); } } catch (Exception ex) { HttpError err = new HttpError("Username update failed. Check you are passing an existing installKey"); return(ResponseMessage(Request.CreateResponse(HttpStatusCode.InternalServerError, err))); } return(Ok()); }
public IHttpActionResult CheckinInstall() { IEnumerable <string> headerValues = Request.Headers.GetValues("Authorization"); string installKey = headerValues.FirstOrDefault(); if (installKey == "") { return(ResponseMessage(Models.Errors.InstallKeyBlank(Request))); } try { Models.Installs.checkinInstall(installKey); } catch (Exception ex) { return(ResponseMessage(Models.Errors.InstallCheckinFailed(Request))); } try { using (Models.MedLaunchChatEntities db = new Models.MedLaunchChatEntities()) { var install = (from q in db.installs where q.code == installKey select q).FirstOrDefault(); install.last_checkin = DateTime.Now; db.SaveChanges(); } } catch (Exception ex) { return(ResponseMessage(Models.Errors.InstallCheckinFailed(Request))); } return(Ok()); }
public IHttpActionResult CreateDiscordMessage(int id, MednaNetAPIClient.Models.Messages message) { IEnumerable <string> headerValues = Request.Headers.GetValues("Authorization"); string installKey = headerValues.FirstOrDefault(); if (installKey == "") { return(ResponseMessage(Models.Errors.InstallKeyBlank(Request))); } try { Models.Installs.checkinInstall(installKey); } catch (Exception ex) { return(ResponseMessage(Models.Errors.InstallCheckinFailed(Request))); } string username = ""; bool clientIgnore = false; Models.discord_messages newRecord = null; try { newRecord = new Models.discord_messages(); using (Models.MedLaunchChatEntities db = new Models.MedLaunchChatEntities()) { var install = (from q in db.installs where q.code == installKey select q).FirstOrDefault(); if (install != null) { if (install.banned) { } else { if (install.temp_ban) { } else { if (installKey == "botInstallKey") { username = message.name; } else { username = install.username; } newRecord = new Models.discord_messages(); newRecord.code = message.code; newRecord.message = message.message; newRecord.name = username; newRecord.posted_on = DateTime.Now; newRecord.channel = id; newRecord.clients_ignore = clientIgnore; db.discord_messages.Add(newRecord); db.SaveChanges(); } } } else { } } } catch (Exception ex) { HttpError err = new HttpError("Error creating message for discord channel. "); return(ResponseMessage(Request.CreateResponse(HttpStatusCode.InternalServerError, err))); } return(Ok(newRecord)); }
public IHttpActionResult CreateGroup(MednaNetAPIClient.Models.Groups group) { var APIReturn = new Models.APIReturn(); IEnumerable <string> headerValues = Request.Headers.GetValues("Authorization"); string installKey = headerValues.FirstOrDefault(); if (installKey == "") { return(ResponseMessage(Models.Errors.InstallKeyBlank(Request))); } try { Models.Installs.checkinInstall(installKey); } catch (Exception ex) { return(ResponseMessage(Models.Errors.InstallCheckinFailed(Request))); } try { using (Models.MedLaunchChatEntities db = new Models.MedLaunchChatEntities()) { var install = (from q in db.installs where q.code == installKey select q).FirstOrDefault(); if (install != null) { Models.group newGroup = new Models.group(); newGroup.group_description = group.groupDescription; newGroup.group_name = group.groupName; newGroup.group_owner = install.id; if (newGroup.group_name.Length > 20) { newGroup.group_name = newGroup.group_name.Substring(0, 19); } db.groups.Add(newGroup); try { db.SaveChanges(); APIReturn.returnMessage = "Group created."; } catch (Exception e) { APIReturn.returnMessage = "Could not create group."; return(new System.Web.Http.Results.ExceptionResult(e, this)); } Models.group_members groupMember = new Models.group_members(); groupMember.awaiting_invite_confrim = false; groupMember.group_id = newGroup.id; groupMember.install_id = install.id; db.group_members.Add(groupMember); try { db.SaveChanges(); APIReturn.returnMessage += "| Install added to group"; } catch (Exception e) { APIReturn.returnMessage = "Could not add install to group."; return(new System.Web.Http.Results.ExceptionResult(e, this)); } } else { APIReturn.returnMessage = "Install not found"; } } } catch (Exception ex) { HttpError err = new HttpError("Error creating group. "); return(ResponseMessage(Request.CreateResponse(HttpStatusCode.InternalServerError, err))); } return(Ok()); }