public FriendshipRequestViewModel BuildViewModel(FriendshipRequest friendshipRequest)
        {
            var result = new FriendshipRequestViewModel();

            result.UserKey = friendshipRequest.Sender.User.Key;
            result.FirstName = friendshipRequest.Sender.FirstName;
            result.LastName = friendshipRequest.Sender.LastName;
            result.Email = friendshipRequest.Sender.User.Email;
            result.RequestDate = friendshipRequest.CreationdDate;

            return result;
        }
Пример #2
0
 public FriendshipRequestAcceptedDomainEvent(FriendshipRequest friendshipRequest)
 {
     FriendshipRequest = friendshipRequest;
 }
 public void SendRequest(User sender, User receiver)
 {
     this._userValidator.Validate(sender);
     this._userValidator.Validate(receiver);
     try
     {
         var friendshipRequest = new FriendshipRequest(
             sender.UserProfile,
             receiver.UserProfile);
         this.UnitOfWork.Repository<FriendshipRequest, int>().Insert(friendshipRequest);
         this.UnitOfWork.Save();
     }
     catch (DbException ex)
     {
         throw new FriendshipServiceException(EntityValidationException.DefaultMessage, ex);
     }
 }
Пример #4
0
        public static MsCrmResultObject GetFriendshipRequestInfo(Guid requestId, SqlDataAccess sda)
        {
            MsCrmResultObject returnValue = new MsCrmResultObject();

            try
            {
                #region | SQL QUERY |
                string query = @"SELECT
                                    fr.new_friendshiprequestId AS Id
                                    ,fr.new_name AS Name
                                    ,fr. new_fromuserId AS FromId
                                    ,new_fromuserIdName AS fromIdName
                                    ,fr.new_touserId AS ToId
                                    ,fr.new_touserIdName AS ToIdName
                                    ,fr.new_portalId AS PortalId
                                    ,fr.new_portalIdName AS PortalIdName
                                FROM
                                    new_friendshiprequest AS fr (NOLOCK)
                                WHERE
                                    fr.new_friendshiprequestId='{0}'";
                #endregion

                DataTable dt = sda.getDataTable(string.Format(query, requestId));

                if (dt != null && dt.Rows.Count > 0)
                {
                    FriendshipRequest _request = new FriendshipRequest();

                    _request.Id = (Guid)dt.Rows[0]["Id"];
                    if (dt.Rows[0]["Name"] != DBNull.Value) { _request.Name = dt.Rows[0]["Name"].ToString(); }

                    if (dt.Rows[0]["PortalId"] != DBNull.Value)
                    {
                        EntityReference er = new EntityReference()
                        {
                            Id = (Guid)dt.Rows[0]["PortalId"],
                            Name = dt.Rows[0]["PortalIdName"].ToString(),
                            LogicalName = "new_portal"
                        };

                        _request.Portal = er;
                    }

                    if (dt.Rows[0]["FromId"] != DBNull.Value)
                    {
                        EntityReference er = new EntityReference()
                        {
                            Id = (Guid)dt.Rows[0]["FromId"],
                            Name = dt.Rows[0]["FromIdName"].ToString(),
                            LogicalName = "new_user"
                        };

                        _request.From = er;
                    }

                    if (dt.Rows[0]["ToId"] != DBNull.Value)
                    {
                        EntityReference er = new EntityReference()
                        {
                            Id = (Guid)dt.Rows[0]["ToId"],
                            Name = dt.Rows[0]["ToIdName"].ToString(),
                            LogicalName = "new_user"
                        };

                        _request.To = er;
                    }

                    returnValue.Success = true;
                    returnValue.ReturnObject = _request;
                }
                else
                {
                    returnValue.Success = false;
                    returnValue.Result = "M042"; //"Arkadaşlık isteğine ait bir bilgi bulunamadı!";
                }
            }
            catch (Exception ex)
            {
                returnValue.Success = false;
                returnValue.Result = ex.Message;
            }

            return returnValue;
        }
Пример #5
0
        public static MsCrmResult CreateFriendshipRequest(FriendshipRequest request, IOrganizationService service)
        {
            MsCrmResult returnValue = new MsCrmResult();
            try
            {
                Entity ent = new Entity("new_friendshiprequest");

                if (request.From != null && request.From.Id != Guid.Empty)
                {
                    ent["new_fromuserid"] = request.From;
                }

                if (request.To != null && request.To.Id != Guid.Empty)
                {
                    ent["new_touserid"] = request.To;
                }

                if (request.Portal != null && request.Portal.Id != Guid.Empty)
                {
                    ent["new_portalid"] = request.Portal;
                }

                ent["new_name"] = request.From.Name + "-" + request.To.Name;

                returnValue.CrmId = service.Create(ent);
                returnValue.Success = true;
                returnValue.Result = "M038"; //"Arkadaşlık talebiniz oluşturulmuştur.";
            }
            catch (Exception ex)
            {
                returnValue.Success = false;
                returnValue.Result = ex.Message;
            }
            return returnValue;
        }
Пример #6
0
 public Task<StatusData<string>> RequestFriend(FriendshipRequest request, SystemSession session)
 {
     return _jUnitOfWork.Friend.RequestFriend(request, session);
 }
Пример #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FriendshipRequestSentDomainEvent"/> class.
 /// </summary>
 /// <param name="friendshipRequest">The friendship request.</param>
 internal FriendshipRequestSentDomainEvent(FriendshipRequest friendshipRequest) => FriendshipRequest = friendshipRequest;
Пример #8
0
 public FriendshipRequestViewModel(FriendshipRequest request)
 {
     this.Id     = request.Id;
     this.Status = request.Status;
     this.Friend = new FriendViewModel(request.Recipient);
 }
Пример #9
0
 public async Task <StatusData <string> > RequestFriend(FriendshipRequest request, SystemSession session)
 {
     return((await Task.Factory.StartNew(() => Client.UserService.FriendRequest(session.UserName, request.FriendId, request.CategoryId, session.GetSession(), request.FriendId)).ConfigureAwait(false)).GetStatusData <string>());
 }
Пример #10
0
        public MsCrmResult CreateFriendshipRequest(string token, FriendshipRequest request)
        {
            MsCrmResult returnValue = new MsCrmResult();
            LoginSession ls = new LoginSession();

            try
            {
                if (!string.IsNullOrEmpty(token))
                {
                    #region | CHECK SESSION |
                    MsCrmResultObject sessionResult = GetUserSession(token);

                    if (!sessionResult.Success)
                    {
                        returnValue.Result = sessionResult.Result;
                        return returnValue;
                    }
                    else
                    {
                        ls = (LoginSession)sessionResult.ReturnObject;
                    }

                    #endregion
                }
                else
                {
                    returnValue.Success = false;
                    returnValue.Result = "M003"; //"Eksik parametre!-CreateFriendshipRequest";
                }

                IOrganizationService service = MSCRM.GetOrgService(true);

                returnValue = FriendshipHelper.CreateFriendshipRequest(request, service);
            }
            catch (Exception ex)
            {
                returnValue.Success = false;
                returnValue.Result = ex.Message;
            }

            return returnValue;
        }
Пример #11
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FriendshipRequestRejectedDomainEvent"/> class.
 /// </summary>
 /// <param name="friendshipRequest">The friendship request.</param>
 internal FriendshipRequestRejectedDomainEvent(FriendshipRequest friendshipRequest) => FriendshipRequest = friendshipRequest;
Пример #12
0
        public MsCrmResult CloseFriendshipRequest(string token, string requestId, int statusCode)
        {
            MsCrmResult returnValue = new MsCrmResult();
            LoginSession ls = new LoginSession();

            try
            {
                if (!string.IsNullOrEmpty(token))
                {
                    #region | CHECK SESSION |
                    MsCrmResultObject sessionResult = GetUserSession(token);

                    if (!sessionResult.Success)
                    {
                        returnValue.Result = sessionResult.Result;
                        return returnValue;
                    }
                    else
                    {
                        ls = (LoginSession)sessionResult.ReturnObject;
                    }

                    #endregion

                    sda = new SqlDataAccess();
                    sda.openConnection(Globals.ConnectionString);

                    IOrganizationService service = MSCRM.GetOrgService(true);

                    returnValue = FriendshipHelper.CloseFriendshipRequest(new Guid(requestId), (FriendshipRequestStatus)statusCode, service);

                    if (returnValue.Success)
                    {
                        FriendshipRequest req = new FriendshipRequest();
                        MsCrmResultObject reqResult = FriendshipHelper.GetFriendshipRequestInfo(new Guid(requestId), sda);

                        if (reqResult.Success && ((FriendshipRequestStatus)statusCode) == FriendshipRequestStatus.Accepted)
                        {
                            req = (FriendshipRequest)reqResult.ReturnObject;

                            Friendship fr = new Friendship();
                            fr.PartyOne = req.From;
                            fr.PartyTwo = req.To;
                            fr.Portal = req.Portal;
                            fr.FriendshipRequest = new EntityReference("new_friendshiprequest", req.Id);

                            returnValue = FriendshipHelper.CreateFriendship(fr, service);
                        }
                    }
                }
                else
                {
                    returnValue.Success = false;
                    returnValue.Result = "M003"; //"Eksik parametre!-CloseFriendshipRequest";
                }

            }
            catch (Exception ex)
            {
                returnValue.Success = false;
                returnValue.Result = ex.Message;
            }
            finally
            {
                if (sda != null)
                    sda.closeConnection();
            }
            return returnValue;
        }
Пример #13
0
        private FriendshipRequestDto GetFriendshipRequestDto(FriendshipRequest request)
        {
            FriendshipRequestDto requestDto = new FriendshipRequestDto(request.SenderId, request.ReceiverId, request.SendingDate);

            return(requestDto);
        }
Пример #14
0
 public async Task<StatusData<string>> RequestFriend(FriendshipRequest request, SystemSession session)
 {
     return (await Task.Factory.StartNew(() => Client.UserService.FriendRequest(session.UserName, request.FriendId, request.CategoryId, session.GetSession(), request.FriendId)).ConfigureAwait(false)).GetStatusData<string>();
 }
Пример #15
0
 public Task <StatusData <string> > RequestFriend(FriendshipRequest request, SystemSession session)
 {
     return(_jUnitOfWork.Friend.RequestFriend(request, session));
 }
Пример #16
0
        public static MsCrmResultObject GetFriendshipRequestInfo(Guid requestId, SqlDataAccess sda)
        {
            MsCrmResultObject returnValue = new MsCrmResultObject();

            try
            {
                #region | SQL QUERY |
                string query = @"SELECT
	                                fr.new_friendshiprequestId AS Id
	                                ,fr.new_name AS Name
	                                ,fr. new_fromuserId AS FromId
	                                ,new_fromuserIdName AS fromIdName
	                                ,fr.new_touserId AS ToId
	                                ,fr.new_touserIdName AS ToIdName
	                                ,fr.new_portalId AS PortalId
	                                ,fr.new_portalIdName AS PortalIdName
                                FROM
	                                new_friendshiprequest AS fr (NOLOCK)
                                WHERE
	                                fr.new_friendshiprequestId='{0}'"    ;
                #endregion

                DataTable dt = sda.getDataTable(string.Format(query, requestId));

                if (dt != null && dt.Rows.Count > 0)
                {
                    FriendshipRequest _request = new FriendshipRequest();

                    _request.Id = (Guid)dt.Rows[0]["Id"];
                    if (dt.Rows[0]["Name"] != DBNull.Value)
                    {
                        _request.Name = dt.Rows[0]["Name"].ToString();
                    }

                    if (dt.Rows[0]["PortalId"] != DBNull.Value)
                    {
                        EntityReference er = new EntityReference()
                        {
                            Id          = (Guid)dt.Rows[0]["PortalId"],
                            Name        = dt.Rows[0]["PortalIdName"].ToString(),
                            LogicalName = "new_portal"
                        };

                        _request.Portal = er;
                    }

                    if (dt.Rows[0]["FromId"] != DBNull.Value)
                    {
                        EntityReference er = new EntityReference()
                        {
                            Id          = (Guid)dt.Rows[0]["FromId"],
                            Name        = dt.Rows[0]["FromIdName"].ToString(),
                            LogicalName = "new_user"
                        };

                        _request.From = er;
                    }

                    if (dt.Rows[0]["ToId"] != DBNull.Value)
                    {
                        EntityReference er = new EntityReference()
                        {
                            Id          = (Guid)dt.Rows[0]["ToId"],
                            Name        = dt.Rows[0]["ToIdName"].ToString(),
                            LogicalName = "new_user"
                        };

                        _request.To = er;
                    }

                    returnValue.Success      = true;
                    returnValue.ReturnObject = _request;
                }
                else
                {
                    returnValue.Success = false;
                    returnValue.Result  = "M042"; //"Arkadaşlık isteğine ait bir bilgi bulunamadı!";
                }
            }
            catch (Exception ex)
            {
                returnValue.Success = false;
                returnValue.Result  = ex.Message;
            }

            return(returnValue);
        }
Пример #17
0
        public void ShouldBePendingAfterInitialization()
        {
            FriendshipRequest friendshipRequest = GetFriendshipRequest();

            Assert.IsTrue(friendshipRequest.IsPending);
        }
Пример #18
0
 /// <summary>
 /// Initializes a new instance of the <see cref="FriendshipRequestAcceptedDomainEvent"/> class.
 /// </summary>
 /// <param name="friendshipRequest">The friendship request.</param>
 internal FriendshipRequestAcceptedDomainEvent(FriendshipRequest friendshipRequest) => FriendshipRequest = friendshipRequest;
Пример #19
0
        public async Task <Object> SendRequest(string myUserName, Friend model)
        {
            var userI = await _userManager.FindByNameAsync(myUserName);

            if (userI == null)
            {
                return(NotFound("Sending request failed. Server not found current user."));
            }

            var userNewFriend = await _userManager.FindByNameAsync(model.Username);

            if (userNewFriend == null)
            {
                return(NotFound("Sending request failed. Server not found entered user. Please enter different username."));
            }

            if (myUserName.Equals(model.Username))
            {
                return(NotFound("Sending request failed. Disabling sending requests to yourself."));
            }

            FriendshipRequest friendshipRequest = new FriendshipRequest()
            {
                SenderJMBG      = long.Parse(userI.Id),
                RecieverJMBG    = long.Parse(userNewFriend.Id),
                RequestAccepted = false
            };

            var find1 = _context.FriendshipRequests.Find(friendshipRequest.SenderJMBG, friendshipRequest.RecieverJMBG);

            if (find1 != null)
            {
                if (find1.RequestAccepted == false)
                {
                    // ne moze jer sam mu vec poslao zahtev
                    return(NotFound("Sending request failed because you already send requst to entered user."));
                }

                // ne moze jer smo vec prijatelji (na moju inicijaltivu)
                return(NotFound("Sending request failed.Entered user and you are friends already."));
            }

            friendshipRequest.SenderJMBG   = long.Parse(userNewFriend.Id);
            friendshipRequest.RecieverJMBG = long.Parse(userI.Id);
            var find2 = _context.FriendshipRequests.Find(friendshipRequest.SenderJMBG, friendshipRequest.RecieverJMBG);

            if (find2 != null)
            {
                if (find2.RequestAccepted == false)
                {
                    // ne moze jer je on meni posalo zahtev
                    return(NotFound("Sending request failed because entered user already send request to you."));
                }

                // ne moze jer smo vec prijatelji (na njegovu inicijativu)
                return(NotFound("Sending request failed.Entered user and you are friends already."));
            }

            friendshipRequest.SenderJMBG   = long.Parse(userI.Id);
            friendshipRequest.RecieverJMBG = long.Parse(userNewFriend.Id);

            try
            {
                _context.FriendshipRequests.Add(friendshipRequest);
                _context.SaveChanges();
                return(Ok());
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Пример #20
0
        public async Task <HttpResponseMessage> Put([FromBody] FriendshipRequest request)
        {
            var response = await _service.RequestFriend(request, Request.GetSession()).ConfigureAwait(false);

            return(Request.SystemResponse(response));
        }