コード例 #1
0
ファイル: Group.cs プロジェクト: shinolab/autd3sharp
        public static void Test(Controller autd)
        {
            var config = new SilencerConfig();

            autd.Send(config);

            const double x = Controller.DeviceWidth / 2;
            const double y = Controller.DeviceHeight / 2;
            const double z = 150;

            var center = new Vector3d(x, y, z);

            var g1 = new Focus(center);
            var g2 = new GSPAT();

            g2.Add(center + new Vector3d(30.0, 0.0, 0.0), 1.0);
            g2.Add(center - new Vector3d(30.0, 0.0, 0.0), 1.0);

            var gain = new Grouped(autd);

            gain.Add(0, g1);
            gain.Add(1, g2);
            var mod = new Sine(150); // AM sin 150 Hz

            autd.Send(mod, gain);
        }
コード例 #2
0
        private async Task SortDataAsync()
        {
            _userSelf = await _requestService.GetAsync <UserInfoContract>("api/UserInfoSelf");

            ContactSearchRequestFriends.Clear();
            MutualFriends.Clear();
            PendingFriends.Clear();
            InitiatedRequestFriends.Clear();

            var entire = await _friendRequestService.GetAllFriendRequestsAsync();

            var initiated = entire.Where(f => f.InitiatorId.Equals(_userSelf.Id) &&
                                         !f.TargetId.Equals(_userSelf.Id)).ToList();
            var targeted = entire.Where(f => f.TargetId.Equals(_userSelf.Id) &&
                                        !f.InitiatorId.Equals(_userSelf.Id)).ToList();

            // first scan through inbound requests,
            // if there is also an initiated request, becomes mutual,
            // otherwise, it is a pending request
            foreach (var req in targeted)
            {
                var initiatorInfo = await _userInfoService.GetUserInfoAsync(req.InitiatorId);

                if (initiated.Any(f => f.TargetId.Equals(req.InitiatorId)))
                {
                    MutualFriends.Add(new FriendViewCellModel(initiatorInfo,
                                                              req.TimeStamp,
                                                              req.Type ?? FriendRequestType.Normal,
                                                              FriendStatus.Mutual));
                }
                else
                {
                    PendingFriends.Add(new FriendViewCellModel(initiatorInfo,
                                                               req.TimeStamp,
                                                               req.Type ?? FriendRequestType.Normal,
                                                               FriendStatus.PendingRequest));
                }
            }
            // scan through the initiated requests,
            // ignoring requests that have a matching target record,
            // these should have already been placed into mutual
            foreach (var req in initiated)
            {
                if (!targeted.Any(f => f.InitiatorId.Equals(req.TargetId)))
                {
                    var targetInfo = await _userInfoService.GetUserInfoAsync(req.TargetId);

                    InitiatedRequestFriends.Add(new FriendViewCellModel(targetInfo,
                                                                        req.TimeStamp,
                                                                        req.Type ?? FriendRequestType.Normal,
                                                                        FriendStatus.Initiated));
                }
            }
            Grouped.Clear();
            GroupedFriendModel csg = new GroupedFriendModel()
            {
                LongName = "Your Contacts", ShortName = "C"
            };

            if (_includeImportedContacts)
            {
                foreach (var mv in ContactSearchRequestFriends.OrderBy(m => m.FirstAndLastName))
                {
                    csg.Add(mv);
                }
            }
            GroupedFriendModel pg = new GroupedFriendModel()
            {
                LongName = "Pending Friend Requests", ShortName = "P"
            };

            foreach (var pv in PendingFriends.OrderBy(m => m.FirstAndLastName))
            {
                pg.Add(pv);
            }
            GroupedFriendModel mg = new GroupedFriendModel()
            {
                LongName = "Mutual Friends", ShortName = "M"
            };

            foreach (var mv in MutualFriends.OrderBy(m => m.FirstAndLastName))
            {
                mg.Add(mv);
            }
            GroupedFriendModel ig = new GroupedFriendModel()
            {
                LongName = "Waiting for Response", ShortName = "W"
            };

            foreach (var iv in InitiatedRequestFriends.OrderBy(m => m.FirstAndLastName))
            {
                ig.Add(iv);
            }
            if (_includeImportedContacts)
            {
                Grouped.Add(csg);
            }
            Grouped.Add(pg);
            Grouped.Add(mg);
            Grouped.Add(ig);
        }
コード例 #3
0
        private void FilterGroupsBySearch()
        {
            Grouped.Clear();
            GroupedFriendModel csg = new GroupedFriendModel()
            {
                LongName = "Your Contacts", ShortName = "C"
            };
            GroupedFriendModel pg = new GroupedFriendModel()
            {
                LongName = "Pending Friend Requests", ShortName = "P"
            };
            GroupedFriendModel mg = new GroupedFriendModel()
            {
                LongName = "Mutual Friends", ShortName = "M"
            };
            GroupedFriendModel ig = new GroupedFriendModel()
            {
                LongName = "Waiting for Response", ShortName = "W"
            };

            if (String.IsNullOrEmpty(SearchEntry))
            {
                if (_includeImportedContacts)
                {
                    foreach (var mv in ContactSearchRequestFriends.OrderBy(m => m.FirstAndLastName))
                    {
                        csg.Add(mv);
                    }
                }
                foreach (var pv in PendingFriends.OrderBy(m => m.FirstAndLastName))
                {
                    pg.Add(pv);
                }
                foreach (var mv in MutualFriends.OrderBy(m => m.FirstAndLastName))
                {
                    mg.Add(mv);
                }
                foreach (var iv in InitiatedRequestFriends.OrderBy(m => m.FirstAndLastName))
                {
                    ig.Add(iv);
                }
            }
            else
            {
                if (_includeImportedContacts)
                {
                    foreach (var mv in ContactSearchRequestFriends
                             .Where(p => p.UserName
                                    .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                    p.FirstName
                                    .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                    p.LastName
                                    .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                    p.PhoneNumber
                                    .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase))
                             .OrderBy(m => m.FirstAndLastName))
                    {
                        csg.Add(mv);
                    }
                }
                foreach (var pv in PendingFriends
                         .Where(p => p.UserName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.FirstName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.LastName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.PhoneNumber
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase))
                         .OrderBy(m => m.FirstAndLastName))
                {
                    pg.Add(pv);
                }
                foreach (var mv in MutualFriends
                         .Where(p => p.UserName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.FirstName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.LastName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.PhoneNumber
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase))
                         .OrderBy(m => m.FirstAndLastName))
                {
                    mg.Add(mv);
                }
                foreach (var iv in InitiatedRequestFriends
                         .Where(p => p.UserName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.FirstName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.LastName
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase) ||
                                p.PhoneNumber
                                .StartsWith(SearchEntry, StringComparison.OrdinalIgnoreCase))
                         .OrderBy(m => m.FirstAndLastName))
                {
                    ig.Add(iv);
                }
            }
            if (_includeImportedContacts)
            {
                Grouped.Add(csg);
            }
            Grouped.Add(pg);
            Grouped.Add(mg);
            Grouped.Add(ig);
        }
コード例 #4
0
        /// ------------------------------------------------------------------------------------------------

        /// ------------------------------------------------------------------------------------------------
        #region Private functions

        /// <summary>
        /// Load Request list view
        /// </summary>
        private void Load_Case()
        {
            try
            {
                _cellHeight  = 0;
                _recordIndex = 0;
                int reqindcheck = 0;


                _index       = new List <Tuple <int, int, int> >();
                _lstReqIndex = new List <int>();
                PropertyMapping temp = PropertyMappingFromIndex(_initialSectionIndex); //To get the property mapping

                for (int i = 1; i < temp.ActiveExpanded.Count; i++)
                {
                    _propertyIndex = temp.ActiveExpanded[1].Property;
                    var requestGroup = temp.ActiveExpanded[i].RequestGroup;
                    if (requestGroup != null)
                    {
                        _requestIndex = requestGroup.Value;
                    }

                    if (temp.ActiveExpanded[i].Record != null)
                    {
                        _recordIndex = temp.ActiveExpanded[i].Record.Value;
                        if (!_lstReqIndex.Contains(_requestIndex))
                        {
                            _lstReqIndex.Add(_requestIndex);                                                    //Request Group index list
                        }
                        _index.Add(Tuple.Create(temp.ActiveExpanded[i].Property, _requestIndex, _recordIndex)); //To get the index mapping of request group
                    }
                }

                foreach (var record in LstRequestGroup)
                {
                    int recordHeight = 0;
                    int reqGrpIndex  = _lstReqIndex[reqindcheck];
                    SriRequestGrp = new GroupedRequestGroupModel()
                    {
                        GroupName = record.Name
                    };

                    if (record.Records.Count > 0)
                    {
                        //filter mode is ALL
                        if (AppData.PropertyModel.Filter == FilterMode.All || AppData.PropertyModel.Filter == FilterMode.Complete || AppData.PropertyModel.Filter == FilterMode.Incomplete)
                        {
                            List <int> lstRecIndex = new List <int>();
                            foreach (Tuple <int, int, int> tupleindex in _index)
                            {
                                if (tupleindex.Item1 == _propertyIndex && tupleindex.Item2 == reqGrpIndex)
                                {
                                    lstRecIndex.Add(tupleindex.Item3);//Records index list
                                }
                            }

                            for (int i = 0; i < (record.Records.Count > 1 ? record.TempRecords.Count : record.Records.Count); i++)
                            {
                                SriRequestGrp.Add(new SRiRequestGroupModel()
                                {
                                    GroupDetails       = record.Records.Count > 1 ? record.TempRecords[i].Record.Details : record.Records[i].Record.Details ?? "No details given",
                                    TargetResponseDate = record.Records.Count > 1 ? record.TempRecords[i].Record.TargetResponseDate.ToDateString() : record.Records[i].Record.TargetResponseDate.ToDateString(),
                                    ShortIndex         = new ShortIndexMapping(_initialSectionIndex, reqGrpIndex, lstRecIndex[i], _propertyIndex),
                                    GrayLine           = (record.Records.Count > 1 ? record.TempRecords.Count - 1 : record.Records.Count - 1) != i, // To set the gray line between records of same groupname,
                                    UploadStatusImage  = GetSyncStatus(record.Records.Count > 1 ? record.TempRecords[i].Record.Status : record.Records[i].Record.Status)
                                });
                                recordHeight++;
                            }
                            _cellHeight++;
                            Grouped.Add(SriRequestGrp);
                        }
                        #region future check
                        //fileter mode is Complete
                        else if (AppData.PropertyModel.Filter == FilterMode.Complete)
                        {
                            List <int> recIndex = new List <int>();
                            for (int s = 0; s < _index.Count; s++)
                            {
                                if (_index[s].Item1 == _propertyIndex && _index[s].Item2 == reqGrpIndex)
                                {
                                    recIndex.Add(_index[s].Item3);
                                }
                            }

                            for (int i = 0; i < record.Records.Count; i++)
                            {
                                SriRequestGrp.Add(new SRiRequestGroupModel()
                                {
                                    GroupDetails       = record.Records[i].Record.Details ?? "No details given",
                                    TargetResponseDate = record.Records[i].Record.TargetResponseDate.ToDateString(),
                                    ShortIndex         = new ShortIndexMapping(_initialSectionIndex, reqGrpIndex, recIndex[i], _propertyIndex),
                                    GrayLine           = (record.Records.Count - 1) != i // To set the gray line between records of same groupname
                                });
                            }
                            _cellHeight++;
                            Grouped.Add(SriRequestGrp);
                        }
                        //fileter mode is Incomplete
                        else
                        {
                            List <int> recIndex = new List <int>();
                            for (int s = 0; s < _index.Count; s++)
                            {
                                if (_index[s].Item1 == _propertyIndex && _index[s].Item2 == reqGrpIndex)
                                {
                                    recIndex.Add(_index[s].Item3);
                                }
                            }
                            for (int i = 0; i < record.Records.Count; i++)
                            {
                                SriRequestGrp.Add(new SRiRequestGroupModel()
                                {
                                    GroupDetails       = record.Records[i].Record.Details ?? "No details given",
                                    TargetResponseDate = record.Records[i].Record.TargetResponseDate.ToDateString(),
                                    ShortIndex         = new ShortIndexMapping(_initialSectionIndex, reqGrpIndex, recIndex[i], _propertyIndex),
                                    GrayLine           = (record.Records.Count - 1) != i // To set the gray line between records of same groupname
                                });
                            }
                            _cellHeight++;
                            Grouped.Add(SriRequestGrp);
                        }
                        #endregion
                        var height = recordHeight == 2 ? recordHeight * Device.OnPlatform <double>(38, 38, 36) : 0;

                        HeightRequest = (_cellHeight * Device.OnPlatform <double>(108, 108, 124)) + height;
                        //To Fix the height of listgroup
                    }
                    reqindcheck++;
                }
                GC.Collect();
            }
            catch (Exception ex)
            {
                LogTracking.LogTrace(ex.ToString());
            }
        }