public override RecyclerView.ViewHolder OnCreateViewHolder(ViewGroup parent, int viewType)
        {
            View itemView = LayoutInflater.From(parent.Context).
                            Inflate(Resource.Layout.alert_item, parent, false);
            AlertViewHolder vhAlerts = new AlertViewHolder(itemView);

            return(vhAlerts);
        }
        public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
        {
            AlertViewHolder vhAlerts = holder as AlertViewHolder;

            vhAlerts.textViewAlert.Text = mAlertModels[position].Alert_Desc;
            vhAlerts.textViewClass.Text = mAlertModels[position].Class_Desc;

            string dt = GetFormatedDate(mAlertModels[position].Timestamp);

            if (dt == null)
            {
                dt = mAlertModels[position].Timestamp;
            }
            vhAlerts.textViewTime.Text = dt;
            vhAlerts.alertId           = mAlertModels[position].Alert_Id;
            if (!isAcknowledgementEnabled || mAlertModels[position].Is_Acknowledged)
            {
                vhAlerts.textViewAck.Visibility = ViewStates.Gone;
                vhAlerts.divider.Visibility     = ViewStates.Gone;
            }
            else
            {
                vhAlerts.textViewAck.Click += async delegate
                {
                    vhAlerts.textViewAck.SystemUiVisibility = StatusBarVisibility.Hidden;
                    vhAlerts.textViewAck.Visibility         = ViewStates.Gone;
                    vhAlerts.textViewAck.Text = string.Empty;
                    AlertAcknowledgeModel ackModel = new AlertAcknowledgeModel();
                    ackModel.Alert_Id        = vhAlerts.alertId;
                    ackModel.Acknowledged_By = PreferenceHandler.GetUserDetails().FirstName + " " + PreferenceHandler.GetUserDetails().LastName;

                    vhAlerts.textViewAck.SaveEnabled = false;
                    vhAlerts.textViewAck.SetTextColor(Color.LightGray);
                    mAlertModels[position].Is_Acknowledged = true;

                    bool isNetworkEnabled = Utils.Utils.IsNetworkEnabled(mContext);
                    if (isNetworkEnabled)
                    {
                        var restResponse = await AcknowledgeAlert(ackModel);

                        if (restResponse.StatusCode != 0)
                        {
                            Log.Debug(TAG, "async Response : " + restResponse.ToString());
                            if (restResponse != null && restResponse.StatusCode == System.Net.HttpStatusCode.OK && restResponse.Content != null)
                            {
                                Log.Debug(TAG, restResponse.Content.ToString());
                                string strContent = await restResponse.Content.ReadAsStringAsync();

                                AlertAcknowledgementResponseModel responseAlert = JsonConvert.DeserializeObject <AlertAcknowledgementResponseModel>(strContent);

                                if (responseAlert.Status_Code != Constants.STATUS_CODE_SUCCESS)
                                {
                                    Log.Debug(TAG, "Acknowledged Failed");
                                    Utils.Utils.ShowToast(mContext, "Failed to Acknowledged. Please try later !");
                                }
                            }
                            else
                            {
                                Log.Debug(TAG, "acknowledgeAlertResponse() Failed");
                                Utils.Utils.ShowToast(mContext, "Failed to Acknowledged. Please try later !");
                            }
                        }
                        else
                        {
                            vhAlerts.textViewAck.Visibility = ViewStates.Visible;
                        }
                    }
                    else
                    {
                        Utils.Utils.ShowToast(mContext, "Please enable your internet connection !");
                    }
                };
            }
        }