public ActionResult Update(Saucer request) { _saucerService.Update(request); if (request.Status) { var saucerConfigurationsInDataBase = _saucerConfigurationService.OnlyWithSaucerId(request.Id); var saucerConfigurationIdsInDataBase = saucerConfigurationsInDataBase.Select(x => x.Id).ToList(); var saucerConfigurationsByDelete = saucerConfigurationIdsInDataBase.Except(request.SaucerConfigurations.Select(x => x.Id)); var saucerConfigurationsByUpdate = request.SaucerConfigurations.Where(x => x.Id.IsGreaterThanZero()); var saucerConfigurationsByCreate = request.SaucerConfigurations.Where(x => x.Id.IsEqualToZero()); foreach (var saucerConfigurationByDelete in saucerConfigurationsByDelete) { _saucerConfigurationService.Delete(saucerConfigurationByDelete); } foreach (var saucerConfigurationByUpdate in saucerConfigurationsByUpdate) { _saucerConfigurationService.Update(saucerConfigurationByUpdate); } foreach (var saucerConfigurationByCreate in saucerConfigurationsByCreate) { _saucerConfigurationService.Create(saucerConfigurationByCreate); } var saucerMultimediasInDataBase = _saucerMultimediaService.OnlyWithSaucerId(request.Id); var saucerMultimediaIdsInDataBase = saucerMultimediasInDataBase.Select(x => x.Id).ToList(); var saucerMultimediasByDelete = saucerMultimediaIdsInDataBase.Except(request.SaucerMultimedias.Select(x => x.Id)); var saucerMultimediasByCreate = request.SaucerMultimedias.Where(x => x.Id.IsEqualToZero()); foreach (var saucerMultimediaByDelete in saucerMultimediasByDelete) { _saucerMultimediaService.Delete(saucerMultimediaByDelete); } foreach (var saucerMultimediaByCreate in saucerMultimediasByCreate) { _saucerMultimediaService.Create(request.Id, saucerMultimediaByCreate.FileBase); } } return(RedirectToAction(Request.Form["View"], EntityType.Saucer.ToString())); }
public SuccessResponse Delete(DeleteSaucerMultimediaRequest request) { return(_saucerMultimediaService.Delete(request)); }