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)); }
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)); }
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)); }
/// <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)); }
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)); }