public async Task <IHttpActionResult> CAllUserDetailsAsync()
        {
            try
            {
                var value = adminusermanagerlogic.LAllUserDetails().GroupBy(m => m.Email);

                List <ListAllUserDetails> allUserDetail = new List <ListAllUserDetails>();


                foreach (var grouping in value)
                {
                    int packagecount = 0;
                    ListAllUserDetails groupedObject = new ListAllUserDetails
                    {
                        FirstName     = grouping.ElementAt(0).FirstName,
                        LastName      = grouping.ElementAt(0).LastName,
                        UserName      = grouping.ElementAt(0).UserName,
                        UserId        = grouping.ElementAt(0).UserId,
                        NumberOfTrips = grouping.ElementAt(0).NumberOfTrips,
                        Email         = grouping.ElementAt(0).Email,
                        LoginProvider = grouping.ElementAt(0).LoginProvider == null ? "Registered User" : grouping.ElementAt(0).LoginProvider,
                        City          = grouping.ElementAt(0).City,
                        State         = grouping.ElementAt(0).State,
                        Role          = grouping.ElementAt(0).Role,
                        Interests     = new List <InterestDTO>(),
                        PackageType   = new List <PackageTypeDTO>(),
                        Packages      = new List <PackageDTO>()
                    };

                    foreach (var groupedElement in grouping)
                    {
                        if (groupedElement.Interest != null)
                        {
                            groupedObject.Interests.Add(
                                new InterestDTO()
                            {
                                UserInterestID = groupedElement.UserInterestID,
                                UserInterest   = groupedElement.Interest
                            });
                        }
                    }
                    foreach (var groupedPackage in grouping)
                    {
                        if (groupedPackage.PackageName != null)
                        {
                            groupedObject.Packages.Add(
                                new PackageDTO()
                            {
                                PackageName = groupedPackage.PackageName
                            });
                        }
                        if (groupedPackage.PackageName != null)
                        {
                            packagecount += 1;
                        }
                    }
                    foreach (var groupedPackageType in grouping)
                    {
                        if (groupedPackageType.PackageType != null)
                        {
                            groupedObject.PackageType.Add(
                                new PackageTypeDTO()
                            {
                                PackageTypes = groupedPackageType.PackageType
                            });
                        }
                    }

                    allUserDetail.Add(groupedObject);
                }
                return(Ok(allUserDetail));
            }
            catch (Exception ex)
            {
                return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Error Occured Internally")));
            }
        }
        public async Task <IHttpActionResult> Cuserprofile(string IUserName)
        {
            try
            {
                var value = adminusermanagerlogic.Luserprofile(IUserName).GroupBy(m => m.Email);
                ListAllUserDetails groupedObject = new ListAllUserDetails();
                foreach (var grouping in value)
                {
                    int packagecount = 0;
                    groupedObject.FirstName     = grouping.ElementAt(0).FirstName;
                    groupedObject.LastName      = grouping.ElementAt(0).LastName;
                    groupedObject.UserName      = grouping.ElementAt(0).UserName;
                    groupedObject.UserId        = grouping.ElementAt(0).UserId;
                    groupedObject.NumberOfTrips = grouping.ElementAt(0).NumberOfTrips;
                    groupedObject.Email         = grouping.ElementAt(0).Email;
                    groupedObject.LoginProvider = grouping.ElementAt(0).LoginProvider == null ? "Registered User" : "";
                    groupedObject.City          = grouping.ElementAt(0).City;
                    groupedObject.State         = grouping.ElementAt(0).State;
                    groupedObject.Role          = grouping.ElementAt(0).Role;
                    groupedObject.PhoneNumber   = grouping.ElementAt(0).PhoneNumber;

                    groupedObject.Interests   = new List <InterestDTO>();
                    groupedObject.PackageType = new List <PackageTypeDTO>();
                    groupedObject.Packages    = new List <PackageDTO>();

                    foreach (var groupedElement in grouping)
                    {
                        if (groupedElement.Interest != null)
                        {
                            groupedObject.Interests.Add(
                                new InterestDTO()
                            {
                                UserInterestID = groupedElement.UserInterestID,
                                UserInterest   = groupedElement.Interest
                            });
                        }
                    }

                    foreach (var groupedPackage in grouping)
                    {
                        if (groupedPackage.PackageName != null)
                        {
                            groupedObject.Packages.Add(
                                new PackageDTO()
                            {
                                PackageName = groupedPackage.PackageName
                            });
                        }
                        if (groupedPackage.PackageName != null)
                        {
                            packagecount += 1;
                        }
                    }

                    foreach (var groupedPackageType in grouping)
                    {
                        if (groupedPackageType.PackageType != null)
                        {
                            groupedObject.PackageType.Add(
                                new PackageTypeDTO()
                            {
                                PackageTypes = groupedPackageType.PackageType
                            });
                        }
                    }
                }
                return(Ok(groupedObject));
            }
            catch (Exception ex)
            {
                return(ResponseMessage(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Error Occured Internally")));
            }
        }