コード例 #1
0
        public IActionResult DistributeToSingers([Bind][FromForm] IEnumerable <SingerInfoViewModel> model, int songId, string returnUrl = null)
        {
            int distributed = 0;

            foreach (var singerInfo in model.Where(m => m.SelectedForAction))
            {
                var sheetsInfo = _sheetsInfoMapper.FindAll().FirstOrDefault(si => si.SongId == songId && si.SingerId == singerInfo.Id);
                if (sheetsInfo != null)
                {
                    sheetsInfo.Status = SheetInfoType.HasCopy;
                    _sheetsInfoMapper.Update(sheetsInfo);
                    distributed++;
                }
                else
                {
                    sheetsInfo = new Models.ManyToMany.SingerSong
                    {
                        SingerId = singerInfo.Id,
                        SongId   = songId,
                        Status   = SheetInfoType.HasCopy
                    };
                    _sheetsInfoMapper.Create(sheetsInfo);
                    distributed++;
                }
            }

            var song = _songMapper.Find(songId);

            song.SheetsAvailable -= distributed;
            _songMapper.Update(song);

            return(Redirect(returnUrl));
        }
コード例 #2
0
 public IActionResult OrderForSingers([Bind][FromForm] IEnumerable <SingerInfoViewModel> model, int songId, string returnUrl = null)
 {
     foreach (var singerInfo in model.Where(m => m.SelectedForAction))
     {
         var sheetsInfo = _sheetsInfoMapper.FindAll().FirstOrDefault(si => si.SongId == songId && si.SingerId == singerInfo.Id);
         if (sheetsInfo != null)
         {
             sheetsInfo.Status = SheetInfoType.Ordered;
             _sheetsInfoMapper.Update(sheetsInfo);
         }
         else
         {
             sheetsInfo = new Models.ManyToMany.SingerSong
             {
                 SingerId = singerInfo.Id,
                 SongId   = songId,
                 Status   = SheetInfoType.Ordered
             };
             _sheetsInfoMapper.Create(sheetsInfo);
         }
     }
     return(Redirect(returnUrl));
 }