public IHttpActionResult EditGroupOfLinks([FromUri] int socialNetworkId, GroupOfLinksViewModel model) { try { var result = GroupsOfLinksService.EditGroupOfLinks(User.Identity.GetUserId(), socialNetworkId, model); return(Ok(result)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public int EditGroupOfLinks(string userId, int socialNetworkId, GroupOfLinksViewModel model) { if (model.Name != null && model.Name != "") { if (model.Id != 0) { var group = GroupOfLinksRepository.Find(g => g.Id == model.Id && g.Status == Domain.Entities.StatusEnums.EntityStatus.Active); if (group != null) { group.Name = model.Name; GroupOfLinksRepository.Update(group); return(group.Id); } throw new Exception("Can`t find the group"); } else { var existedGroups = GroupOfLinksRepository.Find(g => g.Name == model.Name && g.SocialNetwork.Id == socialNetworkId && g.User.Id == userId && g.Status == Domain.Entities.StatusEnums.EntityStatus.Active); if (existedGroups != null) { throw new Exception("Group with the same name already exist"); } var sn = SocialNetworkRepository.Find(s => s.Id == socialNetworkId && s.Status == Domain.Entities.StatusEnums.EntityStatus.Active); var user = UserRepository.Find(u => u.Id == userId && u.Status == Domain.Entities.StatusEnums.EntityStatus.Active); if (sn != null && user != null) { GroupOfLinks group = new GroupOfLinks(); group.DateOfCreation = DateTime.Now; group.IsTemp = false; group.Name = model.Name; group.SocialNetwork = sn; group.User = user; group.Status = Domain.Entities.StatusEnums.EntityStatus.Active; GroupOfLinksRepository.Insert(group); return(group.Id); } throw new Exception("Can`t find social network or not enought permissions"); } } throw new Exception("Name can`t be empty"); }
public List <GroupOfLinksViewModel> GetAllGroupsOfLinks(string userId, int socialNetworkId) { var groups = GroupOfLinksRepository.FindAll(w => w.User.Id == userId && w.SocialNetwork.Id == socialNetworkId); var model = new List <GroupOfLinksViewModel>(); foreach (var group in groups) { var pGroup = new GroupOfLinksViewModel(); pGroup.Id = group.Id; pGroup.Name = group.Name; pGroup.DateOfCreation = group.DateOfCreation; model.Add(pGroup); } return(model); }