public void UpdateLeadScoreRule(int accountId, int by) { using (CRMDb db = new CRMDb()) { var rule = db.LeadScoreRules.Where(r => r.ConditionValue == this.WorkflowActionID.ToString()).FirstOrDefault(); if (rule != null) { var isActionDeleted = db.WorkflowActions.Where(a => a.WorkflowActionID == this.WorkflowActionID).Select(a => a.IsDeleted).FirstOrDefault(); if (isActionDeleted) { db.LeadScoreRules.Remove(rule); } else { rule.Score = this.LeadScoreValue; rule.ModifiedBy = by; rule.ModifiedOn = DateTime.Now.ToUniversalTime(); } } else { InsertLeadScoreRule(accountId, by, db); } db.SaveChanges(); } }
public override BaseWorkflowActionsDb Get(int workflowActionId, CRMDb db) { var WorkflowNotifyUserActionsDb = db.WorkflowNotifyUserActions.Where(u => u.WorkflowActionID == workflowActionId).FirstOrDefault(); if (WorkflowNotifyUserActionsDb != null && WorkflowNotifyUserActionsDb.UserID != null) { IEnumerable <int> userIds = !string.IsNullOrEmpty(WorkflowNotifyUserActionsDb.UserID) ? WorkflowNotifyUserActionsDb.UserID.Split(',').Select(se => Convert.ToInt32(se)): new List <int>() { }; if (userIds.IsAny()) { WorkflowNotifyUserActionsDb.UserNames = db.Users.Where(w => userIds.Contains(w.UserID) && w.IsDeleted == false && w.Status == Status.Active).Select(s => s.FirstName + s.LastName); } else { WorkflowNotifyUserActionsDb.UserNames = new List <string>(); } } else if (WorkflowNotifyUserActionsDb != null && WorkflowNotifyUserActionsDb.NotificationFields != null) { IEnumerable <int> notificationFieldIds = !string.IsNullOrEmpty(WorkflowNotifyUserActionsDb.NotificationFields) ? WorkflowNotifyUserActionsDb.NotificationFields.Split(',').Select(se => Convert.ToInt32(se)): new List <int>() { }; } return(WorkflowNotifyUserActionsDb); }
public void Save(int workFlowUserAssignmentActionID) { using (var db = new CRMDb()) { if (this.RoundRobinContactAssignmentID == 0) { var assignment = GetObject(); assignment.WorkFlowUserAssignmentActionID = workFlowUserAssignmentActionID; db.RoundRobinAssignment.Add(assignment); db.SaveChanges(); } else { var assignment = GetObject(); if (workFlowUserAssignmentActionID != 0) { assignment.WorkFlowUserAssignmentActionID = workFlowUserAssignmentActionID; db.Entry(assignment).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } } } }
public BaseWorkflowActionsDb GetAction(CRMDb db) { var registeredActions = RegisterActions(); return(registeredActions[(WorkflowActionType)WorkflowActionTypeID] .Get(WorkflowActionID, db)); }
public override void Save(CRMDb db) { if (WorkflowDelayTimerActionID == 0) { db.WorkFlowDelayTimerActions.Add(this); } else { db.Entry(this).State = EntityState.Modified; } }
public override void Save(CRMDb db) { if (TriggerWorkflowActionID == 0) { var triggerWorkflowDb = this; db.TriggerWorkflowActions.Add(triggerWorkflowDb); } else { db.Entry(this).State = EntityState.Modified; } }
public override void Save(CRMDb db) { if (WorkflowContactFieldActionID == 0) { if ((this.FieldID.HasValue && this.FieldID.Value > 0) || (this.DropdownValueID.HasValue && this.DropdownValueID.Value > 0)) { db.WorkflowContactFieldActions.Add(this); } } else { db.Entry(this).State = EntityState.Modified; } }
public override void Save(CRMDb db) { if (WorkflowLifeCycleActionID == 0) { if (this.LifecycleDropdownValueID > 0) { db.WorkflowLifeCycleActions.Add(this); } } else { db.Entry(this).State = EntityState.Modified; } }
public override void Save(CRMDb db) { if (WorkflowTagActionID == 0) { if (this.TagID > 0) { db.WorkflowTagActions.Add(this); } } else { db.Entry(this).State = EntityState.Modified; } }
public override void Save(CRMDb db) { if (WorkFlowEmailNotificationActionID == 0) { if (this.FromEmailID > 0) { db.WorkflowEmailNotificationAction.Add(this); } } else { db.Entry(this).State = EntityState.Modified; } }
private void InsertLeadScoreRule(int accountId, int by, CRMDb db) { var rule = new LeadScoreRulesDb() { AccountID = accountId, ConditionDescription = "Update lead score through automation", ConditionID = 10, ConditionValue = this.WorkflowActionID.ToString(), Score = this.LeadScoreValue, IsActive = true, CreatedBy = by, ModifiedBy = by, CreatedOn = DateTime.Now.ToUniversalTime(), ModifiedOn = DateTime.Now.ToUniversalTime() }; db.LeadScoreRules.Add(rule); }
public void Save(CRMDb db) { var index = 1; if (LinkActions != null) { LinkActions.Each(la => { index = 1; if (la.Action != null) { if (la.WorkflowActionID == 0) { var wa = new WorkflowActionsDb() { OrderNumber = index, WorkflowActionTypeID = la.WorkflowActionTypeID, IsSubAction = true, WorkflowID = (short)WorkflowID }; wa.Save(db); } else { la.OrderNumber = index; la.IsSubAction = true; la.WorkflowID = (short)WorkflowID; la.Save(db); } la.Action.Save(db); db.SaveChanges(); if (!la.IsDeleted) { LinkActionID = la.Action.WorkflowActionID; SaveActionLink(db); db.SaveChanges(); } index++; } }); } }
public void Save(CRMDb db) { try { if (WorkflowActionID == 0) { db.WorkflowActions.Add(this); } else { db.Entry(this).State = EntityState.Modified; } } catch (Exception ex) { Logger.Current.Error("Error while saving action", ex); ex.Data.Clear(); ex.Data.Add("Workflow", WorkflowID); } }
public override BaseWorkflowActionsDb Get(int workflowActionId, CRMDb db) { var action = db.WorkflowCampaignActions.Include(x => x.Campaigns).Include(i => i.WorkflowAction).Where(c => c.WorkflowActionID == workflowActionId).FirstOrDefault(); try { action.Links = db.WorkflowCampaignActionLinks.Where(cl => cl.ParentWorkflowActionID == action.WorkflowCampaignActionID).ToList(); var distinctLinks = action.Links.Select(l => l.LinkID).Distinct(); var campaignLinkActions = new List <WorkflowCampaignActionLinksDb>(); distinctLinks.Each(dl => { var cl = new WorkflowCampaignActionLinksDb(); cl.LinkID = dl; var actions = action.Links.Where(al => al.LinkID == dl); var linkActions = new List <WorkflowActionsDb>(); actions.Each(a => { cl.Order = a.Order; cl.LinkActionID = a.LinkActionID; cl.ParentWorkflowActionID = a.ParentWorkflowActionID; if (db.WorkflowActions.Where(aid => aid.WorkflowActionID == a.LinkActionID && !aid.IsDeleted).IsAny()) { var linkAction = db.WorkflowActions.Where(aid => aid.WorkflowActionID == a.LinkActionID && !aid.IsDeleted).FirstOrDefault(); linkAction.Action = linkAction.GetAction(db); linkActions.Add(linkAction); } }); cl.LinkActions = linkActions; campaignLinkActions.Add(cl); }); action.Links = campaignLinkActions; } catch (Exception ex) { Logger.Current.Error("Error while getting link actions", ex); ex.Data.Clear(); ex.Data.Add("Workflow Action ID", workflowActionId); } return(action); }
public override void Save(CRMDb db) { if (WorkFlowUserAssignmentActionID == 0) { db.WorkflowUserAssignmentActions.Add(this); } else { var assignmentsActions = db.WorkflowUserAssignmentActions.AsNoTracking().Where(w => w.WorkFlowUserAssignmentActionID == WorkFlowUserAssignmentActionID).FirstOrDefault(); bool isScheduleChanged = assignmentsActions != null ? assignmentsActions.ScheduledID != this.ScheduledID : false; if (isScheduleChanged) { var oldAssignments = db.RoundRobinAssignment.Where(w => w.WorkFlowUserAssignmentActionID == WorkFlowUserAssignmentActionID); foreach (var oa in oldAssignments) { db.Entry(oa).State = System.Data.Entity.EntityState.Deleted; } } db.Entry(this).State = EntityState.Modified; } }
public override BaseWorkflowActionsDb Get(int workflowActionId, CRMDb db) { var userAssignment = db.WorkflowUserAssignmentActions.Where(ua => ua.WorkflowActionID == workflowActionId).FirstOrDefault(); if (userAssignment != null) { userAssignment.RoundRobinContactAssignments = db.RoundRobinAssignment.Where(w => w.WorkFlowUserAssignmentActionID == userAssignment.WorkFlowUserAssignmentActionID); } if (userAssignment.RoundRobinContactAssignments != null && userAssignment.RoundRobinContactAssignments.Any()) { foreach (var rr in userAssignment.RoundRobinContactAssignments) { List <string> userIds = rr.UserID.Split(',').ToList(); var UserNamesDb = db.Users.Where(w => userIds.Contains(w.UserID.ToString()) && w.IsDeleted == false && w.Status == Status.Active).Select(s => new { Name = s.FirstName + " " + s.LastName, Id = s.UserID }); var UserNames = new List <string>(); foreach (var ID in userIds) { UserNames.Add(UserNamesDb.Where(w => w.Id.ToString() == ID).Select(s => s.Name).FirstOrDefault()); } rr.UserNames = UserNames; } } return(userAssignment); }
public override BaseWorkflowActionsDb Get(int workflowActionId, CRMDb db) { return(db.WorkflowTextNotificationActions.Where(tn => tn.WorkflowActionID == workflowActionId).FirstOrDefault()); }
public abstract BaseWorkflowActionsDb Get(int workflowActionId, CRMDb db);
public abstract void Save(CRMDb db);
public override BaseWorkflowActionsDb Get(int workflowActionId, CRMDb db) { return(db.WorkFlowDelayTimerActions.Where(dt => dt.WorkflowActionID == workflowActionId).FirstOrDefault()); }
public override BaseWorkflowActionsDb Get(int workflowActionId, CRMDb db) { return(db.WorkflowLifeCycleActions.Include(c => c.DropdownValues).Where(lc => lc.WorkflowActionID == workflowActionId).FirstOrDefault()); }
public override BaseWorkflowActionsDb Get(int workflowActionId, CRMDb db) { return(db.TriggerWorkflowActions.Where(lc => lc.WorkflowActionID == workflowActionId).Include(i => i.Workflow).FirstOrDefault()); }
public override BaseWorkflowActionsDb Get(int workflowActionId, CRMDb db) { return(db.WorkflowContactFieldActions.Include(c => c.Fields).Where(f => f.WorkflowActionID == workflowActionId).FirstOrDefault()); }
public override BaseWorkflowActionsDb Get(int workflowActionId, CRMDb db) { return(db.WorkflowLeadScoreActions.Where(cl => cl.WorkflowActionID == workflowActionId).FirstOrDefault()); }
public void SaveActionLink(CRMDb db) { db.WorkflowCampaignActionLinks.Add(this); }
public override BaseWorkflowActionsDb Get(int workflowActionId, CRMDb db) { return(db.WorkflowTagActions.Include(g => g.Tags).Where(t => t.WorkflowActionID == workflowActionId).FirstOrDefault()); }
public override BaseWorkflowActionsDb Get(int workflowActionId, CRMDb db) { return(db.WorkflowEmailNotificationAction.Where(cl => cl.WorkflowActionID == workflowActionId).FirstOrDefault()); }