Esempio n. 1
0
        public virtual ActionResult JournalDetails(int?IdJournal = null)
        {
            try
            {
                if (!IdJournal.HasValue)
                {
                    throw new Exception("Не указан идентификатор журнала.");
                }

                using (var scope = TransactionsHelper.ReadUncommited())
                {
                    var result = AppCore.Get <JournalingManager>().GetJournal(IdJournal.Value);
                    if (!result.IsSuccess)
                    {
                        throw new Exception(result.Message);
                    }

                    var dbAccessor = AppCore.Get <JournalingDB.JournalingManagerDatabaseAccessor <WebApplication> >();

                    using (var db = new JournalingDB.DataContext())
                    {
                        int skip  = 0;
                        int limit = 100;

                        var query = dbAccessor.CreateQueryJournalData(db).Where(x => x.JournalData.IdJournal == result.Result.IdJournal).OrderByDescending(x => x.JournalData.DateEvent).Skip(skip).Take(limit);
                        var data  = dbAccessor.FetchQueryJournalData(query);
                        return(View("JournalDetails.cshtml", new Design.Model.JournalDetails()
                        {
                            JournalName = result.Result,
                            JournalData = data
                        }));
                    }
                }
            }
            catch (Exception ex)
            {
                var answer = JsonAnswer();
                answer.FromException(ex);
                return(ReturnJson(answer));
            }
        }