/// <summary>
        /// Get History
        /// </summary>
        /// <param name="pIntegrationProcessID"></param>
        /// <param name="pStartDate"></param>
        /// <param name="pEndDate"></param>
        /// <returns></returns>
        public IList <IntegrationTransaction> GetHistory(int pIntegrationProcessID, string pStartDate, string pEndDate)
        {
            IList <IntegrationTransaction> list = null;

            try
            {
                DateTime dtStartDate = DateTime.Now.AddDays(-7);
                DateTime dtEndDate   = DateTime.Now;

                if (!string.IsNullOrEmpty(pStartDate))
                {
                    DateTime.TryParse(pStartDate, out dtStartDate);
                }

                if (!string.IsNullOrEmpty(pEndDate))
                {
                    DateTime.TryParse(pEndDate, out dtEndDate);
                }

                list = base.AppRuntime.DataService.GetAll(GetDataRequest <IntegrationTransaction> .Create(c =>
                                                                                                          c.IntegrationProcessID == pIntegrationProcessID &&
                                                                                                          c.IntegrationTransactionDate >= dtStartDate &&
                                                                                                          c.IntegrationTransactionDate <= dtEndDate)).ToList();
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
            }

            return(list);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// GetIntegrationProcessMappings
        /// </summary>
        /// <param name="pIntegrationProcessID"></param>
        /// <returns></returns>
        public List <IntegrationProcessMapping> GetIntegrationProcessMappings(int pIntegrationProcessID)
        {
            List <IntegrationProcessMapping> list = null;

            try
            {
                list = base.AppRuntime.DataService.GetAll(GetDataRequest <IntegrationProcessMapping> .Create(c =>
                                                                                                             c.IntegrationProcessID == pIntegrationProcessID,
                                                                                                             "IntegrationProcess",
                                                                                                             "SourceIntegrationAdapterField",
                                                                                                             "DestinationIntegrationAdapterField")).ToList();

                if (list != null && list.Count == 0)
                {
                    list.Add(new IntegrationProcessMapping()
                    {
                        IsRowVisible = false
                    });
                }
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
            }

            return(list);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Build Integration Process Mapping GetDataRequest
 /// </summary>
 /// <param name="pIntegrationProcess"></param>
 /// <returns></returns>
 public static GetDataRequest <IntegrationProcessMapping> BuildIntegrationProcessMappingGetDataRequest(IntegrationProcess pIntegrationProcess)
 {
     return(GetDataRequest <IntegrationProcessMapping> .Create(c =>
                                                               c.IntegrationProcessID == pIntegrationProcess.IntegrationProcessID,
                                                               "SourceIntegrationAdapterField",
                                                               "DestinationIntegrationAdapterField"));
 }
        /// <summary>
        /// Get Application Web Service Requests
        /// </summary>
        /// <returns></returns>
        public IEnumerable <ApplicationWebServiceRequest> GetApplicationWebServiceRequests()
        {
            IEnumerable <ApplicationWebServiceRequest> list = null;

            try
            {
                list = base.AppRuntime.DataService.GetAll(GetDataRequest <ApplicationWebServiceRequest> .Create()).ToList();
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
            }

            return(list);
        }
        /// <summary>
        /// Get Application Web Service Request
        /// </summary>
        /// <param name="pEntityID"></param>
        /// <returns></returns>
        public ApplicationWebServiceRequest GetApplicationWebServiceRequest(int pEntityID)
        {
            ApplicationWebServiceRequest entity = null;

            try
            {
                entity = base.AppRuntime.DataService.GetEntity(GetDataRequest <ApplicationWebServiceRequest> .Create(c =>
                                                                                                                     c.ApplicationWebServiceID == pEntityID, "ApplicationWebService"));
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
            }

            return(entity);
        }
        /// <summary>
        /// Get IntegrationProcess
        /// </summary>
        /// <param name="pEntityID"></param>
        /// <returns></returns>
        public IntegrationProcess GetIntegrationProcess(int pEntityID)
        {
            IntegrationProcess entity = null;

            try
            {
                entity = base.AppRuntime.DataService.GetEntity(GetDataRequest <IntegrationProcess> .Create(c =>
                                                                                                           c.IntegrationProcessID == pEntityID));
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
            }

            return(entity);
        }
        /// <summary>
        /// Get Application Database Queries
        /// </summary>
        /// <param name="pApplicationDatabaseID"></param>
        /// <returns></returns>
        public IEnumerable <ApplicationDatabaseQuery> GetApplicationDatabaseQueries(int pApplicationDatabaseID)
        {
            IEnumerable <ApplicationDatabaseQuery> list = null;

            try
            {
                list = base.AppRuntime.DataService.GetAll(GetDataRequest <ApplicationDatabaseQuery> .Create(c =>
                                                                                                            c.ApplicationDatabaseID == pApplicationDatabaseID)).ToList();
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
            }

            return(list);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Get Application Database
        /// </summary>
        /// <param name="pApplicationDatabaseID"></param>
        /// <returns></returns>
        public ApplicationDatabas GetApplicationDatabase(int pApplicationDatabaseID)
        {
            ApplicationDatabas entity = null;

            try
            {
                entity = base.AppRuntime.DataService.GetEntity(GetDataRequest <ApplicationDatabas> .Create(c =>
                                                                                                           c.ApplicationDatabaseID == pApplicationDatabaseID));
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
            }

            return(entity);
        }
        /// <summary>
        /// Get IntegrationAdapter
        /// </summary>
        /// <param name="pEntityID"></param>
        /// <returns></returns>
        public IntegrationAdapter GetIntegrationAdapter(int pEntityID)
        {
            IntegrationAdapter entity = null;

            try
            {
                entity = base.AppRuntime.DataService.GetEntity(GetDataRequest <IntegrationAdapter> .Create(c =>
                                                                                                           c.IntegrationAdapterID == pEntityID,
                                                                                                           "IntegrationAdapterFields",
                                                                                                           "ApplicationDatabaseQuery.ApplicationDatabas",
                                                                                                           "ApplicationWebServiceRequest.ApplicationWebService"));
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
            }

            return(entity);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// GetDestinationFields
        /// </summary>
        /// <param name="pIntegrationProcessID"></param>
        /// <returns></returns>
        public List <IntegrationAdapterField> GetDestinationFields(int pIntegrationProcessID)
        {
            List <IntegrationAdapterField> list = null;

            try
            {
                IntegrationProcess process = base.AppRuntime.DataService.GetEntity(GetDataRequest <IntegrationProcess> .Create(c =>
                                                                                                                               c.IntegrationProcessID == pIntegrationProcessID,
                                                                                                                               "DestinationIntegrationAdapter.IntegrationAdapterFields"));

                if (process != null && process.DestinationIntegrationAdapter != null)
                {
                    list = process.DestinationIntegrationAdapter.IntegrationAdapterFields.ToList();
                }
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
            }

            return(list);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// Build Integration Process GetDataRequest
        /// </summary>
        /// <param name="pProcessCode"></param>
        /// <returns></returns>
        public static GetDataRequest <IntegrationProcess> BuildIntegrationProcessGetDataRequest(string pProcessCode)
        {
            GetDataRequest <IntegrationProcess> getDataRequest = null;

            try
            {
                string[] integrationProcessIncludes =
                {
                    "SourceIntegrationAdapter.IntegrationAdapterFields",
                    "SourceIntegrationAdapter.ApplicationDatabaseQuery.ApplicationDatabas.Application",
                    "SourceIntegrationAdapter.ApplicationWebServiceRequest.ApplicationWebService.Application",
                    "DestinationIntegrationAdapter.IntegrationAdapterFields",
                    "DestinationIntegrationAdapter.ApplicationDatabaseQuery.ApplicationDatabas.Application",
                    "DestinationIntegrationAdapter.ApplicationWebServiceRequest.ApplicationWebService.Application"
                };

                getDataRequest = GetDataRequest <IntegrationProcess> .Create(c =>
                                                                             c.IntegrationProcessCode == pProcessCode, integrationProcessIncludes);
            }
            catch { throw; }

            return(getDataRequest);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Get Integration Adapter Fields
        /// </summary>
        /// <param name="pIntegrationAdapterID"></param>
        /// <returns></returns>
        public List <IntegrationAdapterField> GetIntegrationAdapterFields(int pIntegrationAdapterID)
        {
            List <IntegrationAdapterField> list = null;

            try
            {
                list = base.AppRuntime.DataService.GetAll(GetDataRequest <IntegrationAdapterField> .Create(c =>
                                                                                                           c.IntegrationAdapterID == pIntegrationAdapterID)).ToList();

                if (list != null && list.Count == 0)
                {
                    list.Add(new IntegrationAdapterField()
                    {
                        IsRowVisible = false
                    });
                }
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
            }

            return(list);
        }
Ejemplo n.º 13
0
        /// <summary>
        /// Insert IntegrationAdapter
        /// </summary>
        /// <param name="pEntity"></param>
        /// <returns></returns>
        public int InsertIntegrationAdapter(IntegrationAdapter pEntity)
        {
            int results = 0;

            try
            {
                DataUtilities.UpdateRecordAuditInfo(pEntity);
                base.AppRuntime.DataService.AddEntity(pEntity);
                results = base.AppRuntime.DataService.SaveChanges();

                if (pEntity.IntegrationAdapterID > 0)
                {
                    IntegrationProcess process = base.AppRuntime.DataService.GetEntity(GetDataRequest <IntegrationProcess> .Create(c =>
                                                                                                                                   c.IntegrationProcessID == this.IntegrationProcessID));

                    if (process != null)
                    {
                        if (this.IntegrationAdapterType == IntegrationChannelType.Source)
                        {
                            process.SourceIntegrationAdapterID = pEntity.IntegrationAdapterID;
                        }
                        else if (this.IntegrationAdapterType == IntegrationChannelType.Destination)
                        {
                            process.DestinationIntegrationAdapterID = pEntity.IntegrationAdapterID;
                        }

                        DataUtilities.UpdateRecordAuditInfo(process);
                        base.AppRuntime.DataService.UpdateEntity(process);
                    }
                }
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
            }

            return(results);
        }
Ejemplo n.º 14
0
        /// <summary>
        ///     Build Adapter Cache Results
        /// </summary>
        /// <param name="pSourceAdapterResponse"></param>
        /// <returns>Integration Adapter Cache Result</returns>
        internal List <AdapterCacheResult> BuildAdapterCacheResults(SourceAdapterResponse pSourceAdapterResponse)
        {
            List <AdapterCacheResult>     queryCacheResults = null;
            List <IntegrationAdapterCach> tempCache         = null;
            List <string> sourceResultsKeys = null;
            bool          needSaveChanges   = false;

            try
            {
                Parallel.ForEach(pSourceAdapterResponse.Results, recordInfo =>
                {
                    recordInfo.DbRecordKey = this.BuildRecordCompositeKey(pSourceAdapterResponse.AdapterPrimaryKeys, recordInfo);
                });

                sourceResultsKeys = pSourceAdapterResponse.Results
                                    .Select(c => c.DbRecordKey)
                                    .Where(c => c.IsValidString()).ToList();

                if (sourceResultsKeys != null && sourceResultsKeys.Count > 0)
                {
                    tempCache = base.AppRuntime.DataService.GetAll(GetDataRequest <IntegrationAdapterCach> .Create(c =>
                                                                                                                   c.IntegrationAdapterID == pSourceAdapterResponse.AdapterMetadata.IntegrationAdapterID &&
                                                                                                                   sourceResultsKeys.Contains(c.CachePrimaryKeys))).ToList();

                    if (tempCache != null)
                    {
                        queryCacheResults = new List <AdapterCacheResult>();

                        foreach (DBRecordInfo recordInfo in pSourceAdapterResponse.Results.Where(c =>
                                                                                                 c.DbRecordKey.IsValidString()))
                        {
                            IntegrationAdapterCach cacheItem = tempCache.FirstOrDefault(c =>
                                                                                        c.CachePrimaryKeys == recordInfo.DbRecordKey);

                            if (cacheItem != null)
                            {
                                if (cacheItem.CacheStatus == RecordCacheStatus.InQueue.GetValue <Byte>() ||
                                    cacheItem.CacheStatus == RecordCacheStatus.Failed.GetValue <Byte>())
                                {
                                    cacheItem.CacheStatus = RecordCacheStatus.InQueue.GetValue <Byte>();
                                    base.AppRuntime.DataService.ApplyEntityChanges(cacheItem);
                                    needSaveChanges = true;

                                    queryCacheResults.Add(new AdapterCacheResult()
                                    {
                                        DBRecordCache = cacheItem,
                                        DBRecord      = recordInfo
                                    });
                                }
                                else if (cacheItem.CacheStatus == RecordCacheStatus.Succeeded.GetValue <Byte>())
                                {
                                    //Record Ignored: because the record has been moved successfully in earlier transaction
                                }
                            }
                            else
                            {
                                cacheItem = new IntegrationAdapterCach()
                                {
                                    IntegrationAdapterID = pSourceAdapterResponse.AdapterMetadata.IntegrationAdapterID,
                                    CachePrimaryKeys     = recordInfo.DbRecordKey,
                                    CacheStatus          = RecordCacheStatus.InQueue.GetValue <Byte>(),
                                    Description          = string.Format("{0}-{1}",
                                                                         pSourceAdapterResponse.AdapterMetadata.IntegrationAdapterID,
                                                                         recordInfo.DbRecordKey),
                                    RecordStatus       = (int)RecordAuditStatus.Active,
                                    RecordCreated      = DateTime.Now,
                                    RecordCreatedBy    = Constants.SystemUser,
                                    RecordLastUpdate   = DateTime.Now,
                                    RecordLastUpdateBy = Constants.SystemUser,
                                };

                                base.AppRuntime.DataService.AddEntity(cacheItem);
                                needSaveChanges = true;

                                queryCacheResults.Add(new AdapterCacheResult()
                                {
                                    DBRecordCache = cacheItem,
                                    DBRecord      = recordInfo
                                });
                            }
                        }

                        if (needSaveChanges)
                        {
                            base.AppRuntime.DataService.SaveChanges();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
            }
            finally
            {
                tempCache         = null;
                sourceResultsKeys = null;
            }

            return(queryCacheResults);
        }
        /// <summary>
        /// Get Integration Transaction Details
        /// </summary>
        /// <param name="pIntegrationTransactionID"></param>
        /// <returns></returns>
        public DataTable GetIntegrationTransactionDetails(int pIntegrationTransactionID)
        {
            DataTable dtResults = null;
            IntegrationTransaction transaction = null;

            try
            {
                dtResults = new DataTable(Constants.TableName_Results);

                transaction = base.AppRuntime.DataService.GetEntity(GetDataRequest <IntegrationTransaction> .Create(c =>
                                                                                                                    c.IntegrationTransactionID == pIntegrationTransactionID,
                                                                                                                    "IntegrationProcess.IntegrationProcessMappings.SourceIntegrationAdapterField",
                                                                                                                    "IntegrationProcess.IntegrationProcessMappings.DestinationIntegrationAdapterField",
                                                                                                                    "IntegrationTransactionDetails"));

                if (transaction != null)
                {
                    DataColumn col_ID = new DataColumn(Constants.ColumnName_ID, typeof(Int32));
                    dtResults.Columns.Add(col_ID);

                    DataColumn col_RecordStatus = new DataColumn(Constants.ColumnName_RecordStatus, typeof(String));
                    dtResults.Columns.Add(col_RecordStatus);

                    if (transaction.IntegrationProcess != null)
                    {
                        List <string> columns = new List <string>();

                        foreach (IntegrationProcessMapping mappingItem in transaction.IntegrationProcess.IntegrationProcessMappings.Where(c =>
                                                                                                                                          c.DestinationIntegrationAdapterField != null))
                        {
                            if (!dtResults.Columns.Contains(mappingItem.DestinationIntegrationAdapterField.FieldName))
                            {
                                DataColumn dcMappingField = new DataColumn(
                                    mappingItem.DestinationIntegrationAdapterField.FieldName,
                                    DataUtilities.GetMappedType(mappingItem.DestinationIntegrationAdapterField.FieldDataTypeEnum));

                                dtResults.Columns.Add(dcMappingField);
                                columns.Add(dcMappingField.ColumnName);
                            }
                        }

                        foreach (IntegrationTransactionDetail detail in transaction.IntegrationTransactionDetails)
                        {
                            try
                            {
                                DataRow drDetail = dtResults.NewRow();
                                drDetail[col_ID]           = detail.IntegrationTransactionDetailID;
                                drDetail[col_RecordStatus] = ((RecordTransactionStatus)detail.IntegrationTransactionDetailStatus).GetDescription();

                                StringReader dataReader = new StringReader(
                                    CoreUtilities.GetString(detail.IntegrationTransactionDetailData));

                                XElement xData = XElement.Load(dataReader);

                                foreach (XElement item in xData.Nodes())
                                {
                                    string columnName = CoreUtilities.FormatXMLColumnName(item.Name.LocalName, false);

                                    if (columnName != Constants.ColumnName_RecordStatus &&
                                        drDetail.Table.Columns.Contains(columnName))
                                    {
                                        drDetail[columnName] = DataUtilities.ConvertValueToDataColumnType(
                                            item.Value, drDetail.Table.Columns[columnName].DataType);
                                    }
                                }

                                dtResults.Rows.Add(drDetail);
                            }
                            catch (Exception ex)
                            {
                                LogManager.LogException(ex);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                LogManager.LogException(ex);
            }
            finally
            {
                transaction = null;
            }

            return(dtResults);
        }
Ejemplo n.º 16
0
        private void LoadDetails(int pIntegrationProcessID)
        {
            if (pIntegrationProcessID > 0)
            {
                IntegrationProcess integrationProcess = this.Presenter.AppRuntime.DataService.GetEntity(GetDataRequest <IntegrationProcess> .Create(c =>
                                                                                                                                                    c.IntegrationProcessID == pIntegrationProcessID, "SourceIntegrationAdapter", "DestinationIntegrationAdapter"));

                if (integrationProcess != null)
                {
                    this.divProcessInfo.Visible = true;
                    this.lblDescription.Text    = integrationProcess.Description;

                    if (integrationProcess.SourceIntegrationAdapter != null)
                    {
                        this.imgSourceAdapterImage.ImageUrl   = Presentation.Utilities.PresentationUtilities.GetEndPointTypeImage(integrationProcess.SourceIntegrationAdapter.EndPointType.ToEnum <EndPointType>());
                        this.lblSourceAdapterName.Text        = integrationProcess.SourceIntegrationAdapter.IntegrationAdapterTitle;
                        this.lblSourceAdapterDescription.Text = integrationProcess.SourceIntegrationAdapter.Description;
                    }

                    if (integrationProcess.DestinationIntegrationAdapter != null)
                    {
                        this.imgDestinationAdapterImage.ImageUrl   = Presentation.Utilities.PresentationUtilities.GetEndPointTypeImage(integrationProcess.DestinationIntegrationAdapter.EndPointType.ToEnum <EndPointType>());
                        this.lblDestinationAdapterName.Text        = integrationProcess.DestinationIntegrationAdapter.IntegrationAdapterTitle;
                        this.lblDestinationAdpaterDescription.Text = integrationProcess.DestinationIntegrationAdapter.Description;
                    }

                    if (integrationProcess.SourceIntegrationAdapter != null &&
                        integrationProcess.DestinationIntegrationAdapter != null)
                    {
                        this.btnRun.Enabled = true;
                    }
                    else
                    {
                        this.btnRun.Enabled = false;
                    }
                }
            }
            else
            {
                this.divProcessInfo.Visible = false;
            }
        }