コード例 #1
0
        private async Task <DotnetApps> SaveDotnetApp(DotnetApps dotnetApp)
        {
            var existingDotnetApp = await GetDotnetApp(dotnetApp.Repo, dotnetApp.Path);

            if (await HasDuplicateDotnetApp(dotnetApp.Name, dotnetApp.Repo, dotnetApp.Path))
            {
                dotnetApp.Name = ($"{dotnetApp.Repo.Replace("mdsol/", string.Empty)}_{dotnetApp.Name}").Replace(".csproj", string.Empty);
            }

            using (var context = new PikapikaContext(_options))
            {
                if (existingDotnetApp != null)
                {
                    dotnetApp.Id = existingDotnetApp.Id;
                    context.DotnetApps.Update(dotnetApp);
                }
                else
                {
                    context.DotnetApps.Add(dotnetApp);
                }
                context.SaveChanges();
            }

            return(dotnetApp);
        }
コード例 #2
0
        private async Task DeleteDotnetApp(DotnetApps dotnetApp)
        {
            using (var context = new PikapikaContext(_options))
            {
                foreach (var reference in await context.DotnetAppDotnetNugets
                         .Where(reference => reference.DotnetAppId == dotnetApp.Id).ToListAsync())
                {
                    context.Entry(reference).State = EntityState.Deleted;
                }
                context.Entry(dotnetApp).State = EntityState.Deleted;

                context.SaveChanges();
            }
        }