public static List <ChartDetails> GetChartData(string prj)
        {
            BLL_Dml _objbll = new BLL_Dml();

            _database _objdb = new _database
            {
                DBName = "DB_" + prj
            };
            _clscassheet _objcls = new _clscassheet
            {
                date    = DateTime.Today,
                b_zone  = "All",
                f_level = "All"
            };
            //DataSet ds = _objbll.GetDashBoardSummary(_objcls, _objdb);

            DataTable           ds       = (DataTable)(HttpContext.Current.Session["GetChartData"]);
            List <ChartDetails> dataList = new List <ChartDetails>();

            //int count = ds.Count;
            foreach (DataRow dr in ds.Rows)
            {
                ChartDetails details = new ChartDetails
                {
                    Label            = dr[0].ToString(),
                    GraphActualData  = Convert.ToDecimal(dr[1]),
                    GraphPlannedData = Convert.ToDecimal(dr[2])
                };
                dataList.Add(details);
            }
            return(dataList);
        }
        //public static List<ChartDetails> GetChartData(string prj)--For asynchronous method -By Jose Joseph on 04-07-2018
        public static async Task <List <ChartDetails> > GetChartData(string prj)
        {
            BLL_Dml _objbll = new BLL_Dml();

            _database _objdb = new _database
            {
                DBName = "DB_" + prj
            };
            _clscassheet _objcls = new _clscassheet
            {
                date    = DateTime.Today,
                b_zone  = "All",
                f_level = "All"
            };
            DataSet             ds       = _objbll.GetDashBoardSummary(_objcls, _objdb);
            List <ChartDetails> dataList = new List <ChartDetails>();
            int count = ds.Tables.Count;

            HttpContext.Current.Session["GetChartData"] = ds.Tables[count - 1];
            foreach (DataRow dr in ds.Tables[count - 1].Rows)
            {
                ChartDetails details = new ChartDetails
                {
                    Label           = dr["CAS_NAME"].ToString(),
                    GraphActualData = Convert.ToDecimal(dr["PROGRESS"]),
                    //GraphPlannedData = Convert.ToDecimal(dr[2])
                };
                dataList.Add(details);
            }
            await Task.Yield();

            return(dataList);
        }
        //public static List<List<ChartDetails>> GetCasDetails(string prj)
        public static async Task <List <List <ChartDetails> > > GetCasDetails(string prj)
        {
            BLL_Dml   _objbll = new BLL_Dml();
            _database _objdb  = new _database {
                DBName = "DB_" + prj
            };

            Load_Cassheet(_objdb.DBName);
            List <int> list = _dtCassheet.AsEnumerable().Where(x => (x.Field <int>("PRJ_CAS_ID") == 10 || x.Field <int>("PRJ_CAS_ID") == 20)).Select(dr => dr.Field <int>("PRJ_CAS_ID")).ToList();
            List <List <ChartDetails> > nestedlist = new List <List <ChartDetails> >();

            foreach (int i in list)
            {
                _clscassheet _objcls = new _clscassheet();
                _objcls.sch      = i;
                _objcls.b_zone   = "ALL";
                _objcls.cate     = "ALL";
                _objcls.f_level  = "ALL";
                _objcls.fed_from = "ALL";
                _objcls.loca     = "ALL";
                _objcls.build_id = 0;
                _objcls.mode     = 1;
                _objcls.date     = DateTime.Today;
                DataSet             _dt1      = _objbll.Generate_ProgressComparison_Graph(_objcls, _objdb);
                List <ChartDetails> datalist1 = new List <ChartDetails>();
                List <ChartDetails> datalist2 = new List <ChartDetails>();
                foreach (DataRow dr in _dt1.Tables[0].Rows)
                {
                    ChartDetails casdetails = new ChartDetails
                    {
                        Label = dr["PKG_NAME"].ToString(),
                        //GraphPlannedData = Convert.ToDecimal(dr["PCOMPROGRESS"]),
                        GraphActualData = Convert.ToDecimal(dr["Overall"]),
                    };
                    if (i == 10)
                    {
                        datalist1.Add(casdetails);
                    }
                    else if (i == 20)
                    {
                        datalist2.Add(casdetails);
                    }
                }
                if (i == 10)
                {
                    nestedlist.Add(datalist1);
                    HttpContext.Current.Session["GetCasDetails_1"] = _dt1.Tables[0];
                }
                else if (i == 20)
                {
                    nestedlist.Add(datalist2);
                    HttpContext.Current.Session["GetCasDetails_2"] = _dt1.Tables[0];
                }
            }
            await Task.Yield();

            return(nestedlist);
        }
Example #4
0
    public static List <ChartDetails> Getaverageweekly()
    {
        DataTable dt = WebService.Getdataactive();

        string[]  selectedColumns = new[] { "cases", "province" };
        DataTable dt1             = new DataView(dt).ToTable(false, selectedColumns);


        var data = dt1.AsEnumerable();

        var query = from d in data
                    group d by d.Field <string>("province") into g
                    select new
        {
            Prov = g.Key,
            Avg  = g.Average(e => (e.Field <long>("cases")))
        };

        DataTable dt2 = new DataTable();

        dt2.Columns.Add("Province");
        dt2.Columns.Add("Cases");
        foreach (var q in query)
        {
            DataRow dr = dt2.NewRow();
            dr["Province"] = q.Prov;
            dr["Cases"]    = q.Avg;
            dt2.Rows.Add(dr);
        }

        dt2.Rows[0]["Province"]  = "Alberta";
        dt2.Rows[1]["Province"]  = "British Columbia";
        dt2.Rows[2]["Province"]  = "Manitoba";
        dt2.Rows[3]["Province"]  = "New Brunswick";
        dt2.Rows[4]["Province"]  = "Newfoundland and Labrador";
        dt2.Rows[5]["Province"]  = "Nova Scotia";
        dt2.Rows[6]["Province"]  = "Nunavut";
        dt2.Rows[7]["Province"]  = "Northwest Territories";
        dt2.Rows[8]["Province"]  = "Ontario";
        dt2.Rows[9]["Province"]  = "Prince Edward Island";
        dt2.Rows[10]["Province"] = "Quebec";
        dt2.Rows[11]["Province"] = "Saskatchewan";
        dt2.Rows[12]["Province"] = "Yukon";


        List <ChartDetails> dataList = new List <ChartDetails>();

        foreach (DataRow dtrow in dt2.Rows)
        {
            ChartDetails details = new ChartDetails();
            details.province = dtrow[0].ToString();
            details.average  = Math.Ceiling(Convert.ToDecimal(dtrow[1].ToString()));
            dataList.Add(details);
        }

        return(dataList);
        //ScriptManager.RegisterStartupScript(this, this.GetType(), "average", "drawchart('" + dataList + "');", true);
    }
        public FileResult UniVariateChartByPerformance(string chartSize, string chartType, int graphic_id, int test_id, int?category_id, int?question_id)
        {
            Test         test = new TestsServices().GetById(test_id);
            ChartDetails cd   = new ChartDetails(chartSize, chartType, false, this.GetChartDetails(graphic_id, test_id), 2,
                                                 test.GetAvgAndMedByPerformanceEvaluations(category_id, question_id), test_id);
            MemoryStream ms = new MemoryStream();

            cd.chart.SaveImage(ms);
            return(new FileContentResult(ms.GetBuffer(), @"image/png"));
        }
        public static List <List <ChartDetails> > GetCasDetails(string prj)
        {
            //BLL_Dml _objbll = new BLL_Dml();
            //_database _objdb = new _database { DBName = "DB_" + prj };
            //Load_Cassheet(_objdb.DBName);
            //List<int> list = _dtCassheet.AsEnumerable().Where(x => (x.Field<int>("PRJ_CAS_ID") == 10 || x.Field<int>("PRJ_CAS_ID") == 20)).Select(dr => dr.Field<int>("PRJ_CAS_ID")).ToList();
            List <List <ChartDetails> > nestedlist = new List <List <ChartDetails> >();
            //foreach (int i in list)
            //{
            //    _clscassheet _objcls = new _clscassheet();
            //    _objcls.sch = i;
            //    _objcls.b_zone = "ALL";
            //    _objcls.cate = "ALL";
            //    _objcls.f_level = "ALL";
            //    _objcls.fed_from = "ALL";
            //    _objcls.loca = "ALL";
            //    _objcls.build_id = 0;
            //    _objcls.mode = 1;
            //    _objcls.date = DateTime.Today;
            //    DataSet _dt1 = _objbll.Generate_ProgressComparison_Graph(_objcls, _objdb);

            DataTable _dt1 = (DataTable)(HttpContext.Current.Session["GetCasDetails_1"]);

            List <ChartDetails> datalist1 = new List <ChartDetails>();

            foreach (DataRow dr in _dt1.Rows)
            {
                ChartDetails casdetails = new ChartDetails
                {
                    Label            = dr["PCKAGE"].ToString(),
                    GraphPlannedData = Convert.ToDecimal(dr["PCOMPROGRESS"]),
                    GraphActualData  = Convert.ToDecimal(dr["COMPROGRESS"]),
                };
                datalist1.Add(casdetails);
            }
            nestedlist.Add(datalist1);

            DataTable _dt2 = (DataTable)(HttpContext.Current.Session["GetCasDetails_2"]);

            List <ChartDetails> datalist2 = new List <ChartDetails>();

            foreach (DataRow dr in _dt2.Rows)
            {
                ChartDetails casdetails = new ChartDetails
                {
                    Label            = dr["PCKAGE"].ToString(),
                    GraphPlannedData = Convert.ToDecimal(dr["PCOMPROGRESS"]),
                    GraphActualData  = Convert.ToDecimal(dr["COMPROGRESS"]),
                };
                datalist2.Add(casdetails);
            }
            nestedlist.Add(datalist2);

            return(nestedlist);
        }
        public FileResult UniVariateChartByState(string chartSize, string chartType, int country_id, int test_id, int?category_id, int?question_id)
        {
            Test         test = new TestsServices().GetById(test_id);
            ChartDetails cd   = new ChartDetails(chartSize, chartType, false, this.GetChartDetails(12, 13), 2,
                                                 test.GetAvgAndMedByStates(null, null, country_id), test_id);

            MemoryStream ms = new MemoryStream();

            cd.chart.SaveImage(ms);
            return(new FileContentResult(ms.GetBuffer(), @"image/png"));
        }
Example #8
0
    public static List <ChartDetails> Getcombo(string Prov)
    {
        DataTable dt3 = null;

        if (HttpContext.Current.Session["getcombo"] != null)
        {
            dt3 = (DataTable)HttpContext.Current.Session["getcombo"];
        }
        else
        {
            DataTable dt2 = WebService.getmortality();
            string[]  selectedColumns2 = new[] { "deaths", "date_death_report", "province" };
            dt3 = new DataView(dt2).ToTable(false, selectedColumns2);
        }

        dt3 = dt3.Select("province = '" + Prov + "'", "date_death_report ASC").CopyToDataTable();



        var temp2 = dt3.AsEnumerable().OrderBy(x => DateTime.ParseExact(x.Field <string>("date_death_report"), "dd-MM-yyyy", CultureInfo.InvariantCulture))
                    .GroupBy(grp => new { Month = Convert.ToDateTime(grp["date_death_report"]).Month })
                    .Select(val =>
        {
            var row = dt3.NewRow();

            row["deaths"]            = val.Sum(amt => Convert.ToDecimal(amt["deaths"]));
            row["date_death_report"] = val.FirstOrDefault()["date_death_report"];
            return(row);
        }
                            )
                    .CopyToDataTable();



        List <ChartDetails> dataList = new List <ChartDetails>();

        foreach (DataRow dtrow in temp2.Rows)
        {
            ChartDetails details = new ChartDetails();
            details.deaths = Convert.ToDecimal(dtrow[0].ToString());
            details.date   = Convert.ToDateTime(dtrow[1].ToString()).ToString("MMM");
            dataList.Add(details);
        }

        var data1 = JsonConvert.SerializeObject(dataList);

        return(dataList);
        //ScriptManager.RegisterStartupScript(this, this.GetType(), "active", "active('"+data1+"');", true);
    }
Example #9
0
        // Line Chart Ajax
        public async Task <ActionResult> GetLineChart(LineChartModel model)
        {
            try
            {
                db = new ChartsDatabaseManager();
                var response = new LineChartDataModel();
                var details  = new ChartDetails();
                response.Result = await db.GetLineChartMeters(details, model.From, model.To, model.period, model.Ids);

                response.Details = details;
                return(Json(response, JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                return(Json(ex, JsonRequestBehavior.AllowGet));
            }
        }
        //public static List<List<ChartDetails>> GetCasDetails(string prj)
        public static async Task <List <List <ChartDetails> > > GetCasDetails(string prj)
        {
            List <List <ChartDetails> > nestedlist = new List <List <ChartDetails> >();
            DataTable _dt1 = (DataTable)(HttpContext.Current.Session["GetCasDetails_1"]);

            List <ChartDetails> datalist1 = new List <ChartDetails>();

            foreach (DataRow dr in _dt1.Rows)
            {
                ChartDetails casdetails = new ChartDetails
                {
                    Label = dr["PKG_NAME"].ToString(),
                    //GraphPlannedData = Convert.ToDecimal(dr["PCOMPROGRESS"]),
                    GraphActualData = Convert.ToDecimal(dr["Overall"]),
                };
                datalist1.Add(casdetails);
            }
            nestedlist.Add(datalist1);

            DataTable _dt2 = (DataTable)(HttpContext.Current.Session["GetCasDetails_2"]);

            List <ChartDetails> datalist2 = new List <ChartDetails>();

            foreach (DataRow dr in _dt2.Rows)
            {
                ChartDetails casdetails = new ChartDetails
                {
                    Label = dr["PKG_NAME"].ToString(),
                    //GraphPlannedData = Convert.ToDecimal(dr["PCOMPROGRESS"]),
                    GraphActualData = Convert.ToDecimal(dr["Overall"]),
                };
                datalist2.Add(casdetails);
            }
            nestedlist.Add(datalist2);


            await Task.Yield();

            return(nestedlist);
        }
Example #11
0
    public static List <ChartDetails> getgeomapdata()
    {
        DataTable dt = WebService.getgeomap();

        string[]  selectedColumns = new[] { "active_cases", "province", "date_active" };
        DataTable dt1             = new DataView(dt).ToTable(false, selectedColumns);

        dt1.Rows[0]["province"]  = "Alberta";
        dt1.Rows[1]["province"]  = "British Columbia";
        dt1.Rows[2]["province"]  = "Manitoba";
        dt1.Rows[3]["province"]  = "New Brunswick";
        dt1.Rows[4]["province"]  = "Newfoundland and Labrador";
        dt1.Rows[5]["province"]  = "Nova Scotia";
        dt1.Rows[6]["province"]  = "Nunavut";
        dt1.Rows[7]["province"]  = "Northwest Territories";
        dt1.Rows[8]["province"]  = "Ontario";
        dt1.Rows[9]["province"]  = "Prince Edward Island";
        dt1.Rows[10]["province"] = "Quebec";
        dt1.Rows[11]["province"] = "Saskatchewan";
        dt1.Rows[12]["province"] = "Yukon";
        dt1.Rows[13]["province"] = "Repatriated Travellers";

        List <ChartDetails> dataList = new List <ChartDetails>();

        foreach (DataRow dtrow in dt1.Rows)
        {
            ChartDetails details = new ChartDetails();
            details.cases    = Convert.ToDecimal(dtrow[0].ToString());
            details.province = (dtrow[1].ToString());
            details.date1    = Convert.ToInt32(Convert.ToDateTime(dtrow[2].ToString()).ToString("dd"));
            dataList.Add(details);
        }
        var data1 = JsonConvert.SerializeObject(dataList);

        return(dataList);
    }
Example #12
0
        public static Journey_Transaction GetTransactions(string JourneyId, string StageId, int id)
        {
            //List<Patient_Journey_Strategic_Moment> listStrategic = new List<Patient_Journey_Strategic_Moment>();
            List <Journey_Transaction> listTransactions   = new List <Journey_Transaction>();
            Journey_Transaction        patienttransaction = new Journey_Transaction();

            patienttransaction.PatientStageId = Convert.ToInt32(StageId);

            var transaction = dbPatientAdministration.GetTransactions(Convert.ToInt32(StageId));

            //List<List<Patient_Journey_Transactions>> StrategicOutcome = dbPatientJourney.GetSMOMTransactions(Convert.ToInt32(StageId), Convert.ToInt32(JourneyId), out listStrategic);

            List <Journey_Transaction_Details> listTransactionsDetails = new List <Journey_Transaction_Details>();

            for (int i = 0; i < transaction.Count; i++)
            {
                List <ChartDetails>       chartDetailsList   = new List <ChartDetails>();
                List <StrategicMomentAll> strategicMomentAll = new List <StrategicMomentAll>();
                //StrategicMomentAll strategicdata = null;

                Journey_Transaction_Details Journey_Transaction_Details = new Journey_Transaction_Details();
                Journey_Transaction_Details.PatientJourneyTransactionId = transaction[i].Patient_Journey_Transactions_Id;
                Journey_Transaction_Details.PatientStageId         = Convert.ToInt32(transaction[i].Patient_Journey_Stages_Id);
                Journey_Transaction_Details.PatientJourneyId       = Convert.ToInt32(transaction[i].Patient_Journey_Id);
                Journey_Transaction_Details.TransactionMasterId    = Convert.ToInt32(transaction[i].Transaction_Master_Id);
                Journey_Transaction_Details.ImageMasterId          = dbPatientAdministration.GetImageMasterID(Journey_Transaction_Details.TransactionMasterId);
                Journey_Transaction_Details.ImagePath              = dbPatientAdministration.GetImagePath(Journey_Transaction_Details.ImageMasterId);
                Journey_Transaction_Details.TransactionTitle       = transaction[i].Transaction_Title;
                Journey_Transaction_Details.LocationId             = Convert.ToInt32(transaction[i].Transaction_Location_Master_Id);
                Journey_Transaction_Details.LocationName           = transaction[i].Transaction_Location_Title;
                Journey_Transaction_Details.TransactionDescription = transaction[i].Description;
                Journey_Transaction_Details.DisplayOrder           = Convert.ToInt32(transaction[i].Transaction_Display_Order);
                Journey_Transaction_Details.HCPDescription         = transaction[i].HCP_Description;
                Journey_Transaction_Details.HCPRating              = transaction[i].HCP_Rating;
                Journey_Transaction_Details.PatientDescription     = transaction[i].Patient_Description;
                Journey_Transaction_Details.PatientRating          = transaction[i].Patient_Rating;
                Journey_Transaction_Details.PayerDescription       = transaction[i].Payer_Description;
                Journey_Transaction_Details.PayerRating            = transaction[i].Payer_Rating;
                Journey_Transaction_Details.FeasibilityDescription = transaction[i].Feasibility_Description;
                Journey_Transaction_Details.FeasibilityRating      = transaction[i].Feasibility_Rating;
                Journey_Transaction_Details.ViabilityDescription   = transaction[i].Viability_Description;
                Journey_Transaction_Details.ViabilityRating        = transaction[i].Viability_Rating;

                for (int k = 0; k < 10; k++)
                {
                    ChartDetails _ChartDetails = new ChartDetails();

                    if (k == Journey_Transaction_Details.PatientRating)
                    {
                        _ChartDetails.DotColor   = "#0019a2";
                        _ChartDetails.LineHeight = "15px";
                        _ChartDetails.MarginLeft = "12px";
                        _ChartDetails.FontSize   = "40px";
                        chartDetailsList.Add(_ChartDetails);
                    }

                    else if (k == Journey_Transaction_Details.HCPRating)
                    {
                        _ChartDetails.DotColor   = "#f44336";
                        _ChartDetails.LineHeight = "15px";
                        _ChartDetails.MarginLeft = "12px";
                        _ChartDetails.FontSize   = "40px";
                        chartDetailsList.Add(_ChartDetails);
                    }

                    else if (k == Journey_Transaction_Details.PayerRating)
                    {
                        _ChartDetails.DotColor   = "#4caf50";
                        _ChartDetails.LineHeight = "15px";
                        _ChartDetails.MarginLeft = "12px";
                        _ChartDetails.FontSize   = "40px";
                        chartDetailsList.Add(_ChartDetails);
                    }

                    else
                    {
                        _ChartDetails.DotColor   = "#ccc";
                        _ChartDetails.LineHeight = "15px";
                        _ChartDetails.MarginLeft = null;
                        _ChartDetails.FontSize   = null;
                        chartDetailsList.Add(_ChartDetails);
                    }
                }
                Journey_Transaction_Details.ChartDetails = chartDetailsList;

                //var stagesAll = dbPatientAdministration.GetPatientJourneyStages();
                //var transactionAll = dbPatientAdministration.GetPatientJourneyTransactions();

                //if (StrategicOutcome != null)
                //{
                //    for (int j = 0; j < StrategicOutcome.Count; j++)
                //    {
                //        if (StrategicOutcome[j].Exists(x => x.Patient_Journey_Transactions_Id == transaction[i].Patient_Journey_Transactions_Id))
                //        {
                //            strategicdata = new StrategicMomentAll();
                //            strategicdata.IsStrategic = 1;
                //            strategicdata.SMOMDescription = listStrategic[j].Description;
                //            strategicdata.SMOMCategory = listStrategic[j].Category;
                //            if (listStrategic[j].Category == "HCP") { strategicdata.SMOMColor = "#ef8de3"; }
                //            else if (listStrategic[j].Category == "Patient") { strategicdata.SMOMColor = "#92dead"; }
                //            else if (listStrategic[j].Category == "Payer") { strategicdata.SMOMColor = "#d2cf70"; }
                //            strategicdata.StartStage = stagesAll.Where(x => x.Patient_Journey_Stages_Id == listStrategic[j].Patient_Journey_Start_Stage_Id).FirstOrDefault().Stage_Title;
                //            strategicdata.EndStage = stagesAll.Where(x => x.Patient_Journey_Stages_Id == listStrategic[j].Patient_Journey_End_Stage_Id).FirstOrDefault().Stage_Title;
                //            strategicdata.StartTransaction = transactionAll.Where(x => x.Patient_Journey_Transactions_Id == listStrategic[j].Patient_Journey_Start_Transaction_Id).FirstOrDefault().Transaction_Title;
                //            strategicdata.EndTransaction = transactionAll.Where(x => x.Patient_Journey_Transactions_Id == listStrategic[j].Patient_Journey_End_Transaction_Id).FirstOrDefault().Transaction_Title;
                //            strategicMomentAll.Add(strategicdata);
                //        }
                //        else
                //        {
                //            strategicdata = new StrategicMomentAll();
                //            strategicdata.SMOMColor = (id % 2 == 1) ? "rgba(204, 204, 204, 0)" : "rgba(158, 158, 158, 0)";
                //            strategicdata.IsStrategic = 0;
                //            strategicMomentAll.Add(strategicdata);
                //        }
                //    }
                //}
                //else
                //{
                //    strategicdata = new StrategicMomentAll();
                //    strategicdata.SMOMColor = (id % 2 == 1) ? "rgba(204, 204, 204, 0)" : "rgba(158, 158, 158, 0)";
                //    strategicdata.IsStrategic = 0;
                //    strategicMomentAll.Add(strategicdata);
                //}
                //Journey_Transaction_Details.StrategicMomentAll = strategicMomentAll;
                listTransactionsDetails.Add(Journey_Transaction_Details);
            }
            patienttransaction.TransactionsDetails = listTransactionsDetails;

            return(patienttransaction);
        }
Example #13
0
    public static List <ChartDetails> getactive(string Prov)
    {
        DataTable dt1 = null;
        DataTable dt3 = null;

        if (HttpContext.Current.Session["getactive1"] != null && HttpContext.Current.Session["getactive2"] != null)
        {
            dt1 = (DataTable)HttpContext.Current.Session["getactive1"];
            dt3 = (DataTable)HttpContext.Current.Session["getactive2"];
        }
        else
        {
            DataTable dt = WebService.Getdataactiveprov();
            string[]  selectedColumns = new[] { "cases", "date_report", "province" };
            dt1 = new DataView(dt).ToTable(false, selectedColumns);

            DataTable dt2 = WebService.getrecovered();
            string[]  selectedColumns2 = new[] { "recovered", "date_recovered", "province" };
            dt3 = new DataView(dt2).ToTable(false, selectedColumns2);

            HttpContext.Current.Session["getactive1"] = dt1;
            HttpContext.Current.Session["getactive2"] = dt3;
        }

        dt1 = dt1.Select("province = '" + Prov + "'", "date_report ASC").CopyToDataTable();
        dt3 = dt3.Select("province = '" + Prov + "'", "date_recovered ASC").CopyToDataTable();


        var temp = dt1.AsEnumerable().OrderBy(x => DateTime.ParseExact(x.Field <string>("date_report"), "dd-MM-yyyy", CultureInfo.InvariantCulture))
                   .GroupBy(grp => new { Month = Convert.ToDateTime(grp["date_report"]).Month })
                   .Select(val =>
        {
            var row = dt1.NewRow();

            row["cases"]       = val.Sum(amt => Convert.ToDecimal(amt["cases"]));
            row["date_report"] = val.FirstOrDefault()["date_report"];
            return(row);
        }
                           )
                   .CopyToDataTable();

        var temp2 = dt3.AsEnumerable().OrderBy(x => DateTime.ParseExact(x.Field <string>("date_recovered"), "dd-MM-yyyy", CultureInfo.InvariantCulture))
                    .GroupBy(grp => new { Month = Convert.ToDateTime(grp["date_recovered"]).Month })
                    .Select(val =>
        {
            var row = dt3.NewRow();

            row["recovered"]      = val.Sum(amt => Convert.ToDecimal(amt["recovered"]));
            row["date_recovered"] = val.FirstOrDefault()["date_recovered"];
            return(row);
        }
                            )
                    .CopyToDataTable();

        temp.Columns.Add("recovered");
        for (int i = 0; i < temp2.Rows.Count; i++)
        {
            temp.Rows[i]["recovered"] = temp2.Rows[i]["recovered"];
        }
        List <ChartDetails> dataList = new List <ChartDetails>();



        foreach (DataRow dtrow in temp.Rows)
        {
            ChartDetails details = new ChartDetails();
            details.cases     = Convert.ToDecimal(dtrow[0].ToString());
            details.recovered = Convert.ToDecimal(dtrow[3].ToString());

            details.date = (Convert.ToDateTime(dtrow[1].ToString()).ToString("MMM"));
            dataList.Add(details);
        }

        var data1 = JsonConvert.SerializeObject(dataList);

        return(dataList);
        //ScriptManager.RegisterStartupScript(this, this.GetType(), "active", "active('"+data1+"');", true);
    }