public virtual ActionResult AccountOfficersList(DataSourceRequest command, AccountOfficerModel model, string sort, string sortDir)
        {
            var items = _dqQueService.GetAllAccountOfficers(model.SearchName, model.ACCOUNT_NAME, model.SOL_ID, command.Page - 1, command.PageSize, string.Format("{0} {1}", sort, sortDir));
            //var logItems = _logger.GetAllLogs(createdOnFromValue, createdToFromValue, model.Message,
            //    logLevel, command.Page - 1, command.PageSize);
            DateTime _today    = DateTime.Now.Date;
            var      gridModel = new DataSourceResult
            {
                Data = items.Select(x => new AccountOfficerModel
                {
                    Id             = x.ID,
                    ACCOUNT_NUMBER = x.ACCOUNT_NUMBER,
                    ACCOUNT_NAME   = x.ACCOUNT_NAME,
                    SOL_ID         = x.SOL_ID,
                    BRANCH         = x.BRANCH,
                    SCHM_CODE      = x.SCHM_CODE,
                    ACCT_OPN_DATE  = x.ACCT_OPN_DATE,
                    AO_CODE        = x.AO_CODE,
                    AO_NAME        = x.AO_NAME,
                    SBU_CODE       = x.SBU_CODE,
                    SBU_NAME       = x.SBU_NAME,
                    BROKER_CODE    = x.BROKER_CODE,
                    BROKER_NAME    = x.BROKER_NAME,
                    RUN_DATE       = x.RUN_DATE,
                }),
                Total = items.TotalCount
            };

            return(Json(gridModel));
        }
        public virtual ActionResult ExportExcelAll(AccountOfficerModel model)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(AccessDeniedView());
            }
            var items = _dqQueService.GetAllAccountOfficers(model.SearchName, model.AO_NAME, model.SOL_ID);

            try
            {
                byte[] bytes = _exportManager.ExportDocumentsToXlsx(items);
                identity = ((CustomPrincipal)User).CustomIdentity;
                _messagingService.SaveUserActivity(identity.ProfileId, "Downloaded Account With No AO Codes Report", DateTime.Now);
                return(File(bytes, MimeTypes.TextXlsx, "accountOfficers.xlsx"));
            }
            catch (Exception exc)
            {
                ErrorNotification(exc);
                return(RedirectToAction("List"));
            }
        }
        public ActionResult List()
        {
            var model = new AccountOfficerModel();

            if (!User.Identity.IsAuthenticated)
            {
                return(AccessDeniedView());
            }

            identity           = ((CustomPrincipal)User).CustomIdentity;
            _permissionservice = new PermissionsService(identity.Name, identity.UserRoleId);

            IQueryable <CM_BRANCH> curBranchList = db.CM_BRANCH.OrderBy(x => x.BRANCH_NAME); //.Where(a => a.BRANCH_ID == identity.BranchId);

            if (_permissionservice.IsLevel(AuthorizationLevel.Enterprise))
            {
            }
            else if (_permissionservice.IsLevel(AuthorizationLevel.Regional))
            {
                curBranchList = curBranchList.Where(a => a.REGION_ID == identity.RegionId);
            }
            else if (_permissionservice.IsLevel(AuthorizationLevel.Zonal))
            {
                curBranchList = curBranchList.Where(a => a.ZONECODE == identity.ZoneId).OrderBy(a => a.BRANCH_NAME);
            }
            else if (_permissionservice.IsLevel(AuthorizationLevel.Branch))
            {
                curBranchList = curBranchList.Where(a => a.BRANCH_ID == identity.BranchId).OrderBy(a => a.BRANCH_NAME);
            }
            else
            {
                curBranchList = curBranchList.Where(a => a.BRANCH_ID == "-1");
            }

            model.Branches = new SelectList(curBranchList, "BRANCH_ID", "BRANCH_NAME").ToList();


            if (_permissionservice.IsLevel(AuthorizationLevel.Enterprise))
            {
                model.Branches.Add(new SelectListItem
                {
                    Value    = "0",
                    Text     = "All",
                    Selected = true
                });
            }

            model.AccountOfficers.Add(new SelectListItem
            {
                Value = "2",
                Text  = "Vacant"
            });

            model.AccountOfficers.Add(new SelectListItem
            {
                Value = "1",
                Text  = "None"
            });

            model.AccountOfficers.Add(new SelectListItem
            {
                Value    = "0",
                Text     = "All",
                Selected = true
            });

            _messagingService.SaveUserActivity(identity.ProfileId, "Viewed Account With No AO Codes Report", DateTime.Now);

            return(View(model));
        }