public virtual bool Create(ZOperationResult operationResult, TEntity entity)
        {
            try
            {
                if (IsCreate(operationResult))
                {
                    if (Repository.Create(operationResult, entity))
                    {
                        if (UnitOfWork.Save(operationResult))
                        {
                            string logOperation = "C";
                            AuditTrailManager.AuditTrail(operationResult,
                                                         AuthenticationManager.UserName,
                                                         UnitOfWork.Domain,
                                                         Repository.Entity,
                                                         logOperation,
                                                         null,
                                                         entity);
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(operationResult.Ok);
        }
Exemple #2
0
        public ActionResult DataSource(DataManager dataManager)
        {
            IEnumerable      data            = new List <MediaTypeViewModel>();
            int              countAll        = 0;
            ZOperationResult operationResult = new ZOperationResult();

            if (IsSearch())
            {
                try
                {
                    SyncfusionGrid syncfusionGrid = new SyncfusionGrid(typeof(MediaType), UnitOfWork.DBMS);
                    ArrayList      args           = new ArrayList();
                    string where = syncfusionGrid.ToLinqWhere(dataManager.Search, dataManager.Where, args);
                    string orderBy = syncfusionGrid.ToLinqOrderBy(dataManager.Sorted);
                    int    take    = (dataManager.Skip == 0 && dataManager.Take == 0) ? AppDefaults.SyncfusionRecordsBySearch : dataManager.Take; // Excel Filtering
                    data = ZViewHelper <MediaTypeViewModel, MediaTypeDTO, MediaType> .ToViewList(Repository.Select(where, args.ToArray(), orderBy, dataManager.Skip, take));

                    if (dataManager.RequiresCounts)
                    {
                        countAll = Repository.Count(where, args.ToArray());
                    }
                }
                catch (Exception exception)
                {
                    operationResult.ParseException(exception);
                }

                if (!operationResult.Ok)
                {
                    throw new InvalidOperationException(operationResult.Text);
                }
            }

            return(Json(JsonConvert.SerializeObject(new { result = data, count = countAll }), JsonRequestBehavior.AllowGet));
        }
        public bool Reset(ZOperationResult operationResult, IChinookUnitOfWork unitOfWork)
        {
            try
            {
                unitOfWork.ExecuteSQL("DELETE FROM InvoiceLine WHERE InvoiceLineId > 2240");
                unitOfWork.ExecuteSQL("DELETE FROM Invoice WHERE InvoiceId > 412");

                unitOfWork.ExecuteSQL("DELETE FROM CustomerDocument");
                unitOfWork.ExecuteSQL("DELETE FROM Customer WHERE CustomerId > 59");
                unitOfWork.ExecuteSQL("DELETE FROM Employee WHERE EmployeeId > 8");

                unitOfWork.ExecuteSQL("DELETE FROM PlaylistTrack WHERE PlaylistTrackId > 18 OR TrackId > 3503");
                unitOfWork.ExecuteSQL("DELETE FROM Track WHERE TrackId > 3503");
                unitOfWork.ExecuteSQL("DELETE FROM Playlist WHERE PlaylistId > 18");

                unitOfWork.ExecuteSQL("DELETE FROM Genre WHERE GenreId > 25");
                unitOfWork.ExecuteSQL("DELETE FROM MediaType WHERE MediaTypeId > 5");
                unitOfWork.ExecuteSQL("DELETE FROM Album WHERE AlbumId > 347");
                unitOfWork.ExecuteSQL("DELETE FROM Artist WHERE ArtistId > 275");
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(operationResult.Ok);
        }
        public static void ParseExceptionEntityFramework(this ZOperationResult operationResult, Exception exception)
        {
            //System.Data.EntityException
            //    System.Data.EntityCommandCompilationException
            //    System.Data.EntityCommandExecutionException
            //    System.Data.EntitySqlException
            //    System.Data.MappingException
            //    System.Data.MetadataException
            //    System.Data.ProviderIncompatibleException

            //System.Data.DataException
            //    System.Data.Entity.Validation.DbEntityValidationException
            //    System.Data.Entity.Validation.DbUnexpectedValidationException

            if (exception is DbEntityValidationException)
            {
                operationResult.ErrorMessage = exception.Message;

                foreach (DbEntityValidationResult validationResult in (exception as DbEntityValidationException).EntityValidationErrors)
                {
                    foreach (DbValidationError validationError in validationResult.ValidationErrors)
                    {
                        operationResult.OperationErrors.Add(new ZOperationError("", validationError.ErrorMessage, null, null, new List <string> {
                            validationError.PropertyName
                        }));
                    }
                }
            }
            else
            {
                operationResult.ParseException(exception);
            }
        }
Exemple #5
0
        public IHttpActionResult PutGenre(int genreId, GenreDTO genreDTO)
        {
            ZOperationResult operationResult = new ZOperationResult();

            try
            {
                if (IsUpdate(operationResult))
                {
                    if (ValidateModelState(operationResult, Repository))
                    {
                        Genre genre = (Genre)genreDTO.ToData();
                        if (Repository.Update(operationResult, genre))
                        {
                            if (UnitOfWork.Save(operationResult))
                            {
                                genreDTO = new GenreDTO(genre);

                                return(Ok(genreDTO));
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(new OperationResultActionResult(Request, operationResult));
        }
Exemple #6
0
        public IHttpActionResult DeleteGenre(int genreId)
        {
            ZOperationResult operationResult = new ZOperationResult();

            try
            {
                if (IsDelete(operationResult))
                {
                    Genre genre = Repository.GetById(new object[] { genreId });
                    if (genre != null)
                    {
                        if (Repository.Delete(operationResult, genre))
                        {
                            if (UnitOfWork.Save(operationResult))
                            {
                                GenreDTO genreDTO = new GenreDTO(genre);

                                return(Ok());
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(new OperationResultActionResult(Request, operationResult));
        }
Exemple #7
0
        public virtual bool Update(ZOperationResult operationResult, TEntityDTO entityDTO, bool isTransaction = true)
        {
            bool inTransaction = false;

            try
            {
                if (IsUpdate(operationResult))
                {
                    TEntity entity = (TEntity)entityDTO.ToData();

                    inTransaction = UnitOfWork.BeginTransaction(operationResult, isTransaction);
                    if (inTransaction)
                    {
                        string  logOperation = "U";
                        string  logMode;
                        bool    isAuditTrail = AuditTrailManager.IsAuditTrail(UnitOfWork.Domain, Repository.Entity, logOperation, out logMode);
                        TEntity entityBefore = null;
                        if (isAuditTrail)
                        {
                            entityBefore = Repository.GetById(entity.GetId());
                        }

                        if (Repository.Update(operationResult, entity))
                        {
                            if (UnitOfWork.Save(operationResult))
                            {
                                if (UnitOfWork.CommitTransaction(operationResult, isTransaction))
                                {
                                    entityDTO.FromData(entity);

                                    if (isAuditTrail)
                                    {
                                        AuditTrailManager.AuditTrail(operationResult,
                                                                     AuthenticationManager.UserName,
                                                                     UnitOfWork.Domain,
                                                                     Repository.Entity,
                                                                     logOperation,
                                                                     entityBefore,
                                                                     entity);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }
            finally
            {
                if (inTransaction && !operationResult.Ok)
                {
                    UnitOfWork.RollbackTransaction(operationResult, isTransaction);
                }
            }

            return(operationResult.Ok);
        }
Exemple #8
0
        // POST: api/genre
        public IHttpActionResult PostGenre(GenreDTO genreDTO)
        {
            ZOperationResult operationResult = new ZOperationResult();

            try
            {
                if (IsCreate(operationResult))
                {
                    if (ValidateModelState(operationResult, Repository))
                    {
                        Genre genre = (Genre)genreDTO.ToData();
                        if (Repository.Create(operationResult, genre))
                        {
                            if (UnitOfWork.Save(operationResult))
                            {
                                genreDTO = new GenreDTO(genre);
                                return(CreatedAtRoute("DefaultApi", new { genreDTO.GenreId }, genreDTO));
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(new OperationResultActionResult(Request, operationResult));
        }
Exemple #9
0
        public virtual bool Delete(ZOperationResult operationResult, TEntityDTO entityDTO)
        {
            try
            {
                if (IsDelete(operationResult))
                {
                    TEntity entity = (TEntity)entityDTO.ToData();

                    if (Repository.Delete(operationResult, entity))
                    {
                        if (UnitOfWork.Save(operationResult))
                        {
                            string logOperation = "D";
                            AuditTrailManager.AuditTrail(operationResult,
                                                         AuthenticationManager.UserName,
                                                         UnitOfWork.Domain,
                                                         Repository.Entity,
                                                         logOperation,
                                                         entity,
                                                         null);
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(operationResult.Ok);
        }
Exemple #10
0
        protected void ExportToWord(string gridModel, string fileName)
        {
            ZOperationResult operationResult = new ZOperationResult();

            try
            {
                if (IsExport(operationResult))
                {
                    IEnumerable data = Application.SearchAll(operationResult);
                    if (operationResult.Ok)
                    {
                        SyncfusionGrid.ExportToWord(gridModel, data, fileName, AppDefaults.SyncfusionTheme);
                    }
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            if (!operationResult.Ok)
            {
                gridModel = "{\"columns\":[{\"field\":\"Message\",\"headerText\":\"" + ErrorResources.Error + "\"}]}";
                SyncfusionGrid.ExportToWord(gridModel, operationResult.ToDataSet(), fileName, AppDefaults.SyncfusionTheme);
            }
        }
Exemple #11
0
        public virtual bool Update(ZOperationResult operationResult, TEntityDTO entityDTO, bool isTransaction = true)
        {
            bool inTransaction = false;

            try
            {
                if (IsUpdate(operationResult))
                {
                    TEntity entity = (TEntity)entityDTO.ToData();

                    inTransaction = UnitOfWork.BeginTransaction(operationResult, isTransaction);
                    if (inTransaction)
                    {
                        string  logOperation = "U";
                        bool    isAuditTrail = AuditTrailManager.IsAuditTrail(UnitOfWork.Domain, Repository.Entity, logOperation);
                        TEntity entityBefore = null;
                        if (isAuditTrail)
                        {
                            entityBefore = Repository.GetById(entity.GetId());
                        }

                        if (Repository.Update(operationResult, entity))
                        {
                            if (UnitOfWork.Save(operationResult))
                            {
                                if (UnitOfWork.CommitTransaction(operationResult, isTransaction))
                                {
                                    // ???
                                    //LibraryHelper.Clone((TEntityDTO)Activator.CreateInstance(typeof(TEntityDTO), entity), entityDTO);
                                    entityDTO.FromData(entity);

                                    if (isAuditTrail)
                                    {
                                        AuditTrailManager.AuditTrail(operationResult, UnitOfWork.Domain, Repository.Entity, logOperation, entityBefore, entity);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }
            finally
            {
                if (inTransaction && !operationResult.Ok)
                {
                    UnitOfWork.RollbackTransaction(operationResult, isTransaction);
                }
            }

            return(operationResult.Ok);
        }
Exemple #12
0
 public static void ParseExceptionWebService(this ZOperationResult operationResult, Exception exception)
 {
     if (exception is SoapException)
     {
         operationResult.ErrorMessage = exception.Message;
     }
     else
     {
         operationResult.ParseException(exception);
     }
 }
        public bool ExportGenreTXT(ZOperationResult operationResult, string fileDirectory, IChinookGenericApplication <Genre> genreApplication,
                                   out string filePath)
        {
            string template = "Genre";
            string file     = template + "." + String.Format("{0:yyyyMMdd.HHmmssfff}", DateTime.Now) + ".txt";

            filePath = Path.Combine(fileDirectory, file);

            try
            {
                /*
                 * // write file
                 *
                 * var engine = new FileHelperEngine<Genre>();
                 *
                 * List<FileHelpersGenre> list = new List<FileHelpersGenre>();
                 * foreach (Genre genre in genreApplication.Select(null, null, null, null, 10).MyToList<Genre>())
                 * {
                 *  FileHelpersGenre fileHelpersGenre = new FileHelpersGenre();
                 *
                 *  fileHelpersGenre.GenreId = genre.GenreId;
                 *  fileHelpersGenre.Name = genre.Name;
                 *
                 *  list.Add(fileHelpersGenre);
                 * }
                 *
                 * engine.WriteFile(filePath, list);
                 */

                // write record-by-record

                var asyncEngine = new FileHelperAsyncEngine <FileHelpersGenre>();

                using (asyncEngine.BeginWriteFile(filePath))
                {
                    FileHelpersGenre fileHelpersGenre = new FileHelpersGenre();
                    foreach (Genre genre in genreApplication.Select(operationResult, null, null, null, null, 10).MyToList <Genre>())
                    {
                        fileHelpersGenre.GenreId = genre.GenreId;
                        fileHelpersGenre.Name    = genre.Name;

                        asyncEngine.WriteNext(fileHelpersGenre);
                    }
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(operationResult.Ok);
        }
Exemple #14
0
        public virtual bool Create(ZOperationResult operationResult, TEntityDTO entityDTO, bool isTransaction = true)
        {
            bool inTransaction = false;

            try
            {
                if (IsCreate(operationResult))
                {
                    TEntity entity = (TEntity)entityDTO.ToData();

                    inTransaction = UnitOfWork.BeginTransaction(operationResult, isTransaction);
                    if (inTransaction)
                    {
                        if (Repository.Create(operationResult, entity))
                        {
                            if (UnitOfWork.Save(operationResult))
                            {
                                if (UnitOfWork.CommitTransaction(operationResult, isTransaction))
                                {
                                    entityDTO.FromData(entity);

                                    string logOperation = "C";
                                    AuditTrailManager.AuditTrail(operationResult,
                                                                 AuthenticationManager.UserName,
                                                                 UnitOfWork.Domain,
                                                                 Repository.Entity,
                                                                 logOperation,
                                                                 null,
                                                                 entity);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }
            finally
            {
                if (inTransaction && !operationResult.Ok)
                {
                    UnitOfWork.RollbackTransaction(operationResult, isTransaction);
                }
            }

            return(operationResult.Ok);
        }
Exemple #15
0
        public bool Update(ZOperationResult operationResult, TEntity entity, bool isTransaction = true)
        {
            bool inTransaction = false;

            try
            {
                if (IsUpdate(operationResult))
                {
                    inTransaction = UnitOfWork.BeginTransaction(operationResult, isTransaction);
                    if (inTransaction)
                    {
                        string  logOperation = "U";
                        bool    isAuditTrail = AuditTrailManager.IsAuditTrail(UnitOfWork.Domain, Repository.Entity, logOperation);
                        TEntity entityBefore = null;
                        if (isAuditTrail)
                        {
                            entityBefore = Repository.GetById(entity.GetId());
                        }

                        if (Repository.Update(operationResult, entity))
                        {
                            if (UnitOfWork.Save(operationResult))
                            {
                                if (UnitOfWork.CommitTransaction(operationResult, isTransaction))
                                {
                                    if (isAuditTrail)
                                    {
                                        AuditTrailManager.AuditTrail(operationResult, UnitOfWork.Domain, Repository.Entity, logOperation, entityBefore, entity);
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }
            finally
            {
                if (inTransaction && !operationResult.Ok)
                {
                    UnitOfWork.RollbackTransaction(operationResult, isTransaction);
                }
            }

            return(operationResult.Ok);
        }
Exemple #16
0
        // GET: api/track
        public IHttpActionResult GetTracks()
        {
            ZOperationResult operationResult = new ZOperationResult();

            try
            {
                return(Ok <IEnumerable <TrackDTO> >(Application.SelectAll(operationResult)));
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(new OperationResultActionResult(Request, operationResult));
        }
Exemple #17
0
        public virtual bool Delete(ZOperationResult operationResult, TEntity entity, bool isTransaction = true)
        {
            bool inTransaction = false;

            try
            {
                if (IsDelete(operationResult))
                {
                    inTransaction = UnitOfWork.BeginTransaction(operationResult, isTransaction);
                    if (inTransaction)
                    {
                        if (Repository.Delete(operationResult, entity))
                        {
                            if (UnitOfWork.Save(operationResult))
                            {
                                if (UnitOfWork.CommitTransaction(operationResult, isTransaction))
                                {
                                    string logOperation = "D";
                                    AuditTrailManager.AuditTrail(operationResult,
                                                                 AuthenticationManager.UserName,
                                                                 UnitOfWork.Domain,
                                                                 Repository.Entity,
                                                                 logOperation,
                                                                 entity,
                                                                 null);
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }
            finally
            {
                if (inTransaction && !operationResult.Ok)
                {
                    UnitOfWork.RollbackTransaction(operationResult, isTransaction);
                }
            }

            return(operationResult.Ok);
        }
        public int Count(ZOperationResult operationResult, Expression <Func <TEntity, bool> > where)
        {
            int result = 0;

            try
            {
                if (IsSearch(operationResult))
                {
                    result = Repository.Count(where);
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(result);
        }
Exemple #19
0
        public virtual TEntity Get(ZOperationResult operationResult, string where)
        {
            TEntity result = null;

            try
            {
                if (IsRead(operationResult) || IsUpdate(operationResult) || IsDelete(operationResult))
                {
                    result = Repository.Get(where);
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(result);
        }
Exemple #20
0
        public new IEnumerable <TEntityDTO> SearchAll(ZOperationResult operationResult)
        {
            IEnumerable <TEntityDTO> result = new List <TEntityDTO>();

            try
            {
                if (IsSearch(operationResult))
                {
                    result = ZDTOHelper <TEntityDTO, TEntity> .ToDTOList(Repository.SearchAll());
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(result);
        }
        public int Count(ZOperationResult operationResult, string where, object[] args = null)
        {
            int result = 0;

            try
            {
                if (IsSearch(operationResult))
                {
                    result = Repository.Count(where, args);
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(result);
        }
        public int CountAll(ZOperationResult operationResult)
        {
            int result = 0;

            try
            {
                if (IsSearch(operationResult))
                {
                    result = Repository.CountAll();
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(result);
        }
Exemple #23
0
        public new TEntityDTO GetById(ZOperationResult operationResult, object[] ids)
        {
            TEntityDTO result = null;

            try
            {
                if (IsRead(operationResult) || IsUpdate(operationResult) || IsDelete(operationResult))
                {
                    result = (TEntityDTO)Activator.CreateInstance(typeof(TEntityDTO), Repository.GetById(ids));
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(result);
        }
Exemple #24
0
        public new TEntityDTO Get(ZOperationResult operationResult, Expression <Func <TEntity, bool> > where)
        {
            TEntityDTO result = null;

            try
            {
                if (IsRead(operationResult) || IsUpdate(operationResult) || IsDelete(operationResult))
                {
                    result = (TEntityDTO)Activator.CreateInstance(typeof(TEntityDTO), Repository.Get(where));
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(result);
        }
Exemple #25
0
        // GET: api/genre
        public IHttpActionResult GetGenres()
        {
            ZOperationResult operationResult = new ZOperationResult();

            try
            {
                if (IsSearch(operationResult))
                {
                    return(Ok <IEnumerable <GenreDTO> >(ZDTOHelper <GenreDTO, Genre> .ToDTOList(Repository.SelectAll())));
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(new OperationResultActionResult(Request, operationResult));
        }
Exemple #26
0
        public virtual TEntity GetById(ZOperationResult operationResult, object[] ids)
        {
            TEntity result = null;

            try
            {
                if (IsRead(operationResult) || IsUpdate(operationResult) || IsDelete(operationResult))
                {
                    result = Repository.GetById(ids);
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(result);
        }
Exemple #27
0
        public IEnumerable <TEntity> SelectAll(ZOperationResult operationResult)
        {
            IEnumerable <TEntity> result = new List <TEntity>();

            try
            {
                if (IsSearch(operationResult))
                {
                    result = Repository.SelectAll();
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(result);
        }
Exemple #28
0
        public virtual bool Update(ZOperationResult operationResult, TEntityDTO entityDTO)
        {
            try
            {
                if (IsUpdate(operationResult))
                {
                    TEntity entity = (TEntity)entityDTO.ToData();

                    string  logOperation = "U";
                    string  logMode;
                    bool    isAuditTrail = AuditTrailManager.IsAuditTrail(UnitOfWork.Domain, Repository.Entity, logOperation, out logMode);
                    TEntity entityBefore = null;
                    if (isAuditTrail)
                    {
                        entityBefore = Repository.GetById(entity.GetId());
                    }

                    if (Repository.Update(operationResult, entity))
                    {
                        if (UnitOfWork.Save(operationResult))
                        {
                            entityDTO.FromData(entity);

                            if (isAuditTrail)
                            {
                                AuditTrailManager.AuditTrail(operationResult,
                                                             AuthenticationManager.UserName,
                                                             UnitOfWork.Domain,
                                                             Repository.Entity,
                                                             logOperation,
                                                             entityBefore,
                                                             entity);
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(operationResult.Ok);
        }
Exemple #29
0
        private static void DemoLog()
        {
            Console.WriteLine("\nLog Demo");

            try
            {
                ILogManager logManager = DIHelper.DIManager.GetService <ILogManager>();

                logManager.Fatal("Fatal");
                logManager.Fatal("Fatal {Parameter1} {Parameter2} {Parameter3}", new object[] { "ABC", 1.23, DateTime.Now });
                logManager.Fatal("Fatal {Parameter1} {Parameter2} {Parameter3}", "ABC", 1.23, DateTime.Now);

                try
                {
                    int x = Int32.Parse("ABC");
                    int y = x + 1;
                }
                catch (Exception exception)
                {
                    logManager.Exception(exception, "ABC");
                }

                try
                {
                    int x = Int32.Parse("ABC");
                    int y = x + 1;
                }
                catch (Exception exception)
                {
                    ZOperationResult operationResult = new ZOperationResult();
                    operationResult.ParseException(exception);
                    string header =
                        MultiTenantHelper.Tenant.Name + System.Environment.NewLine
                        + ProfileHelper.Profile.UserName;
                    string footer =
                        DateTime.Now.ToString();
                    logManager.OperationResult(operationResult, header, footer);
                }
            }
            catch (Exception exception)
            {
                WriteException(exception);
            }
        }
Exemple #30
0
        public IHttpActionResult GetTrack(int trackId)
        {
            ZOperationResult operationResult = new ZOperationResult();

            try
            {
                TrackDTO trackDTO = Application.GetById(operationResult, new object[] { trackId });
                if (trackDTO != null)
                {
                    return(Ok(trackDTO));
                }
            }
            catch (Exception exception)
            {
                operationResult.ParseException(exception);
            }

            return(new OperationResultActionResult(Request, operationResult));
        }