/// <summary>
        /// Gets activities by activity library ID or Name & Version combination.
        /// </summary>
        /// <param name="request">Request that specifies activity library identifier info.</param>
        /// <param name="includeXaml">Flag that indicates whether activity XAML should be returned.</param>
        /// <returns>Response that contains a list of activities.</returns>
        public static List<GetLibraryAndActivitiesDC> GetActivitiesByActivityLibrary(GetLibraryAndActivitiesDC request, bool includeXaml)
        {
            List<GetLibraryAndActivitiesDC> reply = null;

            try
            {
                Database database = DatabaseFactory.CreateDatabase();
                DbCommand command = database.GetStoredProcCommand(StoredProcNames.ActivityGetByActivityLibrary);
                database.AddParameter(command, StoredProcParamNames.Id, DbType.Int32, ParameterDirection.Input, null, DataRowVersion.Default, request.ActivityLibrary.Id);
                database.AddParameter(command, StoredProcParamNames.Name, DbType.String, ParameterDirection.Input, null, DataRowVersion.Default, request.ActivityLibrary.Name);
                database.AddParameter(command, StoredProcParamNames.Version, DbType.String, ParameterDirection.Input, null, DataRowVersion.Default, request.ActivityLibrary.VersionNumber);

                StoreActivitiesDC activity = null;
                List<StoreActivitiesDC> activities = new List<StoreActivitiesDC>();

                using (IDataReader reader = database.ExecuteReader(command))
                {

                    while (reader.Read())
                    {
                        activity = new StoreActivitiesDC();
                        activity.ActivityCategoryName = Convert.ToString(reader[DataColumnNames.ActivityCategoryName]);
                        activity.ActivityLibraryName = Convert.ToString(reader[DataColumnNames.ActivityLibraryName]);
                        activity.Name = Convert.ToString(reader[DataColumnNames.Name]);
                        activity.Description = Convert.ToString(reader[DataColumnNames.Description]) ?? string.Empty;
                        activity.DeveloperNotes = Convert.ToString(reader[DataColumnNames.DeveloperNotes]);
                        activity.Id = Convert.ToInt32(reader[DataColumnNames.Id]);
                        activity.IsCodeBeside = reader[DataColumnNames.IsCodeBeside] != DBNull.Value ? Convert.ToBoolean(reader[DataColumnNames.IsCodeBeside]) : false;
                        activity.IsService = Convert.ToBoolean(reader[DataColumnNames.IsService]);
                        activity.Locked = reader[DataColumnNames.Locked] != DBNull.Value ? Convert.ToBoolean(reader[DataColumnNames.Locked]) : false;
                        activity.LockedBy = Convert.ToString(reader[DataColumnNames.LockedBy]) ?? string.Empty;
                        activity.MetaTags = Convert.ToString(reader[DataColumnNames.MetaTags]) ?? string.Empty;
                        activity.Namespace = Convert.ToString(reader[DataColumnNames.Namespace]) ?? string.Empty;
                        activity.Guid = new Guid(Convert.ToString(reader[DataColumnNames.Guid]));
                        activity.ToolBoxtab = reader[DataColumnNames.ToolBoxtab] != DBNull.Value ? Convert.ToInt32(reader[DataColumnNames.ToolBoxtab]) : 0;
                        activity.Version = Convert.ToString(reader[DataColumnNames.Version]);
                        activity.WorkflowTypeName = Convert.ToString(reader[DataColumnNames.WorkflowTypeName]);
                        if (includeXaml)
                        {
                            activity.Xaml = Convert.ToString(reader[DataColumnNames.Xaml]) ?? string.Empty;
                        }
                        activities.Add(activity);
                    }
                }

                reply = new List<GetLibraryAndActivitiesDC>();
                reply.Add(new GetLibraryAndActivitiesDC());
                reply[0].StoreActivitiesList = activities;
            }
            catch (SqlException e)
            {
                e.HandleException();
            }

            return reply;
        }
        /// <summary>
        /// Performs input validation and gets activities by activity library ID or Name & Version combination.
        /// </summary>
        /// <param name="request">Request that specifies activity library identifier info.</param>
        /// <param name="includeXaml">Flag that indicates whether activity XAML should be returned.</param>
        /// <returns>Response that contains a list of activities.</returns>
        public static GetActivitiesByActivityLibraryNameAndVersionReplyDC GetActivitiesByActivityLibrary(GetActivitiesByActivityLibraryNameAndVersionRequestDC request, bool includeXaml)
        {
            var reply = new GetActivitiesByActivityLibraryNameAndVersionReplyDC();

            try
            {
                // Validates the input and throws ValidationException for any issues found.
                request.ValidateRequest();

                var newRequest = new GetLibraryAndActivitiesDC();
                var activityLibraryDC = new ActivityLibraryDC();
                var newReply = new List<GetLibraryAndActivitiesDC>();

                activityLibraryDC.IncallerVersion = request.IncallerVersion;
                activityLibraryDC.Incaller = request.Incaller;
                activityLibraryDC.Name = request.Name;
                activityLibraryDC.VersionNumber = request.VersionNumber;
                newRequest.ActivityLibrary = activityLibraryDC;

                newReply = ActivityRepositoryService.GetActivitiesByActivityLibrary(newRequest, includeXaml);

                if (newReply != null && newReply.Count > 0)
                {
                    reply.List = newReply[0].StoreActivitiesList;
                }
            }
            catch (ValidationException e)
            {
                e.HandleException();
            }
            catch (DataAccessException e)
            {
                e.HandleException();
            }

            return reply;
        }
Example #3
0
        /// <summary>
        /// Gets the ActivityLibrary and associated StoreActivity entries as a unit. A transaction is used here
        /// to eliminate getting caught in the middle of a multi row update.
        /// </summary>
        /// <param name="request">GetLibraryAndActivitiesDC</param>
        /// <returns>either List<GetLibraryAndActivitiesDC>, or a fault</returns>
        public static List<GetLibraryAndActivitiesDC> GetLibraryAndActivities(GetLibraryAndActivitiesDC request)
        {
            List<GetLibraryAndActivitiesDC> reply = new List<GetLibraryAndActivitiesDC>();
            StatusReplyDC statusReply = new StatusReplyDC();
            //// ActivityLibraryDC alDC = request.ActivityLibrary;
            List<ActivityLibraryDC> activityLibraryDClist = null;
            using (TransactionScope ts = new TransactionScope())
            {
                try
                {
                    //// Get StoreActivities
                    reply = DAL.Activities.GetActivityLibraryAndStoreActivities(request);
                    if (reply[0].StatusReply.Errorcode != 0)
                        throw new Exception(reply[0].StatusReply.ErrorMessage);
                    //// Get ActivityLibrary
                    activityLibraryDClist = DAL.Activities.ActivityLibraryGet(request.ActivityLibrary);
                    if (activityLibraryDClist.Count == 1 && activityLibraryDClist[0].StatusReply.Errorcode == 0)
                        reply[0].ActivityLibrary = activityLibraryDClist[0];
                    else
                       throw new FaultException();
                    ts.Complete();
                    reply[0].StatusReply = statusReply;
                }
                catch (TransactionAbortedException)
                {
                    statusReply.ErrorMessage = reply[0].StatusReply.ErrorMessage;
                    statusReply.Errorcode = reply[0].StatusReply.Errorcode;
                }
                catch (Exception)
                {
                    statusReply.ErrorMessage = reply[0].StatusReply.ErrorMessage;
                    statusReply.Errorcode = reply[0].StatusReply.Errorcode;
                }
            }

            return reply;
        }
Example #4
0
        public void GetActivityLibraryAndStoreActivities()
        {
            List<CWF.DataContracts.GetLibraryAndActivitiesDC> reply = null;
            CWF.DataContracts.GetLibraryAndActivitiesDC request = new CWF.DataContracts.GetLibraryAndActivitiesDC();
            CWF.DataContracts.ActivityLibraryDC activityLibraryDC = new CWF.DataContracts.ActivityLibraryDC();
            activityLibraryDC.IncallerVersion = INCALLERVERSION;
            activityLibraryDC.Incaller = INCALLER;
            activityLibraryDC.Name = "OASP.Core2";
            activityLibraryDC.VersionNumber = "1.0.0.0";
            activityLibraryDC.Id = 0;
            request.ActivityLibrary = activityLibraryDC;
            try
            {
                reply = ActivityRepositoryService.GetActivitiesByActivityLibrary(request, false);
            }
            catch (Exception ex)
            {
                string faultMessage = ex.Message;
                Assert.Fail(faultMessage + "-catch (Exception ex) on reply = CWF.DAL.Activities.GetActivityLibraryAndStoreActivities(request);");
            }

            Assert.IsNotNull(reply);
        }
Example #5
0
        public void GetActivitiesByActivityLibrary()
        {
            List<CWF.DataContracts.GetLibraryAndActivitiesDC> reply = null;
            var request = new CWF.DataContracts.GetLibraryAndActivitiesDC();
            var activityLibraryDC = new CWF.DataContracts.ActivityLibraryDC();

            activityLibraryDC.IncallerVersion = INCALLERVERSION;
            activityLibraryDC.Incaller = INCALLER;
            activityLibraryDC.Name = "OASP.Core";
            activityLibraryDC.VersionNumber = "2.2.108.0";
            activityLibraryDC.Id = 0;
            request.ActivityLibrary = activityLibraryDC;

            try
            {
                reply = CWF.BAL.Services.GetLibraryAndActivities(request);
            }
            catch (Exception ex)
            {
                string faultMessage = ex.Message;
                Assert.Fail(faultMessage + "-catch (Exception ex) on reply = CWF.BAL.GetLibrary.GetLibraryAndActivities(request);");
            }

            Assert.IsNotNull(reply);
            Assert.AreEqual(reply[0].StatusReply.Errorcode, 0);
        }
Example #6
0
 /// <summary>
 /// Thhis method gets information of the store activity and activity library. These are passed as input params
 /// </summary>
 /// <param name="activityLibrary"></param>
 /// Activity libraray for which information is required from the DB
 /// <param name="storeActivitiesList"></param>
 /// Store Activity for which information is required from the DB
 /// <returns></returns>
 public static List<GetLibraryAndActivitiesDC> GetProjectInfo(ActivityLibraryDC activityLibrary, List<StoreActivitiesDC> storeActivitiesList)
 {
     List<GetLibraryAndActivitiesDC> reply = null;
     GetLibraryAndActivitiesDC request = new GetLibraryAndActivitiesDC();
     request.ActivityLibrary = activityLibrary;
     request.StoreActivitiesList = storeActivitiesList;
     reply = CWF.BAL.Services.GetLibraryAndActivities(request);
     return reply;
 }