コード例 #1
0
        public IActionResult GetAudience([FromBody] AudienceRequest request)
        {
            //Validazione argomenti
            if (request == null)
            {
                return(BadRequest());
            }

            //Se non è valida
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            //Recupero l'utente per username
            User user = Layer.GetUserByUserName(User.Identity.Name);

            if (user == null)
            {
                return(NotFound());
            }

            //Se l'utente non ha diritti amministrativi, esco
            if (!Layer.HasAdministrativeGrants(user))
            {
                return(Unauthorized());
            }

            //Get single element from storage
            var single = Layer.GetAudienceByClientId(request.ClientId);

            if (single == null)
            {
                return(NotFound());
            }

            //Creo il contratto ed emetto
            var contract = ContractUtils.GenerateContract(single);

            return(Ok(contract));
        }
コード例 #2
0
        public static async Task <AudienceResponse> CaptureAudience(string location, byte[] image)
        {
            var post = new AudienceRequest();

            post.Image    = Convert.ToBase64String(image);
            post.Location = location;

            try
            {
                var json        = JsonConvert.SerializeObject(post);
                var httpContent = new StringContent(json, Encoding.UTF8, "application/json");

                return(await MakeRequest <AudienceResponse>(ProjectConfig.CaptureAudienceUrl, httpContent));
            }
            catch (Exception ex)
            {
                return(new AudienceResponse()
                {
                    Message = ex.Message,
                    ErrorCode = 1
                });
            }
        }