public PartialViewResult _SaveIP(int Id) { if (Id != -1) { } FillViewData(); ViewData["features"] = _featureRepository.LoadSortAndSelect(x => x.ForIP, x => new SelectListItem_Custom { Id = x.Id, Description = x.Name }, Sorter <Feature> .Get(x => x.Id, true)).ToSelectList(x => x.Id); ViewData["categories"] = _categoryRepository.LoadAndSelect(x => x.Active, x => new SelectListItem_Custom { Id = x.Id, Description = x.Name }, false).ToSelectList(x => x.Description); var model = new SaveIPOptionModel() { _guid = Guid.NewGuid(), _adult = false, _di = false, _public = false, _filter = new VoicerFilterModel() { _frm_id = "voicerfilter_filter" }, _event = new VoicerFilterModel() { _frm_id = "voicerfilter_event" }, _connected = _connectionRepository.GetAllVoicerModelsByFilter(x => x.User1.Active && x.User1.ActiveIPFeeds && x.UserId == _userID && x.Type == VoicerConnectionType.CONNECTED.ToString(), Sorter <UsersConnection> .Get(x => x.DateConnected, false)), _img = "/Images/common/no-image.jpg", }; model._selected = new List <bool>(); foreach (var item in model._connected) { model._selected.Add(true); } model._filter._frm_type = 4; model._event._frm_type = 5; return(PartialView(model)); }
public ActionResult SaveIP(SaveIPOptionModel model) { // validation check if (String.IsNullOrEmpty(model._name)) { return(Json("Name is not valid", JsonRequestBehavior.AllowGet)); } if (model._feature_id == null || model._feature_id <= 0) { return(Json("Select the feature please", JsonRequestBehavior.AllowGet)); } if ((model._category_id == null || model._category_id <= 0) && (model._feature_id != EVENT_ID && model._feature_id != URBANDICTIONARY_ID)) { return(Json("Select the category please", JsonRequestBehavior.AllowGet)); } if (model._cover_id <= 0) { return(Json("Select the cover image please", JsonRequestBehavior.AllowGet)); } if (model._feature_id == Constants.URBANDICTIONARY_ID && (model._tags == "" || model._tags == null)) { return(Json("Please input the valid tags", JsonRequestBehavior.AllowGet)); } var user = _userRepository.FirstOrDefault(x => x.Id == _userID); int UserIpId = _crudRepository.Save(new UsersIP() { AdultOnly = model._adult, BodyHtml = model._body.Replace("onclick=\"GoToLink(0", "onclick=\"GoToLink(1"), BodyStyle = model._style, CategoryId = model._category_id, FeatureId = (int)model._feature_id, DateAdd = DateTime.Now, UserId = _userID, Name = model._name, Public = model._public, route = model._name.ToRoute(), UserAttachmentId = model._cover_id, Views = 0, Comments = 0, Dislikes = 0, EPPoints = 0, Likes = 0, Surfs = 0 }); if (model._di) { user.CurrentUserIPDI = UserIpId; _userRepository.Save(user); } // save Tags if (model._tags != null && model._tags.Length > 0) { List <string> lst = model._tags.Split(',').ToList(); foreach (var item in lst) { int?iptagid = _ipTagRepository.FirstOrDefault <int?>(x => x.Tag == item, x => x.Id, null); if (iptagid == null || iptagid == 0) { iptagid = _ipTagRepository.Save(new IPTag() { Tag = item }); } _userIPTagRepository.Save(new UsersIPTag() { IPTagId = iptagid.Value, UserIPId = UserIpId }); } } // event if (model._feature_id == EVENT_ID) { _userIPFilterRepository.Save(model._event.ToUserIIPFilterEntity(UserIpId)); } // spread to voicer // spread to connected var connected = _connectionRepository.GetAllVoicerModelsByFilter(x => x.User1.Active && x.User1.ActiveIPFeeds && x.UserId == _userID && x.Type == VoicerConnectionType.CONNECTED.ToString(), Sorter <UsersConnection> .Get(x => x.DateConnected, false)); var userIds = new List <int>(); if (model._filter != null && !model._filter.isEmpty()) { var filter = model._filter.GetFilter(_connectionRepository.GetAllBlockedUsers(_userID)); filter = filter.And(x => x.ActiveIPFeeds); var voicers = _userRepository.LoadAndSelect(filter, x => x.Id, false); foreach (var item in voicers) { if (!userIds.Contains(item)) { userIds.Add(item); } } } var index = 0; foreach (var item in connected) { if (model._selected[index] && !userIds.Contains(item.Id)) { userIds.Add(item.Id); } index++; } SpreadToUsers(UserIpId, userIds); // set activity _userActivityRepository.SetActivity("ACTIVITY", "Spread", _userID, UserIpId); return(Json("Success", JsonRequestBehavior.AllowGet)); }