예제 #1
0
        public bool InsertServerBuild(int BuildId, int ServerId, int UserId)
        {
            bool        status      = false;
            ServerBuild serverBuild = new ServerBuild();

            try
            {
                BuildProject build = db.BuildProjects.Where(x => x.BuildId == BuildId).FirstOrDefault();
                serverBuild.BuildId       = BuildId;
                serverBuild.Build_Version = build.Build_Version;
                serverBuild.Mejor_Version = build.Mejor_Version;
                serverBuild.Minor_Version = build.Minor_Version;
                serverBuild.PublishedBy   = UserId;
                serverBuild.ServerId      = ServerId;
                serverBuild.PublishDate   = DateTime.Now;
                serverBuild.Status        = "queued";
                db.ServerBuilds.Add(serverBuild);
                if (db.SaveChanges() > 0)
                {
                    status = true;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(false);
            }
            return(status);
        }
예제 #2
0
        public IHttpActionResult GetBuildSuccessVersion(int id)
        {
            ServerBuild serverBuild = _projectManager.GetBuildSuccessVersion(id);

            if (serverBuild == null)
            {
                return(NotFound());
            }
            return(Ok(serverBuild));
        }
예제 #3
0
        public bool UpdateServerBuild(ServerBuild build)
        {
            db.Entry(build).State = EntityState.Modified;
            bool status = false;

            if (db.SaveChanges() > 0)
            {
                status = true;
            }
            return(status);
        }
예제 #4
0
        public async Task <ActionResult> Rebuild(int id)
        {
            string              token      = Session["UserToken"].ToString();
            string              addressUrl = "api/EmailMaster/GetEmails?id=" + Session["Organization"].ToString();
            List <EmailMaster>  emails     = new List <EmailMaster>();
            HttpResponseMessage Res        = await Helpers.Get(addressUrl, token);

            if (Res.IsSuccessStatusCode)
            {
                var Emails = Res.Content.ReadAsStringAsync().Result;
                emails = JsonConvert.DeserializeObject <List <EmailMaster> >(Emails);
            }
            List <string> emailIds = emails.Select(x => x.EmailId).ToList();

            if (!emailIds.Contains(Session["Username"].ToString()))
            {
                emailIds.Add(Session["Username"].ToString());
            }
            addressUrl = "api/Servers/GetServerBuild?id=" + id;
            ServerBuild build = new ServerBuild();

            Res = await Helpers.Get(addressUrl, token);

            if (Res.IsSuccessStatusCode)
            {
                var Project = Res.Content.ReadAsStringAsync().Result;
                build = JsonConvert.DeserializeObject <ServerBuild>(Project);
            }
            string subject = build.BuildProject.Project.ProjectName + " " + build.Mejor_Version + "." + build.Minor_Version + "." + build.Build_Version;
            await Helpers.SendEmail(emailIds, subject, "New Server Build Started for the projct build" + subject);

            string address = ConfigurationManager.AppSettings["ServerBuildAPI"] + build.BuildProject.DownloadURL;

            Res = await Helpers.Get(address, token);

            if (Res.IsSuccessStatusCode)
            {
                int         userid = Convert.ToInt32(Session["user"].ToString());
                ServerBuild temp   = new ServerBuild {
                    ServerBuildId = build.ServerBuildId, BuildId = build.BuildId, Build_Version = build.Build_Version, Mejor_Version = build.Mejor_Version, Minor_Version = build.Minor_Version, PublishDate = DateTime.Now.Date, Status = "queued", PublishedBy = userid, ServerId = build.ServerId
                };
                var stringContent = new StringContent(JsonConvert.SerializeObject(temp), Encoding.UTF8, "application/json");
                var addressUri    = new Uri("api/Servers/UpdateServerBuild", UriKind.Relative);
                Res = Helpers.Post(addressUri, stringContent, token);
                if (Res.IsSuccessStatusCode)
                {
                    return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
                }
                return(Json(new { error = true }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new { error = true }, JsonRequestBehavior.AllowGet));
        }
예제 #5
0
 private void BuildListView_KeyDown(object sender, KeyEventArgs e)
 {
     _monitorThread.Abort();
     if (e.KeyCode == Keys.Delete)
     {
         foreach (ListViewItem selectedItem in BuildListView.SelectedItems)
         {
             ServerBuild selectedServerBuild = (ServerBuild)selectedItem.Tag;
             _serverBuilds.Remove(selectedServerBuild);
         }
     }
     SaveBuildList();
     MonitorBuilds();
 }
예제 #6
0
        private void GetBuildsFromRegistry()
        {
            string      serverBuildsKeyName = string.Format("SOFTWARE\\{0}\\ServerBuilds", Application.ProductName);
            RegistryKey serverBuildsKey     = Registry.LocalMachine.OpenSubKey(serverBuildsKeyName);

            if (serverBuildsKey != null)
            {
                foreach (string serverKeyName in serverBuildsKey.GetSubKeyNames())
                {
                    ServerBuild serverBuild    = new ServerBuild();
                    RegistryKey serverBuildKey = serverBuildsKey.OpenSubKey(serverKeyName);
                    serverBuild.ServerUri = new Uri(serverBuildKey.GetValue("ServerUri").ToString());
                    serverBuild.BuildUri  = new Uri(serverBuildKey.GetValue("BuildUri").ToString());
                    _serverBuilds.Add(serverBuild);
                }
            }
        }
예제 #7
0
파일: Startup.cs 프로젝트: Ultron46/Today
        public async Task UpdateServerBuildStatus()
        {
            var client = new HttpClient();

            client.BaseAddress = new Uri(baseUrl);

            client.DefaultRequestHeaders.Clear();

            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            string address          = "api/Servers/GetQueuedBuild";
            HttpResponseMessage Res = await client.GetAsync(address);

            ServerBuild build = new ServerBuild();

            if (Res.IsSuccessStatusCode)
            {
                var ServerBuildResponse = Res.Content.ReadAsStringAsync().Result;
                build = JsonConvert.DeserializeObject <ServerBuild>(ServerBuildResponse);
            }
            if (build != null)
            {
                client.DefaultRequestHeaders.Clear();

                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                address = "api/Servers/UpdateServerBuildStatus?id=" + build.ServerBuildId;
                Res     = await client.GetAsync(address);

                if (Res.IsSuccessStatusCode)
                {
                    var                ServerBuildResponse = Res.Content.ReadAsStringAsync().Result;
                    string             addressUrl          = "api/EmailMaster/GetEmails?id=" + build.BuildProject.Project.OrganisationId;
                    List <EmailMaster> emails = new List <EmailMaster>();
                    Res = await Helpers.Get(addressUrl, "");

                    if (Res.IsSuccessStatusCode)
                    {
                        var Emails = Res.Content.ReadAsStringAsync().Result;
                        emails = JsonConvert.DeserializeObject <List <EmailMaster> >(Emails);
                    }
                    List <string> emailIds = emails.Select(x => x.EmailId).ToList();
                    string        msg      = "Version: " + build.Mejor_Version + "." + build.Minor_Version + "." + build.Build_Version + "\nServer Build Status: ";
                    msg += build.ServerBuildId % 2 == 1 ? "failure" : "success";
                    await Helpers.SendEmail(emailIds, build.BuildProject.Project.ProjectName, msg);
                }
            }
        }
예제 #8
0
        public bool UpdateServerBuildStatus(int id)
        {
            ServerBuild build = db.ServerBuilds.Find(id);

            if (build != null)
            {
                if (build.ServerBuildId % 2 == 0 || build.Status.Equals("failure"))
                {
                    build.Status = "success";
                }
                else
                {
                    build.Status = "failure";
                }
                db.Entry(build).State = EntityState.Modified;
                bool status = false;
                if (db.SaveChanges() > 0)
                {
                    status = true;
                }
                return(status);
            }
            return(true);
        }
예제 #9
0
        public IHttpActionResult GetServerBuild(int id)
        {
            ServerBuild build = _serverManager.GetServerBuild(id);

            return(Ok(build));
        }
예제 #10
0
        public IHttpActionResult GetQueuedBuild()
        {
            ServerBuild build = _serverManager.QueuedBuild();

            return(Ok(build));
        }
예제 #11
0
        public ServerBuild GetBuildSuccessVersion(int id)
        {
            ServerBuild s = db.ServerBuilds.Include(x => x.BuildProject).Where(x => x.BuildProject.BranchId == id && x.Status == "success").AsNoTracking().OrderByDescending(x => x.PublishDate).FirstOrDefault();

            return(s);
        }
예제 #12
0
        public bool UpdateServerBuild(ServerBuild build)
        {
            bool status = _serverConfigDataRepository.UpdateServerBuild(build);

            return(status);
        }
예제 #13
0
        public ServerBuild GetServerBuild(int id)
        {
            ServerBuild build = db.ServerBuilds.Where(x => x.ServerBuildId == id).AsNoTracking().Include(x => x.BuildProject).Include(x => x.BuildProject.Project).FirstOrDefault();

            return(build);
        }
예제 #14
0
        public ServerBuild QueuedBuild()
        {
            ServerBuild build = db.ServerBuilds.Where(x => x.Status.Equals("queued")).Include(x => x.BuildProject).Include(x => x.BuildProject.Project).AsNoTracking().OrderBy(x => x.PublishDate).FirstOrDefault();

            return(build);
        }
예제 #15
0
        public ServerBuild GetServerBuild(int id)
        {
            ServerBuild build = _serverConfigDataRepository.GetServerBuild(id);

            return(build);
        }
예제 #16
0
        public IHttpActionResult UpdateServerBuild(ServerBuild build)
        {
            bool status = _serverManager.UpdateServerBuild(build);

            return(Ok(status));
        }
예제 #17
0
        public ServerBuild GetBuildSuccessVersion(int id)
        {
            ServerBuild serverBuild = _projectDataRepository.GetBuildSuccessVersion(id);

            return(serverBuild);
        }
예제 #18
0
        public ServerBuild QueuedBuild()
        {
            ServerBuild build = _serverConfigDataRepository.QueuedBuild();

            return(build);
        }