public ActionResult NippsUpgradeList(Models.Nipps nipps)
        {
            string upgradeServiceUrl    = NippsSiteHelper.BuildDeploymentServiceUrl(nipps.HostName, "BackupService/UpgradeApplicationList");
            NippsPackageRequest request = new NippsPackageRequest
            {
                NippsPackages = new List <NippsPackage>()
            };

            if (!String.IsNullOrEmpty(nipps.HostName))
            {
                request.NippsPackages.Add(new NippsPackage
                {
                    HostName        = nipps.HostName,
                    SiteName        = nipps.SiteName,
                    ApplicationName = nipps.ApplicationName
                });
            }

            NippsPackageResponse response = RestHelper.RestPostObject <NippsPackageResponse, NippsPackageRequest>(upgradeServiceUrl, request);

            ViewBag.ResultList = response.ResultMessages;
            SetViewBagResult(response, ViewBag);

            return(View(nipps));
        }
Пример #2
0
        public ActionResult ServiceOpMetricEnable(Models.Nipps nipps, string name, string path)
        {
            GetOperationalMetricsParam(nipps);

            if (ViewBag.Result == Result.OK)
            {
                List <NippsOperationalMetric> omMetrics = ViewBag.ResultList;

                //find requested op metric
                NippsOperationalMetric omMetric = omMetrics.Where(om => om.Name.Equals(name)).Single();

                //inverse the Active flag
                omMetric.Active = !omMetric.Active;
                if (omMetric.Active)
                {
                    //reset op metric values
                    try
                    {
                        string            svcUrl = NippsSiteHelper.ServiceBaseUrl(nipps.HostName, nipps.SiteName, nipps.ApplicationName) + path;
                        NippsOpMetricData omData = RestHelper.RestPostObject <NippsOpMetricData, string>(svcUrl, "");
                    }
                    catch (Exception ex) { Logger.Error(ex.ToString()); }
                }

                //save op metrics
                SaveOperationalMetricsParam(nipps, omMetrics);

                ViewBag.ResultList = omMetrics;
            }

            return(View("ServiceOpMetrics", nipps));
        }
        public ActionResult NippsBackup(Models.Nipps nipps)
        {
            ViewBag.Title = Resources.Global.BackupTitle;

            string backupServiceUrl           = NippsSiteHelper.BuildDeploymentServiceUrl(nipps.HostName, "BackupService/BackupApplication");
            NippsPackageRequest backupRequest = new NippsPackageRequest
            {
                NippsPackages = new List <NippsPackage>
                {
                    new NippsPackage
                    {
                        ApplicationName = nipps.ApplicationName,
                        SiteName        = nipps.SiteName,
                        HostName        = nipps.HostName
                    }
                }
            };

            NippsPackageResponse backupResponse = RestHelper.RestPostObject <NippsPackageResponse, NippsPackageRequest>(backupServiceUrl, backupRequest);

            ViewBag.Result             = backupResponse.Result;
            ViewBag.ResultMessages     = backupResponse.ResultMessages;
            ViewBag.ReturnToAction     = ReturnToAction;
            ViewBag.ReturnToController = ReturnToController;
            ViewBag.Title = Resources.Global.BackupTitle;

            return(View(NippsSiteHelper.ResultMessageView));
        }
Пример #4
0
        NippsModule GetNippsModule(Models.Nipps nipps)
        {
            try
            {
                string             moduleName    = nipps.HostName + ">" + nipps.SiteName + ">" + nipps.ApplicationName;
                string             svcUrl        = CommonHelper.LogManagerServiceUrl + "NippsModuleService/GetByName";
                NippsModuleRequest moduleRequest = new NippsModuleRequest {
                    NippsModules = new List <NippsModule> {
                        new NippsModule {
                            ModuleName = moduleName
                        }
                    }
                };
                NippsModuleResponse moduleResponse = RestHelper.RestPostObject <NippsModuleResponse, NippsModuleRequest>(svcUrl, moduleRequest);

                if (moduleResponse.Result == Result.OK)
                {
                    return(moduleResponse.NippsModules[0]);
                }

                Logger.Error("{0}: {1}", nipps, moduleResponse.ResultMessages[0]);
            }
            catch (Exception ex)
            {
                Logger.Error("{0}: {1}", nipps, ex.ToString());
            }

            return(null);
        }
        public ActionResult NippsRestore(Models.Nipps nipps, string restore)
        {
            ViewBag.Title = Resources.Global.RestoreTitle;

            string restoreServiceUrl    = NippsSiteHelper.BuildDeploymentServiceUrl(nipps.HostName, "BackupService/RestoreApplication");
            NippsPackageRequest request = new NippsPackageRequest
            {
                NippsPackages = new List <NippsPackage>
                {
                    new NippsPackage
                    {
                        HostName            = nipps.HostName,
                        SiteName            = nipps.SiteName,
                        ApplicationName     = nipps.ApplicationName,
                        ApplicationPoolName = nipps.ApplicationPoolName,
                        PackageZIP          = restore
                    }
                }
            };

            NippsPackageResponse response = RestHelper.RestPostObject <NippsPackageResponse, NippsPackageRequest>(restoreServiceUrl, request);

            ViewBag.Result             = response.Result;
            ViewBag.ResultMessages     = response.ResultMessages;
            ViewBag.ReturnToAction     = ReturnToAction;
            ViewBag.ReturnToController = ReturnToController;
            ViewBag.Title = Resources.Global.RestoreTitle;

            return(View(NippsSiteHelper.ResultMessageView));
        }
        public ActionResult NippsUpgradeConfirm(Models.Nipps nipps, string upgradeItem)
        {
            NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger();

            logger.Debug("{0}, {1}", nipps, upgradeItem);
            ViewBag.UpgradeItem = upgradeItem;

            return(View(nipps));
        }
Пример #7
0
        public static List <Models.Nipps> ListNipps()
        {
            List <Models.Nipps> nippsList = new List <Models.Nipps>();

            NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger();

            try
            {
                //get list of the service-hosts
                List <NippsParameter> nippsHosts = NippsSiteHelper.ListNippsHost();

                foreach (NippsParameter nippsHost in nippsHosts)
                {
                    foreach (string value in nippsHost.ParameterValue.Split('|'))
                    {
                        try
                        {
                            //get applications from the host
                            List <NippsSite> nippsSites = NippsSiteHelper.ListNippsSite(value);
                            foreach (NippsSite nippsSite in nippsSites)
                            {
                                foreach (NippsApplication nippsApplication in nippsSite.NippsApplications)
                                {
                                    //add only netas ip phone service application to the result list
                                    if (nippsApplication.Path.StartsWith("/Netas.Nipps.Service."))
                                    {
                                        Models.Nipps nipps = new Models.Nipps
                                        {
                                            HostName            = value,
                                            ApplicationName     = nippsApplication.Path,
                                            ApplicationPoolName = nippsApplication.ApplicationPoolName,
                                            SiteName            = nippsSite.Name,
                                            State        = nippsApplication.ApplicationPoolState,
                                            PhysicalPath = nippsApplication.PhysicalPath,
                                            Version      = nippsApplication.Version,
                                            ModuleId     = -1
                                        };
                                        nippsList.Add(nipps);
                                    }
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            Logger.Error("{0}: {1}", value, ex.ToString());
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.Error("{0}", ex.ToString());
            }

            return(nippsList);
        }
Пример #8
0
        public ActionResult NippsUndeploy(Models.Nipps nipps)
        {
            ViewBag.ReturnToAction     = ReturnToAction;
            ViewBag.ReturnToController = ReturnToController;
            ViewBag.Title = Resources.Global.UndeployTitle;
            ViewBag.Name  = Resources.Global.Undeploy;

            try
            {
                //first, get and remove nippsmodule, do not care weather exist or not
                RemoveNippsModule(GetNippsModule(nipps));

                //then remove application
                NippsSite nippsSite = new NippsSite
                {
                    Name = nipps.SiteName,
                    NippsApplications = new List <NippsApplication> {
                        new NippsApplication {
                            Path = nipps.ApplicationName, PhysicalPath = nipps.PhysicalPath
                        }
                    }
                };

                string           svcUrl           = NippsSiteHelper.BuildDeploymentServiceUrl(nipps.HostName) + "RemoveNippsSite";
                NippsSiteRequest nippsSiteRequest = new NippsSiteRequest {
                    NippsSites = new List <NippsSite> {
                        nippsSite
                    }
                };
                NippsSiteResponse response = RestHelper.RestPostObject <NippsSiteResponse, NippsSiteRequest>(svcUrl, nippsSiteRequest);

                if (response.Result == Result.OK)
                {
                    return(RedirectToAction("NippsServiceList"));
                }

                SetViewBagResult(response, ViewBag);
            }
            catch (Exception ex)
            {
                Logger.Error("{0}: {1}", nipps, ex.ToString());
                SetViewBagResult(new NippsSiteResponse {
                    Result = Result.FAIL, ResultMessages = new List <string> {
                        ex.ToString()
                    }
                }, ViewBag);
            }

            return(View(NippsSiteHelper.ResultMessageView));
        }
Пример #9
0
        void GetOperationalMetricsParam(Models.Nipps nipps)
        {
            string paramName = nipps.ApplicationName.Replace("/Netas.Nipps.Service.", "").ToUpper();
            string svcUrl    = CommonHelper.ConfigManagerServiceUrl + "NippsParameterService/Get";

            ViewBag.Result         = Result.FAIL;
            ViewBag.ResultMessages = new List <string>();

            try
            {
                NippsParameterRequest omRequest = new NippsParameterRequest
                {
                    NippsParameters = new List <NippsParameter> {
                        new NippsParameter {
                            CategoryName = "OM", ParameterName = paramName
                        }
                    }
                };
                NippsParameterResponse omResponse = RestHelper.RestPostObject <NippsParameterResponse, NippsParameterRequest>(svcUrl, omRequest);
                if (omResponse.Result != Result.OK)
                {
                    return;
                }

                if (omResponse.NippsParameters == null || omResponse.NippsParameters.Count != 1)
                {
                    return;
                }

                if (string.IsNullOrEmpty(omResponse.NippsParameters[0].ParameterValue))
                {
                    return;
                }

                List <NippsOperationalMetric> omMetrics = Newtonsoft.Json.JsonConvert.DeserializeObject <List <NippsOperationalMetric> >(omResponse.NippsParameters[0].ParameterValue);
                if (omMetrics == null || omMetrics.Count == 0)
                {
                    return;
                }

                ViewBag.Result     = Result.OK;
                ViewBag.ResultList = omMetrics;
            }
            catch (Exception ex)
            {
                Logger.Error(ex.ToString());
            }
        }
Пример #10
0
        public ActionResult NippsDeploy(HttpPostedFileBase PackageZIP, Models.Nipps nipps)
        {
            string deploymentServiceUrl = NippsSiteHelper.BuildDeploymentServiceUrl(nipps.HostName) + "AddSite";

            byte[] packageZipBuffer = new byte[PackageZIP.ContentLength];
            PackageZIP.InputStream.Read(packageZipBuffer, 0, PackageZIP.ContentLength);

            string b64Package = Convert.ToBase64String(packageZipBuffer);

            NippsPackageRequest nippsPackageRequest = new NippsPackageRequest
            {
                NippsPackages = new List <NippsPackage>
                {
                    new NippsPackage {
                        PackageZIP          = b64Package,
                        SiteName            = nipps.SiteName,
                        HostName            = nipps.HostName,
                        ApplicationPoolName = nipps.ApplicationPoolName,
                        ApplicationName     = nipps.ApplicationName
                    }
                }
            };

            NippsPackageResponse response = RestHelper.RestPostObject <NippsPackageResponse, NippsPackageRequest>(deploymentServiceUrl, nippsPackageRequest);

            if (response.Result == Result.OK)
            {
                return(RedirectToAction("NippsServiceList"));
            }

            foreach (String em in response.ResultMessages)
            {
                Logger.Error(em);
            }

            ViewBag.Result             = response.Result;
            ViewBag.ResultMessages     = response.ResultMessages;
            ViewBag.ReturnToAction     = ReturnToAction;
            ViewBag.ReturnToController = ReturnToController;
            ViewBag.Title = Resources.Global.DeployTitle;

            return(View(NippsSiteHelper.ResultMessageView));
        }
Пример #11
0
        void SaveOperationalMetricsParam(Models.Nipps nipps, List <NippsOperationalMetric> opMetrics)
        {
            string paramName = nipps.ApplicationName.Replace("/Netas.Nipps.Service.", "").ToUpper();
            string svcUrl    = CommonHelper.ConfigManagerServiceUrl + "NippsParameterService/Update";

            try
            {
                NippsParameterRequest omRequest = new NippsParameterRequest
                {
                    NippsParameters = new List <NippsParameter>
                    {
                        new NippsParameter {
                            CategoryName = "OM", ParameterName = paramName, ParameterValue = Newtonsoft.Json.JsonConvert.SerializeObject(opMetrics)
                        }
                    }
                };
                NippsParameterResponse omResponse = RestHelper.RestPostObject <NippsParameterResponse, NippsParameterRequest>(svcUrl, omRequest);
            }
            catch (Exception ex)
            {
                Logger.Error(ex.ToString());
            }
        }
Пример #12
0
        public ActionResult ServiceOpMetricDetail(Models.Nipps nipps, string name, string path, string headers)
        {
            ViewBag.Result = Result.FAIL;
            if (nipps == null || string.IsNullOrEmpty(nipps.HostName) || string.IsNullOrEmpty(nipps.SiteName) || string.IsNullOrEmpty(nipps.ApplicationName))
            {
                return(View(nipps));
            }

            if (string.IsNullOrEmpty(path) || string.IsNullOrEmpty(headers))
            {
                return(View(nipps));
            }

            try
            {
                ViewBag.Headers = headers.Split('|');
                ViewBag.Name    = name;

                string            svcUrl = NippsSiteHelper.ServiceBaseUrl(nipps.HostName, nipps.SiteName, nipps.ApplicationName) + path;
                NippsOpMetricData omData = RestHelper.RestGet <NippsOpMetricData>(svcUrl);
                if (omData == null || omData.Data == null || omData.Data.Count == 0)
                {
                    return(View(nipps));
                }

                ViewBag.Result     = Result.OK;
                ViewBag.ResultList = omData;
            }
            catch (Exception ex)
            {
                Logger.Error(ex.ToString());
            }


            return(View(nipps));
        }
Пример #13
0
        public ActionResult NippsStop(Models.Nipps nipps)
        {
            string deploymentServiceUrl = NippsSiteHelper.BuildDeploymentServiceUrl(nipps.HostName) + "StopApplicationPool";
            NippsApplicationRequest nippsApplicationRequest = new NippsApplicationRequest
            {
                NippsApplications = new List <NippsApplication> {
                    new NippsApplication {
                        ApplicationPoolName = nipps.ApplicationPoolName
                    }
                }
            };

            NippsApplicationResponse response = RestHelper.RestPostObject <NippsApplicationResponse, NippsApplicationRequest>(deploymentServiceUrl, nippsApplicationRequest);

            if (response.Result == Result.FAIL)
            {
                foreach (string em in response.ResultMessages)
                {
                    Logger.Error(em);
                }
            }

            return(RedirectToAction("NippsServiceList"));
        }
Пример #14
0
        public static List<Models.Nipps> ListNipps()
        {
            List<Models.Nipps> nippsList = new List<Models.Nipps>();
            NLog.Logger Logger = NLog.LogManager.GetCurrentClassLogger();

            try
            {
                //get list of the service-hosts
                List<NippsParameter> nippsHosts = NippsSiteHelper.ListNippsHost();

                foreach (NippsParameter nippsHost in nippsHosts)
                    foreach (string value in nippsHost.ParameterValue.Split('|'))
                    {
                        try
                        {
                            //get applications from the host
                            List<NippsSite> nippsSites = NippsSiteHelper.ListNippsSite(value);
                            foreach (NippsSite nippsSite in nippsSites)
                                foreach (NippsApplication nippsApplication in nippsSite.NippsApplications)
                                {
                                    //add only netas ip phone service application to the result list
                                    if (nippsApplication.Path.StartsWith("/Netas.Nipps.Service."))
                                    {
                                        Models.Nipps nipps = new Models.Nipps
                                        {
                                            HostName = value,
                                            ApplicationName = nippsApplication.Path,
                                            ApplicationPoolName = nippsApplication.ApplicationPoolName,
                                            SiteName = nippsSite.Name,
                                            State = nippsApplication.ApplicationPoolState,
                                            PhysicalPath = nippsApplication.PhysicalPath,
                                            Version = nippsApplication.Version,
                                            ModuleId = -1
                                        };
                                        nippsList.Add(nipps);
                                    }

                                }


                        }
                        catch (Exception ex)
                        {
                            Logger.Error("{0}: {1}", value, ex.ToString());
                        }

                    }

            }
            catch (Exception ex)
            {
                Logger.Error("{0}", ex.ToString());
            }

            return nippsList;
        }
 public ActionResult NippsBackupConfirm(Models.Nipps nipps)
 {
     return(View(nipps));
 }
Пример #16
0
        public ActionResult ServiceOpMetrics(Models.Nipps nipps)
        {
            GetOperationalMetricsParam(nipps);

            return(View(nipps));
        }
        public ActionResult NippsRestoreConfirm(Models.Nipps nipps, String restoreItem)
        {
            ViewBag.RestoreItem = restoreItem;

            return(View(nipps));
        }