Microsoft Dot Net Master

Microsoft Dot Net Master
Microsoft Dot Net Master

Tuesday, December 28, 2021

How to show json data in flatlist in react native

 1. Create json data. Format is given below


    JsonData.json


[
    {
        "id" : 1,
        "FirstName" : "Sandeep",
        "LastName" : "Rauniyar",
        "DOB" : "4-7-1990",
        "CovidVaccine" : "Pfizer BioNTech",
        "FirstDose" : "EN6888",
        "SecondDose" : "ER8861",
        "image": "https://bootdey.com/img/Content/avatar/avatar1.png"
    },
    {
        "id" : 2,
        "FirstName" : "Mukesh",
        "LastName" : "Verma",
        "DOB" : "10/29/1995",
        "CovidVaccine" : "JANSSEN",
        "FirstDose" : "2030020",
        "SecondDose" : "",
        "image": "https://bootdey.com/img/Content/avatar/avatar2.png"
    }
]


2. import JsonData.json

import PostData from "../Data/JsonData.json";


3. Set data


    const [data, setData] = useState(PostData.filter(item=>item.id ==1 ));
 


4. 


<FlatList
   data={data}
   keyExtractor= {(item) => {
   return item.id;
   }}
   renderItem={({item}) => {
   return (
     <View>
        <View style={styles.box}>
           <Image style={styles.icon1} source={{uri: item.image}} />
           <View style={styles.boxContent}>
           <Text style={styles.title}>First Name : {item.FirstName}</Text>
            <Text style={styles.description}>Last Name :  {item.LastName}</Text>
            <Text style={styles.description}>DOB :  {item.DOB}</Text>
        <Text style={styles.description}>Covid-19 Vaccine : {item.CovidVaccine}</Text>   
             </View>
                </View>
             
            </View>
          )
        }}/>







Tuesday, December 21, 2021

new NativeEventEmitter()` was called with a non-null argument without the required `addListener` method

 To fix, add this to RNFSManager.java


// Required for rn built in EventEmitter Calls.
    @ReactMethod
    public void addListener(String eventName) {

    }

    @ReactMethod
    public void removeListeners(Integer count) {

    }

Example: for fix warning in react-native-fs add functions to 
node_modules\react-native-fs\android\src\main\java\com\rnfs\RNFSManager.java file.
Snapshots is given below.





Thursday, December 16, 2021

Log message Request and Response in ASP.NET WebAPI

There are multiple approaches to generically handle Request/Response logging for every WebAPI method calls:

1.    ActionFilterAttribute: One can write custom ActionFilterAttribute and decorate the controller/action methods to enable logging.

Con: You need to decorate every controller/methods (still you can do it on base controller, but still it doesn't address cross cutting concerns.

2.    Override BaseController and handle logging there.

Con: We are expecting/forcing the controllers to inherit from a custom base controller.

3.    Using DelegatingHandler.

Advantage: We are not touching controller/method here with this approach. Delegating handler sits in isolation and gracefully handles the request/response logging.



I would recommend using a DelegatingHandler. Then you will not need to worry about any logging code in your controllers.

public class LogRequestAndResponseHandler : DelegatingHandler
{
    protected override async Task<HttpResponseMessage> SendAsync(
        HttpRequestMessage request, CancellationToken cancellationToken)
    {
        if (request.Content != null)
        {
            // log request body
            string requestBody = await request.Content.ReadAsStringAsync();
            Trace.WriteLine(requestBody);
        }
        // let other handlers process the request
        var result = await base.SendAsync(request, cancellationToken);

        if (result.Content != null)
        {
            // once response body is ready, log it
            var responseBody = await result.Content.ReadAsStringAsync();
            Trace.WriteLine(responseBody);
        }

        return result;
    }
}

Just replace Trace.WriteLine with your logging code and register the handler in WebApiConfig like this:



For more indepth article, refer this http://weblogs.asp.net/fredriknormen/log-message-request-and-response-in-asp-net-webapi