Beispiel #1
0
        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();
            }
        }
Beispiel #2
0
        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());
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
        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());
        }
Beispiel #5
0
        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());
        }
Beispiel #6
0
        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));
        }
Beispiel #7
0
        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());
        }