/// <summary> /// View Parent Info By Id /// </summary> /// <param name="parentInfoAddViewModel"></param> /// <returns></returns> public ParentInfoAddViewModel ViewParentInfo(ParentInfoAddViewModel parentInfoAddViewModel) { ParentInfoAddViewModel parentInfoViewModel = new ParentInfoAddViewModel(); try { var parentInfo = this.context?.ParentInfo.FirstOrDefault(x => x.TenantId == parentInfoAddViewModel.parentInfo.TenantId && x.SchoolId == parentInfoAddViewModel.parentInfo.SchoolId && x.ParentId == parentInfoAddViewModel.parentInfo.ParentId); if (parentInfo != null) { parentInfoViewModel.parentInfo = parentInfo; var AssociationshipData = parentInfo.Associationship; string[] studentAssociateWithParents = AssociationshipData.Split(" | ", StringSplitOptions.RemoveEmptyEntries); foreach (var studentAssociateWithParent in studentAssociateWithParents) { char studentId = studentAssociateWithParent.Last(); var student = this.context?.StudentMaster.FirstOrDefault(x => x.StudentId == int.Parse(studentId.ToString())); var studentForView = new GetStudentForView() { StudentId = student.StudentId, StudentInternalId = student.StudentInternalId, FirstGivenName = student.FirstGivenName, MiddleName = student.MiddleName, LastFamilyName = student.LastFamilyName }; parentInfoViewModel.getStudentForView.Add(studentForView); } parentInfoViewModel._tenantName = parentInfoAddViewModel._tenantName; parentInfoViewModel._token = parentInfoAddViewModel._token; parentInfoViewModel._failure = false; } else { parentInfoViewModel._failure = true; parentInfoViewModel._message = NORECORDFOUND; return(parentInfoViewModel); } } catch (Exception es) { parentInfoViewModel._failure = true; parentInfoViewModel._message = es.Message; } return(parentInfoViewModel); }
/// <summary> /// Get All Parent Info /// </summary> /// <param name="pageResult"></param> /// <returns></returns> public GetAllParentInfoListForView GetAllParentInfoList(PageResult pageResult) { GetAllParentInfoListForView parentInfoListModel = new GetAllParentInfoListForView(); int resultData; IQueryable <ParentInfo> transactionIQ = null; var ParentInfoList = this.context?.ParentInfo.ToList().Where(x => x.TenantId == pageResult.TenantId && x.SchoolId == pageResult.SchoolId); try { if (pageResult.FilterParams == null || pageResult.FilterParams.Count == 0) { transactionIQ = ParentInfoList.AsQueryable(); } else { if (pageResult.FilterParams != null && pageResult.FilterParams.ElementAt(0).ColumnName == null && pageResult.FilterParams.Count == 1) { string Columnvalue = pageResult.FilterParams.ElementAt(0).FilterValue; transactionIQ = ParentInfoList.Where(x => x.Firstname != null && x.Firstname.ToLower().Contains(Columnvalue.ToLower()) || x.Lastname != null && x.Lastname.ToLower().Contains(Columnvalue.ToLower()) || x.PersonalEmail != null && x.PersonalEmail.ToLower().Contains(Columnvalue.ToLower()) || x.Mobile != null && x.Mobile.Contains(Columnvalue)).AsQueryable(); } else { transactionIQ = Utility.FilteredData(pageResult.FilterParams, ParentInfoList).AsQueryable(); } transactionIQ = transactionIQ.Distinct(); } int totalCount = transactionIQ.Count(); transactionIQ = transactionIQ.Skip((pageResult.PageNumber - 1) * pageResult.PageSize).Take(pageResult.PageSize); var parentInfo = transactionIQ.AsNoTracking().Select(y => new GetParentInfoForView { SchoolId = y.SchoolId, TenantId = y.TenantId, Firstname = y.Firstname, Lastname = y.Lastname, PersonalEmail = y.PersonalEmail, Mobile = y.Mobile, UserProfile = y.UserProfile, Associationship = y.Associationship, AddressLineOne = ToFullAddress(y.AddressLineOne, y.AddressLineTwo, int.TryParse(y.City, out resultData) == true ? this.context.City.Where(x => x.Id == Convert.ToInt32(y.City)).FirstOrDefault().Name : y.City, int.TryParse(y.State, out resultData) == true ? this.context.State.Where(x => x.Id == Convert.ToInt32(y.State)).FirstOrDefault().Name : y.State, int.TryParse(y.Country, out resultData) == true ? this.context.Country.Where(x => x.Id == Convert.ToInt32(y.Country)).FirstOrDefault().Name : string.Empty, y.Zip) }).ToList(); parentInfoListModel.parentInfoForView = parentInfo; foreach (var ParentInfo in parentInfoListModel.parentInfoForView) { var AssociationshipData = ParentInfo.Associationship; string[] studentAssociateWithParents = AssociationshipData.Split(" | ", StringSplitOptions.RemoveEmptyEntries); foreach (var studentAssociateWithParent in studentAssociateWithParents) { char studentId = studentAssociateWithParent.Last(); var student = this.context?.StudentMaster.FirstOrDefault(x => x.StudentId == int.Parse(studentId.ToString())); var studentForView = new GetStudentForView() { StudentId = student.StudentId, StudentInternalId = student.StudentInternalId, SchoolId = student.SchoolId, TenantId = student.TenantId, FirstGivenName = student.FirstGivenName, MiddleName = student.MiddleName, LastFamilyName = student.LastFamilyName }; ParentInfo.getStudentForView.Add(studentForView); } } parentInfoListModel.TenantId = pageResult.TenantId; parentInfoListModel.TotalCount = totalCount; parentInfoListModel.PageNumber = pageResult.PageNumber; parentInfoListModel._pageSize = pageResult.PageSize; parentInfoListModel._tenantName = pageResult._tenantName; parentInfoListModel._token = pageResult._token; parentInfoListModel._failure = false; } catch (Exception es) { parentInfoListModel._message = es.Message; parentInfoListModel._failure = true; parentInfoListModel._tenantName = pageResult._tenantName; parentInfoListModel._token = pageResult._token; } return(parentInfoListModel); }