public async Task <CmmunityGroupDetailViewModel> getCommunityGroupDetail(long Id)
        {
            var _query  = _unitOfWork.UserCommunityGroupsRepository.FindAllByQuery(c => c.Id == Id && c.IsActive == true);
            var _result = await _query.Include("User").ToListAsync();

            CmmunityGroupDetailViewModel model = new CmmunityGroupDetailViewModel();

            if (_result != null && _result.Count != 0)
            {
                var _userProfile = await _unitOfWork.UserProfileRepository.FindAllBy(c => c.User.Id == _result[0].User.Id);

                var _comunityDetail = await _unitOfWork.CommunityRepository.GetByID(_result[0].CommunityId);

                model.Id    = _result[0].Id;
                model.Title = _result[0].Title;
                if (_comunityDetail != null)
                {
                    model.Color = _comunityDetail.Color;
                }
                else
                {
                    model.Color = "#4D0B0A";
                }
                model.Description = _result[0].Description;
                model.VideoUrl    = _result[0].DescriptionVideoUrl;
                //set posted user detail
                model.UserId       = _result[0].User.Id;
                model.EmailAddress = _result[0].User.UserName;
                if (_userProfile != null)
                {
                    model.FullName       = _userProfile[0].FirstName + ' ' + _userProfile[0].LastName;
                    model.UserProfilePic = _userProfile[0].ProfilePicture;
                }
            }
            OpenOfficeHoursViewModel openOfficeHours = new OpenOfficeHoursViewModel();
            var _openOfficeHour = await _unitOfWork.UserCommunityOpenOfficeHoursRepository.FindAllBy(c => c.CommunityGroups.Id == Id && c.IsFirstMeeting == true);

            if (_openOfficeHour != null && _openOfficeHour.Count != 0)
            {
                var _resultOpenHoursMeeting = await _unitOfWork.JoinOpenHoursMeetingRepository.FindAllBy(c => c.User.Id == model.UserId && c.OpenOfficeHours.Id == _openOfficeHour[0].Id);

                if (_resultOpenHoursMeeting != null && _resultOpenHoursMeeting.Count != 0)
                {
                    openOfficeHours.OTimeZone           = _resultOpenHoursMeeting[0].TimeZone;
                    openOfficeHours.IsRegisterInMeeting = true;
                }
                else
                {
                    openOfficeHours.OTimeZone = _openOfficeHour[0].OTimeZone;
                }
                openOfficeHours.OTime  = _openOfficeHour[0].OTime;
                openOfficeHours.OTitle = _openOfficeHour[0].OTitle;
                openOfficeHours.Id     = _openOfficeHour[0].Id;
            }
            model.OpenOfficeHours = openOfficeHours;
            return(model);
        }
Ejemplo n.º 2
0
        private async Task <BaseModel> Update(CommunityGroupViewModel model)
        {
            CommunityGroupsDataModel communityGroupModel = await _unitOfWork.UserCommunityGroupsRepository.GetByID(model.Id);

            try
            {
                communityGroupModel.Title       = model.Title;
                communityGroupModel.Description = model.Description;
                if (!string.IsNullOrEmpty(model.DescriptionVideoUrl))
                {
                    await _awsS3Bucket.DeleteFileAsync(communityGroupModel.DescriptionVideoUrl);

                    communityGroupModel.DescriptionVideoUrl = model.DescriptionVideoUrl;
                }
                communityGroupModel.CommunityGroupURL = Urlhelper.GenerateSeoFriendlyURL(model.Title);
                //communityGroupModel.IsActive = true;
                //communityGroupModel.IsPublish = true;
                communityGroupModel.IsPublicGroup = model.IsPublicGroup;
                communityGroupModel.AddedDate     = DateTime.Now;
                communityGroupModel.CommunityId   = model.OgranizationsId;
                await _unitOfWork.UserCommunityGroupsRepository.Update(communityGroupModel);

                //if group is not public then data will save in relation tables
                if (!model.IsPublicGroup)
                {
                    //saving data in relation tables
                    await SaveCommunityTargetedGroupsAsync(model.CommunityTargetedGroupId, communityGroupModel.User, communityGroupModel);
                    await SaveCommunityTargetedAssociationAsync(model.AssociationId, communityGroupModel.User, communityGroupModel);

                    //await SaveCommunityTargetedType1Async(model.Type1Id, communityGroupModel.User, communityGroupModel);
                    //await SaveCommunityTargetedType2Async(model.Type2Id, communityGroupModel.User, communityGroupModel);
                    await SaveCommunityTargetedInterestsAsync(model.TargetedInterestIds, communityGroupModel.User, communityGroupModel);
                }
                await SaveCommunityGroupsThemeAsync(model.ThemesId, communityGroupModel.User, communityGroupModel);

                //SaveOpenHours
                OpenOfficeHoursViewModel OpenOfficeHoursModel = JsonConvert.DeserializeObject <OpenOfficeHoursViewModel>(model.OpenOfficeHours);
                //OpenOfficeHoursModel.OFromDate = SphixHelper.setDateFromDayName(OpenOfficeHoursModel.OTimeDayName, DateTime.Now.Date);
                //OpenOfficeHoursModel.OToDate = OpenOfficeHoursModel.OFromDate;
                await _openOfficeHoursService.SaveOpenHoursAsync(OpenOfficeHoursModel, communityGroupModel.User, communityGroupModel);

                return(new BaseModel {
                    Status = true, Id = communityGroupModel.Id, Messsage = UMessagesInfo.RecordSaved
                });
            }
            catch (Exception ex)
            {
                return(new BaseModel {
                    Status = false, Messsage = UMessagesInfo.Error
                });
            }
        }
        public async Task <OpenOfficeHoursViewModel> getCommunityGroupOpenHoursDetail(long Id)
        {
            OpenOfficeHoursViewModel openOfficeHoursView = new OpenOfficeHoursViewModel();
            var _openHoursModel = await _unitOfWork.UserCommunityOpenOfficeHoursRepository.GetByID(Id);

            if (_openHoursModel != null)
            {
                // var _openHoursModel = openOfficeHours.FirstOrDefault();
                openOfficeHoursView.Id           = _openHoursModel.Id;
                openOfficeHoursView.MaxAttendees = _openHoursModel.MaxAttendees;
                openOfficeHoursView.ODescription = _openHoursModel.ODescription;
                openOfficeHoursView.OFrequency   = _openHoursModel.OFrequency;
                openOfficeHoursView.OFromDate    = _openHoursModel.OFromDate;
                openOfficeHoursView.OToDate      = _openHoursModel.OToDate;
                openOfficeHoursView.OName        = _openHoursModel.OName;
                openOfficeHoursView.OTime        = _openHoursModel.OTime;
                openOfficeHoursView.OTimeDayName = _openHoursModel.OTimeDayName;
                openOfficeHoursView.OTimeZone    = _openHoursModel.OTimeZone;
                openOfficeHoursView.OTitle       = _openHoursModel.OTitle;
                openOfficeHoursView.WhoCanAttend = _openHoursModel.WhoCanAttend;
            }
            return(openOfficeHoursView);
        }
        /// <summary>
        /// Save and update data in Open Office Hours table
        /// </summary>
        /// <param name="model"></param>
        /// <param name="user">if user model is null then please pass UserId into the OpenOfficeHoursViewModel</param>
        /// <param name="communityGroupsData">if communityGroupsData model is null then please pass CommunityGroupId into the OpenOfficeHoursViewModel</param>
        /// <returns></returns>
        public async Task <BaseModel> SaveOpenHoursAsync(OpenOfficeHoursViewModel model, UsersLoginDataModel user, CommunityGroupsDataModel communityGroupsData)
        {
            if (user == null)
            {
                user = await _unitOfWork.UserLoginRepository.GetByID(model.UserId);
            }
            if (communityGroupsData == null)
            {
                communityGroupsData = await _unitOfWork.UserCommunityGroupsRepository.GetByID(model.CommunityGroupId);
            }
            if (model.Id == 0)
            {
                CommunityOpenOfficeHours dataModel = new CommunityOpenOfficeHours
                {
                    CreatedBy        = user.Id,
                    User             = user,
                    CommunityGroups  = communityGroupsData,
                    OTitle           = model.OTitle,
                    OName            = model.OName,
                    ODescription     = model.ODescription,
                    OFrequency       = model.OFrequency,
                    OFromDate        = model.OFromDate, // setDateFromDayName(model.OTimeDayName, model.OFromDate),
                    OToDate          = model.OFromDate, // setDateFromDayName(model.OTimeDayName, model.OFromDate),
                    OTime            = model.OTime,
                    OTimeDayName     = model.OTimeDayName,
                    OTimeZone        = model.OTimeZone,
                    MaxAttendees     = model.MaxAttendees,
                    WhoCanAttend     = model.WhoCanAttend,
                    IsActive         = true,
                    IsFirstMeeting   = model.IsFirstMeeting,
                    NextMeetingToken = model.NextMeetingToken,
                    LastSessionId    = model.LastSessionId,
                    AddHours         = model.AddHours
                };
                await _unitOfWork.UserCommunityOpenOfficeHoursRepository.Insert(dataModel);

                if (model.AddHours)
                {
                    await _context.LoadStoredProc("AddHoursInOpenOfficeHours")
                    .WithSqlParam("Id", dataModel.Id)
                    .ExecuteStoredProcAsync((handler) =>
                    {
                        // do something with your results.
                    });
                }
                return(new BaseModel {
                    Status = true, Id = dataModel.Id, Messsage = UMessagesInfo.RecordSaved
                });
            }
            else
            {
                var openOfficeHoursModel = await _unitOfWork.UserCommunityOpenOfficeHoursRepository.GetByID(model.Id);

                openOfficeHoursModel.OTitle       = model.OTitle;
                openOfficeHoursModel.OName        = model.OName;
                openOfficeHoursModel.ODescription = model.ODescription;
                openOfficeHoursModel.OFrequency   = model.OFrequency;
                if (openOfficeHoursModel.OTimeDayName.ToLower().Trim() != model.OTimeDayName.ToLower().Trim())
                {
                    openOfficeHoursModel.OFromDate = SphixHelper.setDateFromDayName(model.OTimeDayName, DateTime.Now.Date);
                    openOfficeHoursModel.OToDate   = openOfficeHoursModel.OFromDate;
                }
                else
                {
                    openOfficeHoursModel.OFromDate = model.OFromDate;// setDateFromDayName(model.OTimeDayName, model.OFromDate);
                    openOfficeHoursModel.OToDate   = openOfficeHoursModel.OFromDate;
                }
                openOfficeHoursModel.OTime        = model.OTime;
                openOfficeHoursModel.OTimeDayName = model.OTimeDayName;
                openOfficeHoursModel.OTimeZone    = model.OTimeZone;
                openOfficeHoursModel.MaxAttendees = model.MaxAttendees;
                openOfficeHoursModel.WhoCanAttend = model.WhoCanAttend;
                openOfficeHoursModel.IsActive     = true;
                //openOfficeHoursModel.AddHours = model.AddHours;
                //openOfficeHoursModel.IsFirstMeeting = model.IsFirstMeeting;
                await _unitOfWork.UserCommunityOpenOfficeHoursRepository.Update(openOfficeHoursModel);

                return(new BaseModel {
                    Status = true, Id = model.Id, Messsage = UMessagesInfo.RecordSaved
                });
            }
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> ActiveNextSession(string Id)
        {
            OpenOfficeHoursViewModel model = new OpenOfficeHoursViewModel();

            if (!string.IsNullOrEmpty(Id))
            {
                var openHoursModel = await _openOfficeHoursService.getOpenHoursAsync(Id);

                if (openHoursModel != null && openHoursModel.IsMeetingTokenUsed == false)
                {
                    //DateTime nextMeetingDate = openHoursModel.OFromDate.AddDays(7);

                    model.UserId       = openHoursModel.CreatedBy;
                    model.MaxAttendees = openHoursModel.MaxAttendees;
                    model.ODescription = openHoursModel.ODescription;
                    model.OFrequency   = openHoursModel.OFrequency;
                    TimeSpan difference = DateTime.Now.Date - openHoursModel.OFromDate.Date;
                    if (difference.Days > 7)
                    {
                        model.OFromDate = SphixHelper.setDateFromDayName(openHoursModel.OTimeDayName, DateTime.Now.Date);
                    }
                    else if (difference.Days == 0)
                    {
                        model.OFromDate = openHoursModel.OFromDate;
                    }
                    else
                    {
                        model.OFromDate = SphixHelper.setDateFromDayName(openHoursModel.OTimeDayName, openHoursModel.OFromDate);
                    }
                    // model.OFromDate = nextMeetingDate;
                    model.OTimeZone        = openHoursModel.OTimeZone;
                    model.OTime            = openHoursModel.OTime;
                    model.OToDate          = model.OFromDate;// openHoursModel.OToDate;
                    model.OName            = openHoursModel.OName;
                    model.OTime            = openHoursModel.OTime;
                    model.OTitle           = openHoursModel.OTitle;
                    model.WhoCanAttend     = openHoursModel.WhoCanAttend;
                    model.OTimeDayName     = openHoursModel.OTimeDayName;
                    model.CommunityGroupId = openHoursModel.CommunityGroups.Id;
                    string token = Guid.NewGuid().ToString().Replace("-", "");
                    model.NextMeetingToken = token;
                    model.IsFirstMeeting   = false;
                    model.LastSessionId    = openHoursModel.Id;
                    var _existingTable = await _openOfficeHoursService.CheckTableIsExist(model.UserId, model.CommunityGroupId, model.OTimeZone, model.OFromDate);

                    if (_existingTable.Status)
                    {
                        return(Json(_existingTable));
                    }
                    var _result = await _openOfficeHoursService.SaveOpenHoursAsync(model, null, null);

                    if (_result.Status)
                    {
                        await _openOfficeHoursService.UpdateNextMeetingToken(openHoursModel.Id);

                        //IsMeetingTokenUsed
                        var pathToFile = _env.WebRootPath
                                         + Path.DirectorySeparatorChar.ToString()
                                         + "Templates"
                                         + Path.DirectorySeparatorChar.ToString()
                                         + "EmailTemplates"
                                         + Path.DirectorySeparatorChar.ToString()
                                         + "OpenHoursMeetingCreateNewTable.html";
                        string HtmlBody = string.Empty;
                        using (StreamReader SourceReader = System.IO.File.OpenText(pathToFile))
                        {
                            HtmlBody = SourceReader.ReadToEnd();
                        }
                        var callbackUrl = Url.Action("ActiveNextSession", "CommunityOpenOfficeHours", null, protocol: HttpContext.Request.Scheme) + "/" + token;
                        await _openHoursMailService.SendMailOnCreateNewTableAsync(model.UserId, token, callbackUrl, HtmlBody, model.OFromDate.ToShortDateString() + " at " + model.OTime + " " + model.OTimeZone);

                        //send thanks mail
                    }
                }
                else
                {
                    model.IsMeetingTokenUsed = true;
                }
            }
            return(View(model));
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> AddOpenOfficeHours(OpenOfficeHoursViewModel model, long OpenHoursId)
        {
            var openHoursModel = await _openOfficeHoursService.getOpenHoursAsync(OpenHoursId);

            model.UserId       = _claimAccessor.UserId;
            model.MaxAttendees = openHoursModel.MaxAttendees;
            model.ODescription = openHoursModel.ODescription;
            model.OFrequency   = openHoursModel.OFrequency;
            TimeSpan difference = DateTime.Now.Date - openHoursModel.OFromDate.Date;

            if (difference.Days > 7)
            {
                model.OFromDate = SphixHelper.setDateFromDayName(openHoursModel.OTimeDayName, DateTime.Now.Date);
            }
            else if (difference.Days == 0)
            {
                model.OFromDate = openHoursModel.OFromDate;
            }
            else
            {
                model.OFromDate = SphixHelper.setDateFromDayName(openHoursModel.OTimeDayName, openHoursModel.OFromDate);
            }

            model.OToDate        = model.OFromDate;
            model.OName          = openHoursModel.OName;
            model.OTime          = openHoursModel.OTime;
            model.OTitle         = openHoursModel.OTitle;
            model.WhoCanAttend   = openHoursModel.WhoCanAttend;
            model.OTimeDayName   = openHoursModel.OTimeDayName;
            model.IsFirstMeeting = false;
            string token = Guid.NewGuid().ToString().Replace("-", "");

            model.NextMeetingToken = token;
            model.LastSessionId    = 0;
            var _existingTable = await _openOfficeHoursService.CheckTableIsExist(_claimAccessor.UserId, model.CommunityGroupId, model.OTimeZone, model.OFromDate);

            if (_existingTable.Status)
            {
                return(Json(new BaseModel {
                    Status = false, Messsage = UMessagesInfo.RecordExist
                }));
            }
            var _result = await _openOfficeHoursService.SaveOpenHoursAsync(model, null, null);

            if (_result.Status)
            {
                var pathToFile = _env.WebRootPath
                                 + Path.DirectorySeparatorChar.ToString()
                                 + "Templates"
                                 + Path.DirectorySeparatorChar.ToString()
                                 + "EmailTemplates"
                                 + Path.DirectorySeparatorChar.ToString()
                                 + "OpenHoursMeetingCreateNewTable.html";
                string HtmlBody = string.Empty;
                using (StreamReader SourceReader = System.IO.File.OpenText(pathToFile))
                {
                    HtmlBody = SourceReader.ReadToEnd();
                }
                var callbackUrl = Url.Action("ActiveNextSession", "CommunityOpenOfficeHours", null, protocol: HttpContext.Request.Scheme) + "/" + token;
                await _openHoursMailService.SendMailOnCreateNewTableAsync(_claimAccessor.UserId, token, callbackUrl, HtmlBody, model.OFromDate.ToShortDateString() + " at " + model.OTime + " " + model.OTimeZone);

                //send thanks mail
            }
            return(Json(_result));
        }
Ejemplo n.º 7
0
        public async Task <IList <ViewCommunityGroupViewModel> > getCommunityGroupDetailAdmin(long Id)
        {
            IList <ViewCommunityGroupViewModel> list = new List <ViewCommunityGroupViewModel>();
            await _context.LoadStoredProc("getCommunityGroupViewAdmin")
            .WithSqlParam("Id", Id)
            .ExecuteStoredProcAsync((handler) =>
            {
                list = handler.ReadToList <ViewCommunityGroupViewModel>();
            });

            if (list.Count > 0)
            {
                OpenOfficeHoursViewModel openOfficeHoursView = new OpenOfficeHoursViewModel();
                var openOfficeHours = await _unitOfWork.UserCommunityOpenOfficeHoursRepository.FindAllBy(c => c.CommunityGroups.Id == Id);

                if (openOfficeHours.Count != 0)
                {
                    var _openHoursModel = openOfficeHours.FirstOrDefault();
                    openOfficeHoursView.Id           = _openHoursModel.Id;
                    openOfficeHoursView.MaxAttendees = _openHoursModel.MaxAttendees;
                    openOfficeHoursView.ODescription = _openHoursModel.ODescription;
                    openOfficeHoursView.OFrequency   = _openHoursModel.OFrequency;
                    openOfficeHoursView.OFromDate    = _openHoursModel.OFromDate;
                    openOfficeHoursView.OToDate      = _openHoursModel.OToDate;
                    openOfficeHoursView.OName        = _openHoursModel.OName;
                    openOfficeHoursView.OTime        = _openHoursModel.OTime;
                    openOfficeHoursView.OTimeDayName = _openHoursModel.OTimeDayName;
                    openOfficeHoursView.OTimeZone    = _openHoursModel.OTimeZone;
                    openOfficeHoursView.OTitle       = _openHoursModel.OTitle;
                    openOfficeHoursView.WhoCanAttend = _openHoursModel.WhoCanAttend;
                }
                list[0].OpenOfficeHours = openOfficeHoursView;

                //get events
                var events = await _unitOfWork.UserCommunityLiveEventsRepository.FindAllBy(c => c.CommunityGroups.Id == Id);

                List <LiveEventViewModel> liveEventViews = new List <LiveEventViewModel>();
                foreach (var item in events)
                {
                    liveEventViews.Add(new LiveEventViewModel {
                        Id           = item.Id,
                        ETitle       = item.ETitle,
                        ETime        = item.ETime,
                        EName        = item.EName,
                        EFromDate    = item.EFromDate,
                        EFrequency   = item.EFrequency,
                        EDescription = item.EDescription,
                        ETimeDayName = item.ETimeDayName,
                        ETimeZone    = item.ETimeZone,
                        EToDate      = item.EToDate,
                        MaxAttendees = item.MaxAttendees,
                        Participants = item.Participants,
                        WhoCanAttend = item.WhoCanAttend
                    });
                }
                list[0].liveEvents = liveEventViews;

                var articles = await _unitOfWork.UserCommunityArticlesRepository.FindAllBy(c => c.CommunityGroups.Id == Id);

                List <ArticleViewModel> articleViews = new List <ArticleViewModel>();
                foreach (var item in articles)
                {
                    articleViews.Add(new ArticleViewModel {
                        ArticleDescription = item.Description,
                        ArticleTitle       = item.Title,
                        Id            = item.Id,
                        ShareDocument = item.ShareDocUrl
                    });
                }
                list[0].articles = articleViews;
            }
            return(list);
        }
Ejemplo n.º 8
0
        private async Task <BaseModel> Save(CommunityGroupViewModel model, UsersLoginDataModel user, string articeDoclUrl)
        {
            try
            {
                if (string.IsNullOrEmpty(model.TargetedInterestIds) && model.IsPublicGroup == false)
                {
                    return(new BaseModel {
                        Status = false, Messsage = "Please select Interest"
                    });
                }
                CommunityGroupsDataModel communityGroupModel = new CommunityGroupsDataModel
                {
                    CreatedBy           = model.UserId,
                    User                = user,
                    Title               = model.Title,
                    CommunityGroupURL   = Urlhelper.GenerateSeoFriendlyURL(model.Title),
                    Description         = model.Description,
                    DescriptionVideoUrl = model.DescriptionVideoUrl,
                    IsActive            = true,
                    IsPublish           = false,
                    IsPublicGroup       = model.IsPublicGroup,
                    CommunityId         = model.OgranizationsId
                };
                await _unitOfWork.UserCommunityGroupsRepository.Insert(communityGroupModel);

                //if group is not public then data will save in relation tables
                if (!model.IsPublicGroup)
                {
                    //saveing data in relation tables
                    await SaveCommunityTargetedGroupsAsync(model.CommunityTargetedGroupId, user, communityGroupModel);
                    await SaveCommunityTargetedAssociationAsync(model.AssociationId, user, communityGroupModel);

                    //await SaveCommunityTargetedType1Async(model.Type1Id, user, communityGroupModel);
                    //await SaveCommunityTargetedType2Async(model.Type2Id, user, communityGroupModel);
                    await SaveCommunityTargetedInterestsAsync(model.TargetedInterestIds, user, communityGroupModel);
                }
                await SaveCommunityGroupsThemeAsync(model.ThemesId, user, communityGroupModel);

                //SaveOpenHours
                OpenOfficeHoursViewModel OpenOfficeHoursModel = JsonConvert.DeserializeObject <OpenOfficeHoursViewModel>(model.OpenOfficeHours);
                OpenOfficeHoursModel.OFromDate      = SphixHelper.setDateFromDayName(OpenOfficeHoursModel.OTimeDayName, DateTime.Now.Date);
                OpenOfficeHoursModel.OToDate        = OpenOfficeHoursModel.OFromDate;
                OpenOfficeHoursModel.IsFirstMeeting = true;
                await _openOfficeHoursService.SaveOpenHoursAsync(OpenOfficeHoursModel, user, communityGroupModel);

                //SaveLiveEvent
                LiveEventViewModel LiveEventModel = JsonConvert.DeserializeObject <LiveEventViewModel>(model.LiveEvent);
                await SaveLiveEvent(LiveEventModel, user, communityGroupModel);

                //SaveArticles
                ArticleViewModel ArticleModel = JsonConvert.DeserializeObject <ArticleViewModel>(model.Article);
                ArticleModel.ShareDocument = articeDoclUrl;
                await SaveArticles(ArticleModel, user, communityGroupModel);

                return(new BaseModel {
                    Status = true, Id = communityGroupModel.Id, Messsage = UMessagesInfo.RecordSaved
                });
            }
            catch (Exception ex)
            {
                return(new BaseModel {
                    Status = false, Messsage = UMessagesInfo.Error
                });
            }
        }
Ejemplo n.º 9
0
        public async Task <EditCommunityGroupViewModel> getCommunityGroupDetail(long Id, long UserId)
        {
            EditCommunityGroupViewModel communityGroupView = new EditCommunityGroupViewModel();
            var _data = await _unitOfWork.UserCommunityGroupsRepository.FindAllBy(c => c.User.Id == UserId && c.Id == Id);

            if (_data.Count != 0)
            {
                var _result = _data.FirstOrDefault();
                communityGroupView.Id = _result.Id;
                communityGroupView.OgranizationsId     = _result.CommunityId;
                communityGroupView.Title               = _result.Title;
                communityGroupView.Description         = _result.Description;
                communityGroupView.DescriptionVideoUrl = _result.DescriptionVideoUrl;
                communityGroupView.IsPublicGroup       = _result.IsPublicGroup;
                var _themes = await _unitOfWork.UserCommunityGroupThemeRepository.FindAllBy(c => c.CommunityGroups.Id == _result.Id && c.IsActive == true);

                if (_themes.Count != 0)
                {
                    foreach (var item in _themes)
                    {
                        communityGroupView.ThemesId += item.CommunityTargetedGroupId.ToString() + ",";
                    }
                }

                var _communityTargeted = await _unitOfWork.UserCommunityTargetedGroupsRepository.FindAllBy(c => c.CommunityGroups.Id == _result.Id && c.IsActive == true);

                if (_communityTargeted.Count != 0)
                {
                    foreach (var item in _communityTargeted)
                    {
                        communityGroupView.CommunityTargetedGroupId += item.CommunityTargetedGroupId.ToString() + ",";
                    }
                }
                //TargetedAssociations
                var _association = await _unitOfWork.UserCommunityTargetedAssociationsRepository.FindAllBy(c => c.CommunityGroups.Id == _result.Id && c.IsActive == true);

                if (_association.Count != 0)
                {
                    foreach (var item in _association)
                    {
                        communityGroupView.AssociationId += item.AssociationId.ToString();// + ",";
                    }
                }
                //_type1
                var _type1 = await _unitOfWork.UserCommunityTargetedType1Repository.FindAllBy(c => c.CommunityGroups.Id == _result.Id && c.IsActive == true);

                if (_type1.Count != 0)
                {
                    foreach (var item in _type1)
                    {
                        communityGroupView.Type1Id += item.TypeId.ToString();// + ",";
                    }
                }
                //_type2
                var _type2 = await _unitOfWork.UserCommunityTargetedType2Repository.FindAllBy(c => c.CommunityGroups.Id == _result.Id && c.IsActive == true);

                if (_type2.Count != 0)
                {
                    foreach (var item in _type2)
                    {
                        communityGroupView.Type2Id += item.TypeId.ToString();// + ",";
                    }
                }
                //Interests
                var _interests = await _unitOfWork.UserCommunityTargetedInterestRepository.FindAllBy(c => c.CommunityGroups.Id == _result.Id && c.IsActive == true);

                if (_interests.Count != 0)
                {
                    foreach (var item in _interests)
                    {
                        communityGroupView.TargetedInterestIds += item.InterestId.ToString() + ",";
                    }
                }
                OpenOfficeHoursViewModel openOfficeHoursView = new OpenOfficeHoursViewModel();
                var openOfficeHours = await _unitOfWork.UserCommunityOpenOfficeHoursRepository.FindAllBy(c => c.CommunityGroups.Id == _result.Id);

                if (openOfficeHours.Count != 0)
                {
                    var _openHoursModel = openOfficeHours.FirstOrDefault();
                    openOfficeHoursView.Id           = _openHoursModel.Id;
                    openOfficeHoursView.MaxAttendees = _openHoursModel.MaxAttendees;
                    openOfficeHoursView.ODescription = _openHoursModel.ODescription;
                    openOfficeHoursView.OFrequency   = _openHoursModel.OFrequency;
                    openOfficeHoursView.OFromDate    = _openHoursModel.OFromDate;
                    openOfficeHoursView.OToDate      = _openHoursModel.OToDate;
                    openOfficeHoursView.OName        = _openHoursModel.OName;
                    openOfficeHoursView.OTime        = _openHoursModel.OTime;
                    openOfficeHoursView.OTimeDayName = _openHoursModel.OTimeDayName;
                    openOfficeHoursView.OTimeZone    = _openHoursModel.OTimeZone;
                    openOfficeHoursView.OTitle       = _openHoursModel.OTitle;
                    openOfficeHoursView.WhoCanAttend = _openHoursModel.WhoCanAttend;
                }
                communityGroupView.OpenOfficeHours = openOfficeHoursView;
            }
            return(communityGroupView);
        }