public ResponseBase ConfirmNewMusic(Music music, Model.File WAVUpload, Model.File MP3Upload, ConfirmTypeAction confirmAction, string DeclineReason) { ResponseBase res = new ResponseBase(); try { // delete from confirmation table Confirmation conf = ((ConfirmationRepository)this._rep) .GetByEntityId(music.ID.ToString()); if (conf != null) { this._rep.Delete(conf); switch (confirmAction) { case ConfirmTypeAction.Ok: music.Status = MusicActiveStatus.Public; // update async artist report by updating his pdf file _pdfService.ArtistAddMusicAsync(DateTime.Now, music.HebrewName, music.MusicComposer, music.MusicPerformer, music.Exceptions, music.MusicWriter, music.ArtistID, WebConf.FSBaseRoute); break; case ConfirmTypeAction.Decline: _emailService.DeclineNewUpdateMusic(music.Artist.User.Email, DeclineReason, music.HebrewName); break; case ConfirmTypeAction.Block: music.Status = MusicActiveStatus.Blocked; break; } var resUpDateOK = _MusicSrv.Update(music, music.ID, WAVUpload, MP3Upload); this._uow.Commit(); res.Success = true; } else { res.Message = "לא הצלחנו לאתר נתונים"; res.Success = false; } } catch (Exception e) { res.Message = e.Message; res.Success = false; } return(res); }
public ResponseBase Add(Music music, Model.File WAVFile, Model.File MP3File) { var res = new ResponseBase(); music.CreateDate = DateTime.Now; res.Success = true; if (music.Tags?.FirstOrDefault() != null) { var tgRes = TagService.GetAll(); res.Success = tgRes.Success; if (res.Success) { music.Tags = tgRes.Entities .Where(dbTag => music.Tags.Any(tag => tag.ID == dbTag.ID)) .ToList(); } else { res.Message = tgRes.Message; } } if (music.Artist?.User?.UserName != null) { music.Artist = _usersRep.GetArtistByName(music.Artist.User.UserName)?.Artist; if (music.Artist == null) { res.Success = false; res.Message = "לא נמצא אמן עם שם זה"; } } if (res.Success && WAVFile != null) { WAVFile.UserId = music.Artist.Id; res = FsService.StoreFile(WAVFile); if (res.Success) { music.WAVFile = (res as EntityResponse <Model.File>).Entity; music.WAVFileID = music.WAVFile.FileId; } } if (res.Success && MP3File != null) { MP3File.UserId = music.Artist.Id; res = FsService.StoreFile(MP3File); if (res.Success) { music.MP3File = (res as EntityResponse <Model.File>).Entity; music.MP3FileID = music.MP3File.FileId; } } if (res.Success) { if (music.MusicLength == TimeSpan.Zero) { res.Success = false; res.Message = "יש להזין אורך יצירה"; } } if (res.Success) { // update async artist report by updating his pdf file _pdfService.ArtistAddMusicAsync(DateTime.Now, music.HebrewName, music.MusicComposer, music.MusicPerformer, music.Exceptions, music.MusicWriter, music.Artist.Id, WebConf.FSBaseRoute); res = base.Add(music); } return(res); }