예제 #1
0
 public TagsService(
     UnitOfWork uof,
     RepositoryHolder repositoryHolder)
 {
     _uof = uof;
     _repositoryHolder = repositoryHolder;
 }
 /// <summary>
 /// Конструктор по умолчанию
 /// </summary>
 /// <param name="repository">Репозиторий, для которого производится поиск</param>
 public LocalBranchLookupProvider(
     RepositoryHolder repository)
 {
     ValueGetter = () =>
                   repository.Branches
                   .Where(x => !x.IsRemote)
                   .ToLookup(x => x.FriendlyName);
 }
예제 #3
0
 public SongMarksService(
     UnitOfWork uof,
     RepositoryHolder repositoryHolder,
     SongMarkCalculator songMarkCalculator)
 {
     _uof = uof;
     _repositoryHolder   = repositoryHolder;
     _songMarkCalculator = songMarkCalculator;
 }
        /// <summary>
        /// Конструктор по умолчанию
        /// </summary>
        /// <param name="repository">Репозиторий, для которого производится поиск</param>
        /// <param name="defaultBranch">Ветка по умолчанию</param>
        /// <param name="branchLookup">Хранилище локальных веток</param>
        public LocalBranchProvider(
            RepositoryHolder repository,
            Holder <DefaultBranchInfo> defaultBranch,
            Holder <ILocalBranchLookup> branchLookup)
        {
            CreateBranch = branchName =>
                           repository.Value.CreateBranch(branchName,
                                                         target: defaultBranch.Value.Branch.Tip);

            Branches = branchLookup;
        }
예제 #5
0
        private static async void RunProgram()
        {
            await Task.Delay(0);

            var redisManager = new RepositoryHolder(RedisHelper.Instance.Database);

            redisManager.RegisterHash <User>(m =>
            {
                m.SetName("users");
                m.MapId(x => x.Id, index: true);
                m.Map(x => x.FirstName, "first_name");
                m.Map(x => x.LastName, "last_name");
                m.Map(x => x.Entries, "moreinfo");
            });
            var repo = redisManager.GetHashRepository <User>();

            await repo.StoreAsync(new User()
            {
                Id        = 8,
                FirstName = "Peter",
                LastName  = "Parker",
                Entries   = new Dictionary <string, string>()
                {
                    { "wife_name", "Guadalupe" },
                    { "kids", 3.ToString() },
                },
            }, expiration : 30);

            var user = await repo.RetrieveAsync(8);

            if (user != null)
            {
                Console.WriteLine($"USER: {user.Id}\n\tFirst Name:\t{user.FirstName}\n\tLast Name:\t{user.LastName}");
            }
            else
            {
                Console.WriteLine("User not found!");
            }

            var ids = await repo.GetIdsAsync();

            var users = Task.WhenAll(ids.Select(x => repo.RetrieveAsync(x)).ToList());

            foreach (var id in ids)
            {
                Console.WriteLine($"id => {id}");
            }
            await repo.DeleteByIdAsync(8);

            /* end */
            Console.WriteLine("--END--");
        }
예제 #6
0
 public SongsService(
     UnitOfWork uof,
     RepositoryHolder repositoryHolder,
     ArtistsService artistsService,
     TagsService tagsService,
     SongMarkCalculator songMarkCalculator)
 {
     _uof = uof;
     _repositoryHolder   = repositoryHolder;
     _artistsService     = artistsService;
     _tagsService        = tagsService;
     _songMarkCalculator = songMarkCalculator;
 }
            /// <summary>
            /// Конструктор по умолчанию
            /// </summary>
            /// <param name="repository">Репозиторий, для которого производится поиск</param>
            /// <param name="remote">Ссылка на сервер репозитория</param>
            public RemoteBranchLookupProvider(
                RepositoryHolder repository,
                RemoteHolder remote)
            {
                ValueGetter = () =>
                {
                    var branchLookup = repository.Branches
                                       .Where(x => x.IsRemote)
                                       .ToLookup(x => x.FriendlyName
                                                 .Replace(remote.Name + "/", ""));

                    return(remote, branchLookup);
                };
            }
예제 #8
0
        public PushJob(
            RepositoryHolder repository,
            Holder <Remote> remote,
            ICredentialsProvider credentialsProvider,
            Holder <DefaultBranchInfo> defaultBranch)
        {
            Prepare = buildResult =>
            {
                if (!buildResult.IsSuccess)
                {
                    Fault(new InvalidOperationException("No way to push unchecked branch."));
                    return;
                }

                RemoteName = remote.Value.Name;
                Head       = repository.Value.Head;
            };

            Process = () =>
            {
                if (Head == defaultBranch.Value.Branch)
                {
                    Fault(new InvalidOperationException("Unable to push into default protected branch"));
                    return(PipelineResult.Unknown);
                }

                if (!Head.IsTracking)
                {
                    repository.Branches.Update(Head,
                                               x => x.Remote         = RemoteName,
                                               x => x.UpstreamBranch = Head.CanonicalName);
                }

                repository.Network.Push(
                    branch: Head,
                    pushOptions: new PushOptions
                {
                    CredentialsProvider            = credentialsProvider.GetValue,
                    PackbuilderDegreeOfParallelism = Environment.ProcessorCount,
                    OnPushStatusError = err => Console.WriteLine(err)
                });

                return(PipelineResult.Unknown);
            };
        }
예제 #9
0
파일: Program.cs 프로젝트: GoGo228/HIREpo
        static void Main(string[] args)
        {
            var client = new RestClient("https://search-maps.yandex.ru/v1/?text=Банк, Дніпропетровськ, Україна&type=biz&lang=uk_Ua&apikey=f7f27aa0-8bf2-4d7d-9e80-fdab701a58c8&results=500");

            var request = new RestRequest("resource/" , Method.GET);
            /*
            client.ExecuteAsync(request, response =>
            {
                Console.WriteLine(response.Content);
            });*/
            //type=банк банкомат;

            int k=0;
            
            RepositoryHolder holder = new RepositoryHolder();
            var asyncHandle = client.ExecuteAsync<RootObject>(request, response =>
            {
                        
                        
                        for (int i = 0; i <= response.Data.features.Count-1; i++)
                        {                    
                          string[] buf = response.Data.features[i].properties.CompanyMetaData.address.Split(','); //разбиваем строку на массив слов, разделитель пробел

                            Char separator = System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencyDecimalSeparator[0];
                            String Source = response.Data.features[i].geometry.coordinates[0].Replace(',', separator);
                            Double number = Convert.ToDouble(Source);
                            String Source2 = response.Data.features[i].geometry.coordinates[1].Replace(',', separator);
                            Double number2 = Convert.ToDouble(Source2);
                            holder.AdressRepository.Insert( new Entity.tbAdress() {
                                cLatitude = Source,
                                cLongitude = Source2,
                                cIdBank=1,
                                cAdressVal = response.Data.features[i].properties.CompanyMetaData.address,
                                cCity=buf[0],
                                cCountry="Україна",
                                cStreet=buf[1]+buf[2]});
                            holder.SaveChanges();
                        }
                    
            });
         
            Console.Read();
        }
예제 #10
0
 /// <summary>
 /// Конструктор по умолчанию
 /// </summary>
 /// <param name="repository">Репозиторий <see cref="LibGit2Sharp"/></param>
 public OriginRemoteProvdier(RepositoryHolder repository)
 => ValueGetter = () => repository.Network.Remotes[RemoteName];
예제 #11
0
 public ArtistsService(RepositoryHolder repositoryHolder)
 {
     _repositoryHolder = repositoryHolder;
 }
예제 #12
0
        public MergeJob(RepositoryHolder repository,
                        ConfigurationHolder configuration,
                        IRemoteBranchProvider remoteBranches,
                        ILocalBranchProvider localBranches,
                        IMergeApprovalService userApproval)
        {
            Prepare = data =>
            {
                BranchesToMerge = data.BranchesToMerge.Select(remoteBranches.GetBranch);
                TargetBranch    = localBranches.GetBranch(data.TargetBranch);

                Commands.Checkout(repository.Value, TargetBranch);
            };

            Process = () =>
            {
                var mergeSignature = new Signature("parovoz", "*****@*****.**", DateTimeOffset.Now);
                var mergeOptions   = new MergeOptions
                {
                    MergeFileFavor = Enum.TryParse(configuration["Merge", "FileFavor"], out MergeFileFavor favor)
                        ? favor
                        : MergeFileFavor.Normal,
                    SkipReuc = true
                };

                foreach (var sourceBranch in BranchesToMerge)
                {
                    var tip    = repository.Head.Tip;
                    var result = repository.Value.Merge(sourceBranch, mergeSignature, mergeOptions);

                    if (result.Status == MergeStatus.Conflicts)
                    {
                        Log.Warn($"Unable to merge {sourceBranch.FriendlyName} into {TargetBranch.FriendlyName} automatically");
                        Log.Error($"{repository.Index.Conflicts.Count()} conflict(s) found:");

                        foreach (var conflict in repository.Value.Index.Conflicts)
                        {
                            Log.Info(conflict.Ancestor.Path);
                        }

                        Log.Info("Resolve all the conflicts and press any key to continue...");

                        if (userApproval.RequstApprove("perform union merge").IsSuccess)
                        {
                            repository.Value.Reset(ResetMode.Hard, tip);
                            result = repository.Value.Merge(sourceBranch, mergeSignature, new MergeOptions
                            {
                                MergeFileFavor = MergeFileFavor.Union
                            });
                        }
                    }
                    else
                    {
                        Log.Info($"Merged successfully {sourceBranch.FriendlyName} into {TargetBranch.FriendlyName}");
                    }
                }

                return("OK");
            };
        }
    }