private void AddToDb(Package package, SavePackageModel model) { Kernel.DB.PackageRepository.Add(package); foreach (var serviceModel in model.Services) { if (serviceModel.IsSelected) { var service = new Service { Id = serviceModel.Id, Name = serviceModel.Name }; var packageService = new PackageService { Package = package, Service = service }; Kernel.DB.PackageServiceRepository.Add(packageService); } } }
private void Update(Package package, SavePackageModel model) { var currentPackage = Kernel.DB.PackageRepository.Get(package.Id); #region Example 1 // Eger servisin Id-si current lerin icinde varsa // Eger servisin id-si currentlerde var indi yoxdusa silirem // Eger servisin id-si currentlerde yoxdu indi varsa elave edirem //foreach (var serviceModel in model.Services) //{ // bool isNewService = true; // foreach(var srv in currentPackage.Services) // { // if(srv.Id == serviceModel.Id) // { // if(!serviceModel.IsSelected) // { // Kernel.DB.PackageServiceRepository.Delete(new PackageService // { // Package = package, // Service = new Service { Id = srv.Id } // }); // } // isNewService = serviceModel.IsSelected; // } // } // if(isNewService) // { // Kernel.DB.PackageServiceRepository.Add(new PackageService // { // Package = package, // Service = new Service { Id = serviceModel.Id } // }); // } //} #endregion foreach (var srv in currentPackage.Services) { Kernel.DB.PackageServiceRepository.Delete(new PackageService { Package = package, Service = srv }); } foreach (var serviceModel in model.Services) { if (serviceModel.IsSelected) { Kernel.DB.PackageServiceRepository.Add(new PackageService { Package = package, Service = new Service { Id = serviceModel.Id } }); } } Kernel.DB.PackageRepository.Update(package); }