/// <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; }
/// <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; }
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); }
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); }
/// <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; }