Exemplo n.º 1
0
 public UserController()
 {
     _userContext         = new UserContext();
     _userLocations       = new UserLocationsContext();
     _relationshipContext = new RelationshipContext();
     webservice           = new _3FWebService();
 }
Exemplo n.º 2
0
        public ActionResult ListFriends(int userId)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(View());
            }
            ListFriendViewModels model = new ListFriendViewModels();

            model.listFriends = RelationshipContext.GetListFriendsID(userId);
            model.friends     = RelationshipContext.GetListFriend(userId);
            return(View(model));
        }
Exemplo n.º 3
0
 public HttpResponseMessage GetRelationship([FromBody] MasterRelationship objstatus)
 {
     try
     {
         RelationshipContext objStateContext = new RelationshipContext();
         IEnumerable <MasterRelationship> maritalStatuses = objStateContext.GetRelationship(objstatus);
         return(Request.CreateResponse(HttpStatusCode.OK, maritalStatuses));
     }
     catch (Exception ex)
     {
         //objErrorLogServices.LogError("Client", "GetClient", "", "", ex.Message.ToString());
         return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, "Internal Server Error"));
     }
 }
Exemplo n.º 4
0
        public ActionResult CancelRequest(int userId)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(null);
            }
            int user_one_id = UserContext.GetUserId(User.Identity.Name);

            if (user_one_id == -1)
            {
                return(null);
            }
            if (!RelationshipContext.UpdateRelation(user_one_id, userId, CONST.FRIEND_OPTIONS.None))
            {
                return(null);
            }
            return(RedirectToAction("TestRelationship", "Relationship"));
        }
Exemplo n.º 5
0
        public ActionResult TestRelationship()
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Index", "Home"));
            }
            List <user> listAllUsers = UserContext.GetAll();

            List <RelationshipViewModels> listRelationship = new List <RelationshipViewModels>();
            int user_one_id = UserContext.GetUserId(User.Identity.Name);

            foreach (var user in listAllUsers)
            {
                RelationshipViewModels relationshipViewModel = new RelationshipViewModels();
                relationshipViewModel.userId   = user.user_id;
                relationshipViewModel.username = user.username;
                relationshipViewModel.status   = RelationshipContext.CheckRelationship(user_one_id, user.user_id);
                listRelationship.Add(relationshipViewModel);
            }
            ViewBag.allUsers = listRelationship;
            return(View());
        }
Exemplo n.º 6
0
        public bool RequestFriend(int userId)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(false);
            }
            if (!UserContext.IsContains(userId))
            {
                return(false);
            }
            int user_one_id = UserContext.GetUserId(User.Identity.Name);

            if (user_one_id == -1)
            {
                return(false);
            }
            if (!RelationshipContext.UpdateRelation(user_one_id, userId, CONST.FRIEND_OPTIONS.Request))
            {
                return(false);
            }
            //return RedirectToAction("TestRelationship", "Relationship");
            return(true);
        }
        private void ResolveResourceRelationship(IDomRelationship domRelationship,
                                                 IHypermediaContext hypermediaContext,
                                                 IHypermediaAssembler hypermediaAssembler,
                                                 IResourcePathContext resourcePathContext,
                                                 Type clrResourceType,
                                                 object clrResource,
                                                 DomReadWriteRelationships domReadWriteRelationships)
        {
            if (domRelationship.IsReadOnly)
            {
                return;
            }

            // Resolve read-write relationship
            var domReadWriteRelationship = (DomReadWriteRelationship)domRelationship;

            // .. Rel
            var apiRelationshipRel = domReadWriteRelationship.Rel;

            // .. Links
            var linkContexts         = new List <ILinkContext>();
            var domRelationshipLinks = (IDomLinks)domReadWriteRelationship.GetNode(DomNodeType.Links);

            if (domRelationshipLinks != null)
            {
                if (domRelationshipLinks.IsReadOnly)
                {
                    // A read-write relationship contains unexpected read-only relationship links.
                    var detail = ServerErrorStrings.DomExceptionDetailReadWriteNodeHasUnexpectedReadOnlyChildNode
                                 .FormatWith(DomNodeType.Relationship, DomNodeType.Links);
                    throw new DomException(detail);
                }

                var domReadWriteRelationshipLinks = (DomReadWriteLinks)domRelationshipLinks;
                foreach (var domLink in domReadWriteRelationshipLinks.Nodes().Cast <IDomLink>())
                {
                    if (domLink.IsReadOnly)
                    {
                        // A read-write relationship contains unexpected read-only relationship link.
                        var detail = ServerErrorStrings.DomExceptionDetailReadWriteNodeHasUnexpectedReadOnlyChildNode
                                     .FormatWith(DomNodeType.Relationship, DomNodeType.Link);
                        throw new DomException(detail);
                    }

                    // Resolve read-write relationship link
                    var domReadWriteLink = (DomReadWriteLink)domLink;
                    var apiLinkRel       = domReadWriteLink.Rel;

                    var apiLinkMeta = default(Meta);
                    var domMeta     = (IDomMeta)domReadWriteLink.GetNode(DomNodeType.Meta);
                    if (domMeta != null)
                    {
                        apiLinkMeta = domMeta.Meta;
                    }

                    var linkContext = new LinkContext(apiLinkRel, apiLinkMeta);
                    linkContexts.Add(linkContext);
                }
            }

            // .. Data
            var resourceType = this.ServiceModel.GetResourceType(clrResourceType);
            var fromApiResourceIdentifier = resourceType.GetApiResourceIdentifier(clrResource);

            var             resourceLinkageKey = new ResourceLinkageKey(fromApiResourceIdentifier, apiRelationshipRel);
            ResourceLinkage resourceLinkage;
            var             hasResourceLinkage = this.DocumentBuilderContext.TryGetResourceLinkage(resourceLinkageKey, out resourceLinkage);

            // .. Meta
            var apiRelationshipMeta = default(Meta);
            var domRelationshipMeta = (IDomMeta)domReadWriteRelationship.GetNode(DomNodeType.Meta);

            if (domRelationshipMeta != null)
            {
                apiRelationshipMeta = domRelationshipMeta.Meta;
            }

            // Create the correct relationship context based on resource linkage (if any).
            RelationshipContext relationshipContext;

            if (hasResourceLinkage)
            {
                var resourceLinkageType = resourceLinkage.Type;
                switch (resourceLinkageType)
                {
                case ResourceLinkageType.ToOneResourceLinkage:
                {
                    var toOneResourceLinkage = resourceLinkage.ToOneResourceLinkage;
                    relationshipContext = new ToOneRelationshipContext(apiRelationshipRel, linkContexts, toOneResourceLinkage, apiRelationshipMeta);
                }
                break;

                case ResourceLinkageType.ToManyResourceLinkage:
                {
                    var toManyResourceLinkage = resourceLinkage.ToManyResourceLinkage;
                    relationshipContext = new ToManyRelationshipContext(apiRelationshipRel, linkContexts, toManyResourceLinkage, apiRelationshipMeta);
                }
                break;

                default:
                {
                    var detail = InfrastructureErrorStrings.InternalErrorExceptionDetailUnknownEnumerationValue
                                 .FormatWith(typeof(ResourceLinkageType).Name, resourceLinkageType);
                    throw new InternalErrorException(detail);
                }
                }
            }
            else
            {
                relationshipContext = new RelationshipContext(apiRelationshipRel, linkContexts, apiRelationshipMeta);
            }

            // Create relationship.
            var apiResourceRelationship = hypermediaAssembler.CreateResourceRelationship(hypermediaContext, resourcePathContext, clrResourceType, clrResource, relationshipContext);

            // Replace the old DOM read-write relationship node with a new DOM read-only relationship created by the framework.
            var domReadOnlyRelationship = DomReadOnlyRelationship.Create(apiRelationshipRel, apiResourceRelationship);

            domReadWriteRelationships.ReplaceNode(domReadWriteRelationship, domReadOnlyRelationship);
        }
Exemplo n.º 8
0
 public RelationshipController()
 {
     _relationshipContext = new RelationshipContext();
     _userContext         = new UserContext();
 }