public IHttpActionResult GetStatusByUniqueId(string uniqueid) { try { if (string.IsNullOrWhiteSpace(uniqueid)) { throw new ArgumentNullException(nameof(uniqueid)); } var workflowActivityList = _workflowActivityService .Get(workflowActivity => workflowActivity.UniqueId == uniqueid); if (!workflowActivityList?.Any() != true) { return(NotFound()); } return(Ok(workflowActivityList)); } catch (Exception exception) { return(BadRequest(exception.Message)); } }
public bool IsUserBeingCreated(string email) { var lastUserActivity = _workflowActivityService.Get(new Dictionary <string, object> { { "Data.email", email }, { "Data.workflowActivityType", "CreateUser" } }).LastOrDefault(); return(lastUserActivity != null && lastUserActivity.Context.WorkflowActivityStatus == WorkflowActivityStatus.RoutingSlipStart); }
// TODO: unit testing private bool CheckIsDomainBeingCreated(List <DomainModel> domains) { var createCompanyActivities = _workflowActivityService.Get(new Dictionary <string, object> { { "Data.workflowActivityType", "CreateCompany" }, }).ToList(); foreach (var activity in createCompanyActivities) { foreach (var item in activity.Context.Data) { if (item.Key == "domains") { foreach (var domain in domains) { if (item.Value.ToString().Contains($"\"{domain.Name}\"")) { var compleatedActivity = createCompanyActivities.FirstOrDefault(a => a.Context.TrackingNumber == activity.Context.TrackingNumber && a.Context.WorkflowActivityStatus == WorkflowActivityStatus.ActivityCompleted); if (compleatedActivity != null) { return(true); } return(false); } } } } } return(false); }
public bool IsOffice365ProvisioningInProgress(int companyId) { var activities = _workflowActivityService.Get(new Dictionary <string, object> { { "Data.companyId", companyId }, { "Data.workflowActivityType", WorkflowActivityType.CreateOffice365Customer.ToString() } }).OrderBy(o => o.Context.Timestamp).ToList(); if (!activities.Any()) { return(false); } if (activities.Count > 1) { activities = _workflowActivityService .Get("TrackingNumber", activities.LastOrDefault()?.Context.TrackingNumber).ToList(); } return(CheckStatusV2(activities)); }