Пример #1
0
        public Response <DivisionProgramModel> GetDivisionPrograms(int userID)
        {
            var repository = _unitOfWork.GetRepository <DivisionProgramDataModel>(SchemaName.Core);
            var procParams = new List <SqlParameter> {
                new SqlParameter("UserID", userID)
            };
            var divisionProgramResult = repository.ExecuteStoredProc("usp_GetUserOrgDetailsMapping", procParams);

            var result = divisionProgramResult.CloneResponse <DivisionProgramModel>();

            result.ID = userID;
            if (result.ResultCode != 0)
            {
                return(result);
            }

            result.DataItems = new List <DivisionProgramModel>();

            var groupByDivisions = from userDivision in divisionProgramResult.DataItems
                                   group userDivision by userDivision.DivisionMappingID;

            foreach (var groupDivision in groupByDivisions)
            {
                var userDivisionProgram = new DivisionProgramModel();
                userDivisionProgram.userID    = userID;
                userDivisionProgram.MappingID = groupDivision.Key;

                var groupByPrograms = groupDivision.GroupBy(x => x.ProgramMappingID);

                foreach (var groupByProgram in groupByPrograms)
                {
                    var userPrograms = new ProgramsModel();
                    userPrograms.MappingID = groupByProgram.Key;
                    foreach (var item in groupByProgram)
                    {
                        userDivisionProgram.Name             = item.Division;
                        userDivisionProgram.CompanyMappingID = item.CompanyMappingID;
                        userDivisionProgram.CompanyName      = item.Company;
                        userPrograms.Name = item.Program;
                        var userProgramUnit = new DivisionProgramBaseModel();
                        userProgramUnit.MappingID = item.PUMappingID;
                        userProgramUnit.Name      = item.PU;
                        userPrograms.ProgramUnits.Add(userProgramUnit);
                    }
                    userDivisionProgram.Programs.Add(userPrograms);
                }

                userDivisionProgram.Programs = userDivisionProgram.Programs.OrderBy(x => x.Name).ToList();
                result.DataItems.Add(userDivisionProgram);
            }
            return(result);
        }
Пример #2
0
        public static DivisionProgramBaseViewModel ToViewModel(this DivisionProgramBaseModel entity)
        {
            if (entity == null)
            {
                return(null);
            }

            var model = new DivisionProgramBaseViewModel
            {
                MappingID  = entity.MappingID,
                Name       = entity.Name,
                ModifiedOn = entity.ModifiedOn
            };

            return(model);
        }