private async void DropPackagedSolution(PackagedSolution packagedSolution)
        {
            using (var ctx = new AssistantContext())
            {
                var conflictingOffersList = ctx.Offers
                                            .Where(o => o.PackagedSolution.Id == packagedSolution.Id)
                                            .Include(o => o.OfferInformation)
                                            .ToList();

                if (conflictingOffersList.Any())
                {
                    var formattedOffersString = string.Join("\n", conflictingOffersList.Select(x => $"- {x.OfferInformation.Title} ({x.CreationDate})"));
                    await _dialogCoordinator.ShowMessageAsync(this, "Fejl",
                                                              $"Pakkeløsningen kan ikke slettes, da den findes i følgende tilbud:\n{formattedOffersString}");

                    return;
                }
            }

            // No conflicts, remove the packaged solution
            PackagedSolutions.Remove(packagedSolution);

            using (var ctx = new AssistantContext())
            {
                ctx.PackagedSolutions.Attach(packagedSolution);
                ctx.PackagedSolutions.Remove(packagedSolution);
                ctx.SaveChanges();
            }
        }
Esempio n. 2
0
 public void SelectPackagedSolutionById(int id)
 {
     SelectedPackagedSolution = PackagedSolutions.FirstOrDefault(p => p.Id == id);
     if (SelectedPackagedSolution == null)
     {
         return;
     }
     OnSolutionSelected();
 }