/// <summary> /// Saves the momento. /// </summary> /// <param name="command">The command.</param> /// <returns>Momento.</returns> private Momento SaveMomento(CreateMomentoParameters command) { Momento momento = _mapper.Map<CreateMomentoParameters, Momento>(command); momento.UploadedBy = command.Username; momento.InternalId = Guid.NewGuid(); momento.Visibility = MomentoVisibility.Public; using (ITransaction trans = _session.BeginTransaction()) { _session.Save(momento); _session.Save(new MomentoUser {Momento = momento, Username = command.Username}); trans.Commit(); } return momento; }
/// <summary> /// Creates the specified parameters. /// </summary> /// <param name="parameters">The parameters.</param> public void Create(CreateMomentoParameters parameters) { Momento single = SaveMomento(parameters); SaveMedia(parameters, single); }
/// <summary> /// Saves the media. /// </summary> /// <param name="command">The command.</param> /// <param name="single">The single.</param> private void SaveMedia(CreateMomentoParameters command, Momento single) { command.Media.ForEach(m => m.MomentoId = single.Id); List<Schema.MomentoMedia> media = command.Media.ConvertAll(Mapper.DynamicMap<CreateMomentoMediaParameters, Schema.MomentoMedia>); using (ITransaction transaction = _session.BeginTransaction()) { foreach (Schema.MomentoMedia momentoMedia in media) { momentoMedia.Momento = single; _session.Save(momentoMedia); } transaction.Commit(); } }