private row_data Set_Blocked_Color(row_data org, int month, string blocked_status)
        {
            row_data te = org;

            switch (month)
            {
            case 1:
            {
                te.v_Jan = ((blocked_status == "True") || (blocked_status == "TRUE")) ? Color.Red : Color.Green;
                break;
            }

            case 2:
            {
                te.v_Feb = ((blocked_status == "True") || (blocked_status == "TRUE")) ? Color.Red : Color.Green;
                break;
            }

            case 3:
            {
                te.v_Mar = ((blocked_status == "True") || (blocked_status == "TRUE")) ? Color.Red : Color.Green;
                break;
            }

            case 4:
            {
                te.v_Apr = ((blocked_status == "True") || (blocked_status == "TRUE")) ? Color.Red : Color.Green;
                break;
            }

            case 5:
            {
                te.v_May = ((blocked_status == "True") || (blocked_status == "TRUE")) ? Color.Red : Color.Green;
                break;
            }

            case 6:
            {
                te.v_Jun = ((blocked_status == "True") || (blocked_status == "TRUE")) ? Color.Red : Color.Green;
                break;
            }

            case 7:
            {
                te.v_Jul = ((blocked_status == "True") || (blocked_status == "TRUE")) ? Color.Red : Color.Green;
                break;
            }

            case 8:
            {
                te.v_Aug = ((blocked_status == "True") || (blocked_status == "TRUE")) ? Color.Red : Color.Green;
                break;
            }

            case 9:
            {
                te.v_Sep = ((blocked_status == "True") || (blocked_status == "TRUE")) ? Color.Red : Color.Green;
                break;
            }

            case 10:
            {
                te.v_Oct = ((blocked_status == "True") || (blocked_status == "TRUE")) ? Color.Red : Color.Green;
                break;
            }

            case 11:
            {
                te.v_Nov = ((blocked_status == "True") || (blocked_status == "TRUE")) ? Color.Red : Color.Green;
                break;
            }

            case 12:
            {
                te.v_Dec = ((blocked_status == "True") || (blocked_status == "TRUE")) ? Color.Red : Color.Green;
                break;
            }

            default:
                break;
            }
            return(te);
        }
        private void Show_Data()
        {
            string seperater = "\r\n";

            string[] str_array = m_data.ToString().Split(seperater.ToCharArray(), StringSplitOptions.RemoveEmptyEntries).ToArray();

            int  data_list_index = -1;
            var  data_list       = new List <row_data>();
            var  unique_list     = new List <string>();
            bool flag_is_blocked = false;

            foreach (string line in str_array.AsEnumerable().Skip(1).ToArray())
            {
                if (DateTime.Parse(line.Split(',')[3]).Year != DateTime.Now.Year)       //Only Get Current Year's data from .csv file
                {
                    continue;
                }
                string str_IMEI = line.Split(',')[1];
                if (!unique_list.Contains(str_IMEI))
                {
                    flag_is_blocked = false;
                    row_data te = new row_data();
                    te.v_IMEI  = line.Split(',')[1];
                    te.v_PHONE = line.Split(',')[2];

                    te = Set_Blocked_Color(te, DateTime.Parse(line.Split(',')[3]).Month, line.Split(',')[4]);
                    if ((line.Split(',')[4] == "True") || (line.Split(',')[4] == "TRUE"))
                    {
                        te.v_BLOCKED    = DateTime.Parse(line.Split(',')[3]).ToString("MMM yyyy");
                        flag_is_blocked = true;
                    }

                    te.v_SIM_BLOCK = (m_dict_IMEI_SIM.FirstOrDefault(x => x.Key == te.v_IMEI).Value == "True") ? true : false;

                    data_list_index++;
                    data_list.Add(te);
                    unique_list.Add(str_IMEI);
                }
                else
                {
                    data_list[data_list_index] = Set_Blocked_Color(data_list[data_list_index], DateTime.Parse(line.Split(',')[3]).Month, line.Split(',')[4]);
                    if (!flag_is_blocked)
                    {
                        if ((line.Split(',')[4] == "True") || (line.Split(',')[4] == "TRUE"))
                        {
                            data_list[data_list_index].v_BLOCKED = DateTime.Parse(line.Split(',')[3]).ToString("MMM yyyy");
                        }
                    }
                }
            }
            CellStyle checkbox_cellstyle = new CellStyle();

            checkbox_cellstyle.Padding = new CellPadding(60, 0, 0, 0);
            int i = 1;

            foreach (row_data row in data_list)
            {
                Row temp = new Row(new Cell[] { new Cell(i++), new Cell(row.v_IMEI), new Cell(row.v_PHONE), new Cell(row.v_Jan), new Cell(row.v_Feb), new Cell(row.v_Mar), new Cell(row.v_Apr), new Cell(row.v_May), new Cell(row.v_Jun), new Cell(row.v_Jul), new Cell(row.v_Aug), new Cell(row.v_Sep), new Cell(row.v_Oct), new Cell(row.v_Nov), new Cell(row.v_Dec), new Cell(row.v_BLOCKED), new Cell("", row.v_SIM_BLOCK, checkbox_cellstyle) });
                this.table.TableModel.Rows.Add(temp);
            }
            m_data_list = data_list;
        }