コード例 #1
0
        public async Task <IActionResult> Create(Organisation organisation)
        {
            var results = await _organisationService.CreateAsync(organisation);

            organisation = await _organisationService.GetAsync(results.ObjectReference[0]);

            return(CreatedAtAction("Create", organisation));
        }
コード例 #2
0
        public async Task <HttpResponseMessage> Post(HttpRequestMessage req, TraceWriter log)
        {
            var payload = await req.Content.ReadAsAsync <Organisation>();

            var item = await _organisationService.CreateAsync(payload, req);

            return(req.CreateResponse(HttpStatusCode.Created, item));
        }
コード例 #3
0
        public async Task <HttpResponseMessage> Post(HttpRequestMessage req, TraceWriter log)
        {
            if (req.Content.IsMimeMultipartContent() == false)
            {
                return(req.CreateResponse(HttpStatusCode.BadRequest));
            }

            Stream fileStream     = null;
            var    streamProvider = await req.Content.ReadAsMultipartAsync(new MultipartMemoryStreamProvider());

            Organisation organisation   = null;
            var          filename       = string.Empty;
            string       organisationId = string.Empty;

            foreach (HttpContent content in streamProvider.Contents)
            {
                Stream stream = content.ReadAsStreamAsync().Result;
                string name   = content.Headers.ContentDisposition.FileName;

                if (!string.IsNullOrEmpty(content.Headers.ContentDisposition.FileName))
                {
                    filename = content.Headers.ContentDisposition.FileName;
                    log.Info($"Filename: {content.Headers.ContentDisposition.FileName}");
                    fileStream = stream;
                }
                else
                {
                    var contents = new StreamReader(stream).ReadToEnd();
                    if (content.Headers.ContentDisposition.Name == "\"organisation\"")
                    {
                        organisation = JsonConvert.DeserializeObject <Organisation>(contents);
                    }

                    log.Info($"{content.Headers.ContentDisposition.Name}: {contents}");
                }
            }

            if (string.IsNullOrWhiteSpace(organisation.id))
            {
                organisation = await _organisationService.CreateAsync(organisation, req);
            }

            var attachment = await _organisationRepository.AddAttachment(organisation.id, fileStream, "image/jpeg", filename);

            organisation.PhotoId = attachment.Resource.Id;
            await _organisationService.UpdateAsync(organisation, req);

            return(req.CreateResponse(HttpStatusCode.OK, organisation));
        }
コード例 #4
0
        public async Task <IActionResult> CreateOrganisation([FromBody] CreateOrganisationRequest payload)
        {
            BackgroundJob.Enqueue(() => _organisationService.CreateAsync(payload));

            return(new OkResult());
        }