示例#1
0
        public async Task <IActionResult> GetItem(int?id)
        {
            var response = await _getItem.GetItems(id);

            //var service = new InvoiceService();
            //service.Get(response.Items);

            return(Ok(response));
        }
        public async Task <JsonResult> GetItems([FromQuery] int?id, string replydatetime)
        {
            Item item = new Item();

            item.Id            = id.Value;
            item.ReplyDateTime = replydatetime;
            var jsonResult = await _getItem.GetItems <Item>(item, Item.nomeTabela);

            return(Json(jsonResult));
        }
        public async Task <JsonResult> GetItems([FromQuery] int?codigo, string uf)
        {
            Item item = new Item();

            item.Codigo = codigo.Value;
            item.UF     = uf;
            var jsonResult = await _getItem.GetItems <Item>(item, Item.nomeTabela);

            return(Json(jsonResult));
        }
        public async Task <UpdateItemResponse> UpdateItems <T>(T tabelaInterna, string nomeTabela)
        {
            tableUpdate = Table.LoadTable(_dynamoDbClient, nomeTabela);
            DynamoDBContext db          = new DynamoDBContext(_dynamoDbClient);
            var             respostaGet = await _getItem.GetItems(tabelaInterna, nomeTabela);

            Document documentResponseGet   = Document.FromJson(respostaGet);
            Document documentRequestUpdate = db.ToDocument(tabelaInterna);

            //Variaveis internas
            List <String> keyUpdate = new List <string>();
            Dictionary <string, AttributeValueUpdate> valoresUpdate = new Dictionary <string, AttributeValueUpdate>();

            //Veriricar quais elementos deverão ser modificados para o update
            foreach (var i in documentResponseGet)
            {
                foreach (var j in documentRequestUpdate)
                {
                    if (i.Key == j.Key)
                    {
                        if (i.Value.ToString() != j.Value.ToString())
                        {
                            var valor = j.Value;
                            //valor
                            keyUpdate.Add(j.Key.ToString());
                        }
                    }
                }
            }

            chaveUpdate = tableUpdate.ToAttributeMap(documentRequestUpdate);

            foreach (var item in keyUpdate)
            {
                foreach (var chave in chaveUpdate)
                {
                    if (item == chave.Key)
                    {
                        AttributeValueUpdate valorUpdate = new AttributeValueUpdate(chave.Value, "PUT");
                        valoresUpdate.Add(chave.Key, valorUpdate);
                    }
                }
            }

            chaveUpdate = Utils.VerificarChaves(chaveUpdate, tableUpdate);

            var response = await _dynamoDbClient.UpdateItemAsync(nomeTabela, chaveUpdate, valoresUpdate, cancellationToken);

            db.Dispose();
            return(response);
        }
示例#5
0
        public async Task <Item> DeleteItems(int id)
        {
            var deleteItem        = _getItem.GetItems(id);
            var registerDateTime  = deleteItem.Result.Items.Select(x => x.RegisterDateTime).FirstOrDefault();
            var deleteItemRequest = DeleteItemRequest(id, registerDateTime);
            var response          = await _amazonDynamoDB.DeleteItemAsync(deleteItemRequest);

            return(new Item
            {
                Id = Convert.ToInt32(response.Attributes["Id"].N),
                Price = Convert.ToDouble(response.Attributes["Price"].N),
                RegisterDateTime = response.Attributes["RegisterDateTime"].N
            });
        }
示例#6
0
        public async Task <Item> Update(int id, double price)
        {
            var response = await _getItem.GetItems(id);

            var currentPrice  = response.Items.Select(p => p.Price).FirstOrDefault();
            var replyDateTime = response.Items.Select(p => p.ReplyDateTime).FirstOrDefault();
            var request       = RequestBuilder(id, price, currentPrice, replyDateTime);
            var result        = await UpdateItemAsync(request);

            return(new Item
            {
                Id = Convert.ToInt32(result.Attributes["Id"].N),
                ReplyDateTime = result.Attributes["ReplyDateTime"].N,
                Price = Convert.ToDouble(result.Attributes["Price"].N)
            });
        }
示例#7
0
        public async Task <Item> UpdateItems(int id, double price)
        {
            var response         = _getItem.GetItems(id);
            var currentPrice     = response.Result.Items.Select(z => z.Price).FirstOrDefault();
            var registerDateTime = response.Result.Items.Select(z => z.RegisterDateTime).FirstOrDefault();
            var request          = GetUpdateItemRequest(id, currentPrice, registerDateTime, price);

            var client = new AmazonDynamoDBClient();
            var result = await UpdateItemAsyns(request);

            return(new Item
            {
                Id = Convert.ToInt32(result.Attributes["Id"].N),
                Price = Convert.ToDouble(result.Attributes["Price"].N),
                RegisterDateTime = result.Attributes["RegisterDateTime"].N.ToString()
            });
        }
        public async Task <IActionResult> GetItems([FromQuery] int?id)
        {
            var response = await _getItem.GetItems(id);

            return(Ok(response));
        }