Garima Bansal

Garima Bansal

  • 1.1k
  • 547
  • 28.8k

value cannot be null. r nparameter name source

Feb 14 2024 7:41 AM

getting an null value in approved application:

public void Load_FullGrid()
{
    try
    {

        DatabaseContext db = new DatabaseContext();

        List<GridList> GVList = new List<GridList>();

        var _districts = db.Districts.Where(x => x.isActive == true).Select(x => new { Id = x.Id, Name = x.Name }).OrderBy(x => x.Name).ToList();

        DataTable _dt = new DataTable();
        _dt.Columns.Add("");
        _dt.Columns.Add("");


        foreach (var _dist in _districts)
        {
            _dt.Columns.Add("");
            _dt.Columns.Add("");
            _dt.Columns.Add("");
            _dt.Columns.Add("");
            _dt.Columns.Add("");
            _dt.Columns.Add("");
            _dt.Columns.Add("");
        }
        _dt.Columns.Add("");
        _dt.Columns.Add("");
        _dt.Columns.Add("");
        _dt.Columns.Add("");
        _dt.Columns.Add("");
        _dt.Columns.Add("");
        _dt.Columns.Add("");
        int i;
        i = 2;
        DataRow dr0 = _dt.NewRow();
        foreach (var _dist in _districts)
        {
            dr0[i] = _dist.Name;
            i = i + 7;
        }
        dr0[i] = "GRAND TOTAL";
        _dt.Rows.Add(dr0);

        DataRow dr1 = _dt.NewRow();

        i = 2;
        dr1[0] = "PROJECT";
        dr1[1] = "ACTIVITY";
        foreach (var _dist in _districts)
        {
            dr1[i + 0] = "TOTAL APPLICATIONS";
            dr1[i + 1] = "APPROVED APPLICATIONS";
            dr1[i + 2] = "REJECTED APPLICATIONS";
            dr1[i + 3] = "UNDER PROCESS APPLICATIONS";
            dr1[i + 4] = "BANK PENDING APPLICATIONS";
            dr1[i + 5] = "BRANCH PENDING APPLICATIONS";
            dr1[i + 6] = "BRANCH APPROVED APPLICATIONS";
            //i = i + 4;
            i = i + 7;
        }
        dr1[i + 0] = "TOTAL APPLICATIONS";
        dr1[i + 1] = "APPROVED APPLICATIONS";
        dr1[i + 2] = "REJECTED APPLICATIONS";
        dr1[i + 3] = "UNDER PROCESS APPLICATIONS";
        dr1[i + 4] = "BANK PENDING APPLICATIONS";
        dr1[i + 5] = "BRANCH PENDING APPLICATIONS";
        dr1[i + 6] = "BRANCH APPROVED APPLICATIONS";
        _dt.Rows.Add(dr1);

        var _activities = (from _activity in db.ProjectActivityMasters
                           join _project in db.Projects
                           on _activity.ProjectId equals _project.Id
                           where _activity.IsActive == true && (_activity.Role == null || _activity.ProjectId == 29) 
                           select new
                           {
                               Id = _activity.Id,
                               Activity = _activity.Name,
                               Project = _project.Name,
                               ProjectId = _project.Id
                           }).ToList().OrderBy(x => x.ProjectId).ThenBy(x => x.Activity);
        foreach (var _act in _activities)
        {
            int? a, u, r, t, bank_pending, branch_pending, branch_approved;
            a = 0;
            u = 0;
            r = 0;
            t = 0;
            bank_pending = 0;
            branch_pending = 0;
            branch_approved = 0;
            i = 1;
            DataRow dr = _dt.NewRow();
            dr[0] = _act.Project;
            dr[1] = _act.Activity;
            foreach (var _dist in _districts)
            {
                GridList _gv = new GridList();
                _gv.ActId = _act.Id;
                _gv.ActivityName = _act.Activity;
                _gv.ProjId = _act.ProjectId;
                _gv.ProjectName = _act.Project;
                _gv.DistId = _dist.Id;
                _gv.DistName = _dist.Name;

                var _data= (from _applications in db.ApplicationFormBase
                                join _activity in db.ProjectActivityMasters
                                on _applications.ProjectActivityMasterId equals _activity.Id
                                where _activity.Id == _act.Id && _activity.IsActive == true
                                && _applications.DistrictId == _dist.Id
                                select _applications
                                ).ToList();

                _gv.Approved = _data.Where(x => x.ApplicationStatus == "approved" && x.NextRole == "0").ToList().Count();
                _gv.Pending = _data.Where(x => (x.ApplicationStatus == "pending" && x.NextRole != "0") || (x.ApplicationStatus == "processing" && x.NextRole != "0")).ToList().Count();
                _gv.Rejected = _data.Where(x => x.ApplicationStatus == "rejected" && x.NextRole == "0").ToList().Count();

                //_gv.Approved = (from _applications in db.ApplicationFormBase
                //                join _activity in db.ProjectActivityMasters
                //                on _applications.ProjectActivityMasterId equals _activity.Id
                //                where _activity.Id == _act.Id && _activity.IsActive == true
                //                && _applications.ApplicationStatus == "approved" && _applications.NextRole == "0"
                //                && _applications.DistrictId == _dist.Id
                //                select _applications
                //                ).ToList().Count();


                //_gv.Pending = (from _applications in db.ApplicationFormBase
                //               join _activity in db.ProjectActivityMasters
                //               on _applications.ProjectActivityMasterId equals _activity.Id
                //               where _activity.Id == _act.Id && _activity.IsActive == true
                //               && (
                //                (_applications.ApplicationStatus == "pending" && _applications.NextRole != "0")
                //                ||
                //                (_applications.ApplicationStatus == "processing" && _applications.NextRole != "0")
                //                )
                //                && _applications.DistrictId == _dist.Id
                //               select _applications
                //                ).ToList().Count();

                //_gv.Rejected = (from _applications in db.ApplicationFormBase
                //                join _activity in db.ProjectActivityMasters
                //                on _applications.ProjectActivityMasterId equals _activity.Id
                //                where _activity.Id == _act.Id && _activity.IsActive == true
                //                && _applications.ApplicationStatus == "rejected" && _applications.NextRole == "0"
                //                && _applications.DistrictId == _dist.Id
                //                select _applications
                //                ).ToList().Count();

                _gv.Total = _data.ToList().Count();

                //_gv.Total = (from _applications in db.ApplicationFormBase
                //             join _activity in db.ProjectActivityMasters
                //             on _applications.ProjectActivityMasterId equals _activity.Id
                //             where _activity.Id == _act.Id && _activity.IsActive == true
                //                && _applications.DistrictId == _dist.Id
                //             select _applications
                //                ).ToList().Count();

                _gv.BankPending = _data.Where(x => x.ApplicationStatus == "approved" && x.NextRole == "bank").ToList().Count();

                //_gv.BankPending = (from _applications in db.ApplicationFormBase
                //                   join _activity in db.ProjectActivityMasters
                //                   on _applications.ProjectActivityMasterId equals _activity.Id
                //                   where _activity.Id == _act.Id && _activity.IsActive == true
                //                      && _applications.ApplicationStatus == "approved" && _applications.NextRole == "bank"
                //                && _applications.DistrictId == _dist.Id
                //                   select _applications
                //                ).ToList().Count();

                _gv.BankPending = _data.Where(x => x.ApplicationStatus == "approved" && x.NextRole == "branch").ToList().Count();

                //_gv.BranchPending = (from _applications in db.ApplicationFormBase
                //                     join _activity in db.ProjectActivityMasters
                //                     on _applications.ProjectActivityMasterId equals _activity.Id
                //                     where _activity.Id == _act.Id && _activity.IsActive == true
                //                        && _applications.ApplicationStatus == "approved" && _applications.NextRole == "branch"
                //                  && _applications.DistrictId == _dist.Id
                //                     select _applications
                //                ).ToList().Count();


                /////
                _gv.BranchApproved = (from _applications in db.ApplicationFormBase
                                      join _activity in db.ProjectActivityMasters
                                      on _applications.ProjectActivityMasterId equals _activity.Id
                                      join _tran in db.ApplicantRegistrationFormTransactions
                                      on _applications.BranchId equals _tran.LoginId
                                      where _activity.Id == _act.Id && _activity.IsActive == true && _tran.Action == "approved"
                                         && _applications.ApplicationStatus == "approved" && _applications.NextRole == "0"
                                   && _applications.DistrictId == _dist.Id
                                      select _applications
                                ).ToList().Count();

                ///

                a = a + _gv.Approved + _gv.BankPending + _gv.BranchPending;
                u = u + _gv.Pending;
                r = r + _gv.Rejected;
                t = t + _gv.Total;

                if (_gv.BankPending == null)
                    _gv.BankPending = 0;
                if (_gv.BranchPending == null)
                    _gv.BranchPending = 0;
                if (_gv.BranchApproved == null)
                    _gv.BranchApproved = 0;
              
                bank_pending = bank_pending + _gv.BankPending;
                branch_pending = branch_pending + _gv.BranchPending;
                branch_approved = branch_approved + _gv.BranchApproved;


                dr[i + 1] = _gv.Total;
                dr[i + 2] = _gv.Approved + _gv.BankPending + _gv.BranchPending;
                dr[i + 3] = _gv.Rejected;
                dr[i + 4] = _gv.Pending;
                dr[i + 5] = _gv.BankPending;
                dr[i + 6] = _gv.BranchPending;
                dr[i + 7] = _gv.BranchApproved;
                //dr[i + 8] = bank_pending+ branch_pending+ branch_approved;
                i = i + 7;
                GVList.Add(_gv);
            }
            dr[i + 1] = t;
            dr[i + 2] = a;
            dr[i + 3] = r;
            dr[i + 4] = u;
            dr[i + 5] = bank_pending;
            dr[i + 6] = branch_pending;
            dr[i + 7] = branch_approved;
            //dr[i + 8] = bank_pending + branch_pending + branch_approved;

            _dt.Rows.Add(dr);
        }
        if (GridView1.Rows.Count>0)
        {
            GridView1.DataSource = null;
            GridView1.DataBind();
        }
        GridView1.DataSource = _dt;
        GridView1.DataBind();
    }
    catch (Exception ex)
    {
        string s = ex.Message.ToString();
    }
}

 


Answers (1)