public async Task <IActionResult> ProvisionSite([FromBody] CreateSiteRequest request) { if (!ModelState.IsValid) { return((IActionResult)BadRequest()); } //byte[] logo; //using (var memoryStream = new MemoryStream()) //{ // request.Logo.CopyTo(memoryStream); // logo = memoryStream.ToArray(); //} ProvisionSiteCommand provisionSiteCommand = new ProvisionSiteCommand { Name = request.Name, Description = request.Description, Active = true, //PageColor1 = request.PageColor1, //PageColor2 = request.PageColor2, //PageColor3 = request.PageColor3, //PageColor4 = request.PageColor4, ContactName = request.ContactName, PrimaryTelephone = request.PrimaryTelephone, SecondaryTelephone = request.SecondaryTelephone, TenantId = request.TenantId }; var site = await _businessInformationService.ProvisionSite(provisionSiteCommand); return((IActionResult)Ok(site)); }
public async Task <IActionResult> Produce(CreateSiteRequest request) { var validatorActionResult = await _validationArrangement.Validate(request); var actionResult = await _operationArrangement.Process(request, validatorActionResult); return(actionResult); }
public override void Run() { try { var request = new CreateSiteRequest(); var apiInstance = new RequestsApi(Configuration.Default); request.ServiceId = new Guid("3844cf31-4b27-4636-9a15-5548e0eaa906"); request.Department = "IT"; string siteName = $"{DateTime.Now.ToString("yyyyMMddHHmmss")}"; request.Summary = siteName + " Summary"; request.SiteTitle = siteName + " Title"; request.SiteUrl = new SiteUrl() { Root = "https://xxxxx.sharepoint.com", Name = siteName, ManagedPath = "/sites/" }; request.PolicyId = new Guid("ac758b7f-6079-4fd0-8250-48490a5a34a6"); request.TimeZone = 21; request.Language = 1033; request.Template = "STS#3#Team site (no Office 365 group)#Collaboration"; request.PrimaryAdmin = new ApiUser() { LoginName = "*****@*****.**", DisplayName = "PrimaryAdmin" }; request.PrimaryContact = new ApiUser() { LoginName = "*****@*****.**", DisplayName = "PrimaryContact" }; request.SecondaryContact = new ApiUser() { LoginName = "*****@*****.**", DisplayName = "SecondaryContact" }; request.HubSiteSettings = new HubSiteSettings(); request.UserPermissions = new List <RequestUserWithPermissions>(); request.GroupPermissions = new List <RequestGroupWithPermissions>(); request.Metadatas = this.GetSampleMetadatas(); var result = apiInstance.SubmitCreateSiteRequest(request); Console.WriteLine(result); } catch (ApiException e) { Console.WriteLine("Exception when calling RequestsApi.SubmitCreateSiteRequest: " + e.Message); Console.WriteLine("Status Code: " + e.ErrorCode); Console.WriteLine(e.StackTrace); } }
public async Task <IActionResult> Create([FromQuery] CreateSiteFromQuery query, [FromBody] CreateSiteFromBody body) { var request = new CreateSiteRequest(query, body); var result = await _apiResult.Produce(request); return(result); }
public static async Task <HttpResponseMessage> Run([HttpTrigger(AuthorizationLevel.Function, "post")] CreateSiteRequest request, TraceWriter log) { string adminUrl = $"https://{request.Tenant}-admin.sharepoint.com"; try { if (string.IsNullOrWhiteSpace(request.Title)) { throw new ArgumentException("Parameter cannot be null", "Title"); } if (string.IsNullOrWhiteSpace(request.Tenant)) { throw new ArgumentException("Parameter cannot be null", "Tenant"); } if (string.IsNullOrWhiteSpace(request.Url)) { throw new ArgumentException("Parameter cannot be null", "Url"); } var adminContext = await ConnectADAL.GetClientContext(adminUrl, log); Tenant tenant = new Tenant(adminContext); adminContext.ExecuteQuery(); string url = $"https://{request.Tenant}.sharepoint.com/sites/{request.Url}"; var siteCreationProperties = new SiteCreationProperties() { Title = request.Title, Url = url, Owner = request.OwnerEmail, Template = !string.IsNullOrWhiteSpace(request.Template) ? request.Template : "STS#3", StorageMaximumLevel = 100, UserCodeMaximumLevel = 0, Lcid = request.Language != 0 ? request.Language : 1033, }; tenant.CreateSite(siteCreationProperties); adminContext.ExecuteQuery(); return(await Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK) { Content = new ObjectContent <CreateSiteResponse>(new CreateSiteResponse { SiteURL = url }, new JsonMediaTypeFormatter()) })); } catch (Exception e) { log.Error($"Error: {e.Message }\n\n{e.StackTrace}"); return(await Task.FromResult(new HttpResponseMessage(HttpStatusCode.ServiceUnavailable) { Content = new ObjectContent <string>(e.Message, new JsonMediaTypeFormatter()) })); } }
public ActionResult Create(CreateSiteRequest request) { try { joogleService.CreateSite(request).GetAwaiter().GetResult(); return(RedirectToAction("Sites")); } catch { return(View()); } }
/// <summary> /// создать сайт /// </summary> /// <param name="request">модель создания сайта</param> public async Task CreateSite(CreateSiteRequest request) { using (var db = new JoogleContext()) { var url = request.Url.TrimEnd('/'); var exist = db.Sites.FirstOrDefault(x => x.Url == url.ToLower()); if (exist != null) { return; } var site = new Site { Url = url.ToLower(), DateModify = DateTime.UtcNow }; db.Sites.Add(site); db.SaveChanges(); } }
public async Task<IActionResult> Process(CreateSiteRequest request, IValidatorActionResult validatorActionResult) { IActionResult actionResult; if (validatorActionResult.Result == null) { var call = _cqsMapper.Map(request); var result = await _mediator.Send(call); actionResult = result.IsFailure ? _apiResponse.Fail(result) : _apiResponse.Created(string.Format("/api/sites/{0}", ((Result<Guid>)result).Value), result.Version.ToString()); } else { actionResult = validatorActionResult.Result; } return actionResult; }
public CreateSiteCommand Map(CreateSiteRequest request) { var result = new CreateSiteCommand(request.BodyCode, request.BodyName, request.BodySource); return(result); }