Example #1
0
        public virtual ActionResult Create(CreateSiteModel createSiteModel)
        {
            var data = new JsonResultData(ViewData.ModelState);

            if (ModelState.IsValid)
            {
                data.RunWithTry((resultData) =>
                {
                    var siteTemplate = _siteTemplateManager.GetItemTemplate(null, createSiteModel.Template);

                    if (siteTemplate != null)
                    {
                        var createdSite = Kooboo.CMS.Sites.Services.ServiceFactory.SiteManager.Create(null, createSiteModel.Name, siteTemplate.TemplateFile,
                                                                                                      new CreateSiteOptions()
                        {
                            Culture        = createSiteModel.Culture,
                            MembershipName = createSiteModel.Membership,
                            RepositoryName = createSiteModel.Repository,
                            TimeZoneId     = createSiteModel.TimeZoneId,
                            UserName       = User.Identity.Name
                        });

                        resultData.RedirectUrl = Url.Action("SiteMap", new { controller = "Home", siteName = createdSite.FullName });
                    }
                });
            }

            return(Json(data));
        }
Example #2
0
        public virtual ActionResult CreateSubSite(CreateSiteModel model)
        {
            string siteName = Request["siteName"] ?? Request["parent"];

            if (!string.IsNullOrWhiteSpace(siteName))
            {
                var parentSite = SiteHelper.Parse(siteName).AsActual();
                model.Repository = parentSite.Repository;
            }
            ModelState.Clear();
            return(View(model));
        }
Example #3
0
        public virtual ActionResult CreateSubSite()
        {
            string siteName        = Request["siteName"] ?? Request["parent"];
            var    createSiteModel = new CreateSiteModel()
            {
                Version = "1.0.0.0"
            };

            if (!string.IsNullOrWhiteSpace(siteName))
            {
                //createSiteModel.Parent = siteName;
                var parentSite = SiteHelper.Parse(siteName).AsActual();
                createSiteModel.Repository = parentSite.Repository;
                createSiteModel.Theme      = parentSite.Theme;
                createSiteModel.Version    = parentSite.Version;
            }

            return(View(createSiteModel));
        }
Example #4
0
 /// <summary>
 /// Création d'un site
 /// </summary>
 /// <param name="createSiteModel">Modèle de création du site</param>
 /// <returns>Identifiant du site créé</returns>
 public Task <string> Create(CreateSiteModel createSiteModel)
 {
     return(_apiService.Post <CreateSiteModel, LabelIdModel <string> >($"{BaseRoot}", createSiteModel).ContinueWith(r => r.Result.Id));
 }
Example #5
0
        public async void ScenarioTest()
        {
            var ng = new NowguaClient(ConnectionSettings);

            // Création d'un site
            var createModel = new CreateSiteModel("Site de Test", rd.Next(1000, 10000).ToString(), 2);

            // Adresse du site (obligatoire)
            createModel.Address = new Address("228 Boulevard Alsace-Lorraine, Rosny-sous-Bois, France", "", 48.882485, 2.494292);

            // Information de reconnaissance
            createModel.Recognition.Access           = "Moyen d'accès au site";
            createModel.Recognition.ExitInformations = "Information sur les issues du site";
            createModel.Notes = "Notes concernant le site";

            // Inscrutions d'intervention
            createModel.Instructions.Add(1, true); //L'agent doit t'il réaliser une ronde extérieure
            // ...

            // Ajout de contact
            createModel.Contacts.Add("Albert", "SMITH", "*****@*****.**", "+33600000000", true);             // reception automatique des rapports d'intervention du site
            createModel.Contacts.Add("Henry", "KESTREL", "*****@*****.**", "+33600000000", false);

            // Adresse du site (obligatoire)
            createModel.AccessInformation = new SiteAccessInformation(
                new List <LabelModel <int> >()
            {
                new LabelModel <int>(1, "Badge"), new LabelModel <int>(0, "Code")
            },
                "12345",
                null,
                "New Commentaire Test ! ",
                new LabelModel <int>(1, "embarque"),
                "referenceClef"
                );

            string siteId = await ng.Sites.Create(createModel);

            Assert.NotEmpty(siteId);

            // Récupération des informations du site
            var site = await ng.Sites.Get(siteId);

            Assert.NotNull(site);
            Assert.Equal(createModel.Name, site.Name);
            Assert.Equal(createModel.TransmitterNumber, site.TransmitterNumber);
            Assert.Equal(createModel.Address.Text, site.Address.Text);
            Assert.Equal(site.AccessInformation.Code, "12345");
            Assert.Equal(site.AccessInformation.KeyRef, "referenceClef");
            Assert.Equal(site.AccessInformation.Commentaire, "New Commentaire Test ! ");
            Assert.Equal(site.AccessInformation.LocationType.Label, "embarque");
            Assert.Equal(site.AccessInformation.Type.Count, 2);



            // Recherche d'un site via numéro télétransmeteur
            var site2 = await ng.Sites.SearchTT(site.TransmitterNumber);

            Assert.NotNull(site2);
            Assert.Equal(createModel.Name, site2[0].Name);
            Assert.Equal(createModel.TransmitterNumber, site2[0].TransmitterNumber);
            Assert.Equal(createModel.Address.Text, site2[0].Address.Text);

            // Modification du site
            EditSiteModel editSiteModel = await ng.Sites.Get(siteId);

            editSiteModel.Name = "Nouveau Nom";
            editSiteModel.TransmitterNumber = "T0123456789";
            editSiteModel.Address           = new Address("229 Boulevard Alsace-Lorraine, Rosny-sous-Bois, France", "", 48.882486, 2.494292);
            editSiteModel.AccessInformation = new SiteAccessInformation
                                              (
                new List <LabelModel <int> >()
            {
                new LabelModel <int>(0, "Code")
            },
                "54321",
                null,
                "edit Commentaire Test ! ",
                new LabelModel <int>(1, "embarque"),
                "referenceClef"
                                              );

            await ng.Sites.Edit(editSiteModel);

            site = await ng.Sites.Get(siteId);

            Assert.NotNull(site);
            Assert.Equal(editSiteModel.Name, site.Name);
            Assert.Equal(editSiteModel.TransmitterNumber, site.TransmitterNumber);
            Assert.Equal(editSiteModel.Address.Text, site.Address.Text);
            Assert.Equal(editSiteModel.AccessInformation.Code, site.AccessInformation.Code);
            Assert.Equal(editSiteModel.AccessInformation.KeyRef, site.AccessInformation.KeyRef);
            Assert.Equal(editSiteModel.AccessInformation.Commentaire, site.AccessInformation.Commentaire);
            Assert.Equal(editSiteModel.AccessInformation.LocationType.Id, 1);
            Assert.Equal(editSiteModel.AccessInformation.Type.Count, 1);


            // Get des logs
            var logs = await ng.Sites.GetLogs(siteId);

            Assert.NotNull(logs);
            Assert.NotEmpty(logs);

            // Suppression du site
            await ng.Sites.Delete(siteId);

            Thread.Sleep(3000);
            var sites = await ng.Sites.Search(s => s.Type(ng.Sites.SearchTypeName).Query(q => q.Bool(b => b.Must(m => m.Term("deleted", false)))).Take(1000));

            Assert.NotNull(sites);
            Assert.NotEmpty(sites);
            Assert.False(sites.Exists(s => s.Id == siteId));
        }