Esempio n. 1
0
        public ActionResult GetApproverList([DataSourceRequest] DataSourceRequest request, FIN_ApproverECLAIMSearchModel model)
        {
            if (model != null)
            {
                model.ProfileID = Common.DotNetToOracle(model.ProfileID);
            }

            //#region lay ds approver hiển thị trên 1 dòng ứng với profile

            var actionService = new ActionService(UserLogin);
            ListQueryModel lstModel = new ListQueryModel
            {
                PageIndex = 1,
                PageSize = int.MaxValue - 1,//request.PageSize,
                Filters = ExtractFilterAttributes(request),
                Sorts = ExtractSortAttributes(request),
                AdvanceFilters = ExtractAdvanceFilterAttributes(model)
            };
            var status = string.Empty;
            var listEntity = actionService.GetData<FIN_ApproverECLAIMEntity>(lstModel, ConstantSql.hrm_fin_sp_get_ApproverECLAIM, ref status).ToList();
            if (model.OrderNo.HasValue)
            {
                listEntity = listEntity.Where(s => s.OrderNo != null && s.OrderNo.Value == model.OrderNo.Value).ToList();
            }
            if (listEntity != null)
            {
                // request.Page = 1;
                //var listModel = listEntity.Translate<FIN_ApproverECLAIMModel>();
                var listModel = listEntity;
                var profileIds = listModel.GroupBy(p => new { p.ProfileID, p.ApprovedType }).ToList();
                var approverReturn = new List<FIN_ApproverECLAIMModel>();
                var approverNames = string.Empty;
                foreach (var profileId in profileIds)
                {
                    var approvers = listModel.Where(p => p.ProfileID == profileId.Key.ProfileID && p.ApprovedType == profileId.Key.ApprovedType).OrderBy(p => p.OrderNo).ToList();
                    var approver = approvers.FirstOrDefault();
                    approverNames = string.Empty;
                    foreach (var finApproverModel in approvers)
                    {
                        approverNames += finApproverModel.OrderNo + " - " + finApproverModel.ApprovedName + " , ";
                    }
                    var fin = new FIN_ApproverECLAIMModel();
                    if (approver != null)
                    {
                        fin.ID = approver.ID;
                        fin.ProfileName = approver.ProfileName;
                        fin.ApprovedType = approver.ApprovedType;
                        fin.ApprovedTypeView = approver.ApprovedTypeView;
                        fin.ProfileID = profileId.Key.ProfileID;
                    }
                    fin.ApprovedName = approverNames.Substring(0, approverNames.Length - 2);
                    approverReturn.Add(fin);
                }


                var dataSourceResult = approverReturn.ToDataSourceResult(request);
                dataSourceResult.Total = approverReturn.Count();
                return Json(dataSourceResult, JsonRequestBehavior.AllowGet);
            }
            var listModelNull = new List<FIN_ApproverECLAIMModel>();
            ModelState.AddModelError("Id", status);
            return Json(listModelNull.ToDataSourceResult(request, ModelState));
        }
Esempio n. 2
0
 public ActionResult GetApproverOfProfileList([DataSourceRequest] DataSourceRequest request, FIN_ApproverECLAIMSearchModel model)
 {
     //chỉ load những dữ liệu theo profileId
     if (model != null)
     {
         model.ProfileID = Common.DotNetToOracle(model.ProfileID);
     }
     if (model != null && model.ProfileID == null)
     {
         model.ProfileID = Common.DotNetToOracle(Guid.Empty.ToString());
     }
     return GetListDataAndReturn<FIN_ApproverECLAIMModel, FIN_ApproverECLAIMEntity, FIN_ApproverECLAIMSearchModel>(request, model, ConstantSql.hrm_fin_sp_get_ApproverECLAIM);
 }