示例#1
0
        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));
 }