コード例 #1
0
        private ActivityConfig.ACSeriesRow SelectedACSeries()
        {
            int ACSeriesId = Convert.ToInt32(ucActivity.SelectedValue);

            ActivityConfig.ACSeriesRow AcSeries = this.AtMng.acMng.DB.ACSeries.FindByACSeriesId(ACSeriesId);
            return(AcSeries);
        }
コード例 #2
0
        protected override void AfterAdd(DataRow dr)
        {
            ActivityConfig.ACSeriesRow acr = (ActivityConfig.ACSeriesRow)dr;

            acr.ACSeriesId = myA.AtMng.PKIDGet("ACSeries", 1);
            acr.Finish     = false;
            if (acr.SeriesRow.GetACSeriesRows().Length == 1)
            {
                acr.Start = true;
            }
            else
            {
                acr.Start = false;
            }

            acr.OnceOnly    = true;
            acr.Seq         = acr.SeriesRow.GetACSeriesRows().Length * 10;
            acr.InitialStep = 5;
            acr.StepType    = (int)StepType.Activity;

            acr.ForAgent      = false;
            acr.ForClient     = false;
            acr.ForOwner      = false;
            acr.ForLead       = false;
            acr.Obsolete      = false;
            acr.StepCode      = acr.ACSeriesId.ToString();
            acr.AutoChain     = false;
            acr.AllowFileType = true;
            acr.NoResurface   = false;
            acr.PauseParent   = false;
            acr.StartParent   = false;
            acr.StopParent    = false;
            acr.ShowDisb      = false;
            acr.ShowSkipDoc   = false;
        }
コード例 #3
0
        public bool hasPerformADMSLookup(ActivityConfig.ACSeriesRow acs)
        {
            lmDatasets.ActivityConfig.ActivityFieldRow[] afrs = (lmDatasets.ActivityConfig.ActivityFieldRow[])myA.DB.ActivityField.Select("AcSeriesId=" + acs.ACSeriesId, "step, seq");
            bool hasNewADMSLookupRow = false;
            bool hasCall             = false;
            bool hasSend             = false;

            foreach (lmDatasets.ActivityConfig.ActivityFieldRow afr in afrs)
            {
                if (afr.TaskType == "N" && afr.ObjectName == "ADMSLookup")
                {
                    hasNewADMSLookupRow = true;
                }
                if (afr.TaskType == "F" && afr.ObjectName == "ADMSLookup" && afr.FieldName == "Call")
                {
                    hasCall = true;
                }
                if (afr.TaskType == "F" && afr.ObjectName == "ADMSLookup" && afr.FieldName == "Send" && (!afr.IsDefaultValueNull() && afr.DefaultValue.ToUpper() == "TRUE"))
                {
                    hasSend = true;
                }
            }
            if (hasNewADMSLookupRow && hasCall && hasSend)
            {
                return(true);
            }

            return(false);
        }
コード例 #4
0
        public void ReplaceRelFields(ActivityConfig.ACSeriesRow asr, ActivityConfig.ACSeriesRow tempAC, bool ReplaceValues)
        {
            //delete ac field
            if (ReplaceValues)
            {
                foreach (ActivityConfig.ActivityFieldRow afrOld in asr.GetActivityFieldRows())
                {
                    afrOld.Delete();
                }
            }

            //this works if all the rel fields are for the same object
            //TODO:this fails if there are no activity field rows - why do we need the max instance
            //int instance=myA.GetActivityField().InstanceMax(asr,tempAC.GetActivityFieldRows()[0].ObjectName);
            //clone acfield reocrds
            ActivityConfig.ActivityFieldRow[] arfs = (ActivityConfig.ActivityFieldRow[])myA.DB.ActivityField.Select("ACSeriesId=" + tempAC.ACSeriesId, "Step,Seq");
            foreach (lmDatasets.ActivityConfig.ActivityFieldRow arf in arfs)
            {
                lmDatasets.ActivityConfig.ActivityFieldRow newArf = myA.DB.ActivityField.NewActivityFieldRow();
                newArf.ItemArray  = arf.ItemArray;
                newArf.ACSeriesId = asr.ACSeriesId;
                myA.DB.ActivityField.AddActivityFieldRow(newArf);

                newArf.Seq      = arf.Seq;
                newArf.Step     = arf.Step;
                newArf.TaskType = arf.TaskType;
                //newArf.Instance = arf.Instance;// instance;
                newArf.Visible     = arf.Visible;
                newArf.Required    = arf.Required;
                newArf.ReadOnly    = arf.ReadOnly;
                newArf.ObjectAlias = arf.ObjectAlias;
            }
        }
コード例 #5
0
        public void OutOfOfficeReply(atriumDB.ActivityRow activity)
        {
            if (myFM.AtMng.GetSetting(AppBoolSetting.useOutOfOfficeFunctionality))
            {
                if (activity.Communication)
                {
                    docDB.DocumentRow    docr   = myFM.GetDocMng().DB.Document.FindByDocId(activity.DocId);
                    docDB.RecipientRow[] recips = docr.GetRecipientRows();
                    officeDB.OfficerRow  officerRow;
                    foreach (docDB.RecipientRow rr in recips)
                    {
                        if (rr.Type != "0" && !rr.IsOfficerIdNull())
                        {
                            //check to see if they are out of the office
                            //always load in case person just set their out off office flag
                            officerRow = (officeDB.OfficerRow)myFM.AtMng.OfficeMng.GetOfficer().Load(rr.OfficerId);

                            //jll 2018-04-24 - if recipient is external, this check should never happen.
                            if (officerRow != null && officerRow.OutOfOffice)
                            {
                                if (DateTime.Now >= officerRow.OutOfOfficeStartDate && DateTime.Now <= officerRow.OutOfOfficeEndDate)
                                {
                                    // do out of office activity
                                    ActivityConfig.ACSeriesRow acsr = myFM.AtMng.acMng.DB.ACSeries.FindByACSeriesId(myFM.AtMng.GetSetting(AppIntSetting.OutOfOfficeNotification));
                                    CurrentACE = null;
                                    AutoAC(activity, acsr, officerRow.OfficerId, ACEngine.RevType.OutOfOffice, false);
                                }
                            }
                        }
                    }
                }
            }
        }
コード例 #6
0
        private void InternalDecisionRule(ActivityConfig.ACSeriesRow acsr)
        {
            if (acsr.StepType == (int)StepType.Decision && acsr.GetActivityFieldRows().Length > 0)
            {
                //make sure connectors are Yes and No
                foreach (ActivityConfig.ACDependencyRow acdr in acsr.GetACDependencyRowsByNextSteps())
                {
                    if (acdr.DescEng == "Yes" || acdr.DescEng == "No")
                    {
                        //good
                    }
                    else
                    {
                        AddValidationRecord(acsr, ValidationType.Error, "Internal decision has invalid answer descriptions");
                    }

                    if (acdr.DescFre == "Oui" || acdr.DescFre == "Non")
                    {
                        //good
                    }
                    else
                    {
                        AddValidationRecord(acsr, ValidationType.Error, "Internal decision has invalid answer descriptions");
                    }
                }
            }
        }
コード例 #7
0
        public void DoAutoAC(NextStep ns, ActivityConfig.ACSeriesRow asr, int revId, ACEngine.RevType revType, DateTime acDate)
        {
            try
            {
                if (ns == null)
                {
                    AutoAC(null, asr, revId, revType, acDate, null, true);
                }
                else
                {
                    AutoAC(ns.prevAc, asr, revId, revType, acDate, ns.FlowQ, true);
                }

                CurrentACE = null;

                FM.GetDocMng().DB.DocContent.AcceptChanges();
            }
            catch (Exception xx)
            {
                if (CurrentACE != null)
                {
                    CurrentACE.Cancel();
                }
                CurrentACE = null;

                throw xx;
            }
        }
コード例 #8
0
 private void gridEX1_LinkClicked(object sender, Janus.Windows.GridEX.ColumnActionEventArgs e)
 {
     try
     {
         if (e.Column.Key == "AcSeriesHelp")
         {
             DataRow dr = (DataRow)((DataRowView)gridEX1.GetRow().DataRow).Row;
             if (dr["AcSeriesDeskbookLink"].ToString() == Properties.Resources.mHelp)
             {
                 ActivityConfig.ACSeriesRow acsr = (ActivityConfig.ACSeriesRow)UIHelper.AtMng.acMng.DB.ACSeries.FindByACSeriesId(CurrentAcSeriesId());
                 fTriangle HelpTriangle          = new fTriangle(acsr, UIHelper.AtMng);
                 HelpTriangle.Show();
             }
         }
         if (e.Column.Key == "SeriesHelp")
         {
             DataRow dr = (DataRow)((DataRowView)gridEX1.GetRow().DataRow).Row;
             if (dr["SeriesDeskbookLink"].ToString() == Properties.Resources.mHelp)
             {
                 ActivityConfig.SeriesRow asr = (ActivityConfig.SeriesRow)UIHelper.AtMng.acMng.DB.Series.FindBySeriesId(CurrentSeriesId());
                 fTriangle HelpTriangle       = new fTriangle(asr, UIHelper.AtMng);
                 HelpTriangle.Show();
             }
         }
     }
     catch (Exception x)
     {
         UIHelper.HandleUIException(x);
     }
 }
コード例 #9
0
        private void Init(ActivityConfig.ACSeriesRow acsr)
        {
            this.SuspendLayout();
            //flowLayoutPanel1.Controls.Clear();
            if (myRF != null)
            {
                myRF.Dispose();
            }
            myRF                 = null;
            MyACE                = new ACEngine(FM);
            MyACE.myAcSeries     = acsr;
            MyACE.myActivityCode = acsr.ActivityCodeRow;
            MyACE.DoRelFields();
            MyACE.DoStep(ACEngine.Step.RelatedFields0, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields1, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields2, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields3, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields4, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields5, true);
            MyACE.DoStep(ACEngine.Step.RelatedFields6, true);

            BuildForm(acsr);
            if (first)
            {
                foreach (DataView dv in MyACE.relTables.Values)
                {
                    DataTable dt = dv.Table;
                    dt.ColumnChanged += new DataColumnChangeEventHandler(dt_ColumnChanged);
                    atLogic.ObjectBE obe = FM.GetBEFromTable(dt);
                    obe.OnUpdate += new atLogic.UpdateEventHandler(ucSSTCase_OnUpdate);
                }
                first = false;
            }
            this.ResumeLayout();
        }
コード例 #10
0
        public void ExecuteAction(FileManager fm, appDB.ddRuleRow ddrr, DataRow dr2Validate)
        {
            //can't handle document right now
            //can't have associated data

            ActivityConfig.ACSeriesRow acsr = myA.acMng.DB.ACSeries.FindByACSeriesId(ddrr.ACSeriesId);
            ExecuteAction(fm, dr2Validate, acsr);
        }
コード例 #11
0
        private void CreateAC(int fileId, int acseriesId, DateTime acDate, string ctxTable, int ctxId)
        {
            ActivityConfig.ACSeriesRow acsr = myA.acMng.DB.ACSeries.FindByACSeriesId(acseriesId);
            FileManager fm = myA.GetFile(fileId);

            ActivityBP abp = fm.InitActivityProcess();

            abp.CreateAC(acseriesId, acDate, ctxTable, ctxId, 0, ACEngine.RevType.Nothing);
        }
コード例 #12
0
        //****begin rules


        //verify Related Fields data
        private void RelatedFieldsVerify(ActivityConfig.ACSeriesRow acsr)
        {
            List <string> objAliases = new List <string>();

            //Task Types
            // I - Issue
            // P - prompt
            // N - new record
            // D - delete record
            // F - Related field
            // T - include
            // Q - queried record must return one record
            // S - select records can return 0 or more
            // L - load a record will load from db if record not already loaded
            // G - gets all records no criteria required
            // O - special object
            // R - repeat for block
            // U - one or more records must be returned
            // C - Query or new
            // M -  most recent for criteria
            for (int i = -10; i < 20; i++)
            {
                foreach (lmDatasets.ActivityConfig.ActivityFieldRow afr in acMng.DB.ActivityField.Select("TaskType<>'F' and Step=" + i.ToString() + " and ACseriesid=" + acsr.ACSeriesId.ToString(), "seq"))
                {
                    if (!objAliases.Contains(afr.ObjectAlias) && (afr.TaskType == "Z" | afr.TaskType == "U" | afr.TaskType == "M" | afr.TaskType == "D" | afr.TaskType == "C" | afr.TaskType == "R" | afr.TaskType == "O" | afr.TaskType == "N" | afr.TaskType == "G" | afr.TaskType == "L" | afr.TaskType == "Q" | afr.TaskType == "S"))
                    {
                        objAliases.Add(afr.ObjectAlias);
                    }


                    if (afr.TaskType == "T")
                    {
                        //need to resolve "T" tasks
                        foreach (lmDatasets.ActivityConfig.ActivityFieldRow afrT in acMng.DB.ActivityField.Select("ACseriesid=" + afr.DefaultValue, "step,seq"))
                        {
                            if (!objAliases.Contains(afrT.ObjectAlias) && (afr.TaskType == "Z" | afrT.TaskType == "U" | afrT.TaskType == "M" | afrT.TaskType == "C" | afrT.TaskType == "R" | afrT.TaskType == "O" | afrT.TaskType == "N" | afrT.TaskType == "G" | afrT.TaskType == "L" | afrT.TaskType == "Q" | afrT.TaskType == "S"))
                            {
                                objAliases.Add(afrT.ObjectAlias);
                            }
                        }
                        //skip rules
                    }
                    else
                    {
                        //put rules that test individual related field records here
                        RelatedFieldsVerify(afr, objAliases);
                    }
                }

                foreach (lmDatasets.ActivityConfig.ActivityFieldRow afr in acMng.DB.ActivityField.Select("TaskType='F' and Step=" + i.ToString() + " and ACseriesid=" + acsr.ACSeriesId.ToString(), "seq"))
                {
                    //put rules that test individual related field records here
                    RelatedFieldsVerify(afr, objAliases);
                }
            }
        }
コード例 #13
0
 private void ConnectorRules(ActivityConfig.ACSeriesRow acsr)
 {
     foreach (ActivityConfig.ACDependencyRow acdr in acsr.GetACDependencyRowsByNextSteps())
     {
         if (!acsr.SeriesRow.OncePerFile & !acsr.SeriesRow.SingleInstancePerFile & acdr.LinkType == (int)ConnectorType.Transfer)
         {
             AddValidationRecord(acsr, ValidationType.Error, "You cannot use a 'Transfer' connector in a series that is not single instance or once per file.");
         }
     }
 }
コード例 #14
0
        //public ACEngine Add(DateTime acDate, ActivityConfig.ACSeriesRow acSeries, atriumDB.ProcessRow process, bool adHoc, atriumDB.ActivityRow prevAc, string conversationIndex)
        //{
        //    if (myACE != null)
        //        throw new AtriumException("You cannot enter more than one activity at a time on a file.");

        //    myACE = new ACEngine(FM, acDate, acSeries, process, adHoc, conversationIndex, prevAc, ConnectorType.NextStep, null, 0, ACEngine.RevType.Nothing);

        //    return myACE;

        //}

        public ACEngine Add(DateTime acDate, ActivityConfig.ACSeriesRow acSeries, atriumDB.ProcessRow process, bool adHoc, atriumDB.ActivityRow prevAc)
        {
            if (myACE != null)
            {
                throw new AtriumException("You cannot enter more than one activity at a time on a file.");
            }

            myACE = new ACEngine(FM, acDate, acSeries, process, adHoc, null, prevAc, ConnectorType.NextStep, null, 0, ACEngine.RevType.Nothing, null);
            return(myACE);
        }
コード例 #15
0
 public ActivityConfig.ACSeriesRow GetAutoStep(ActivityConfig.ACSeriesRow acs)
 {
     foreach (lmDatasets.ActivityConfig.ACDependencyRow acdr in acs.GetACDependencyRowsByNextSteps())
     {
         if (acdr.LinkType == (int)atriumBE.ConnectorType.Auto)
         {
             return(acdr.ACSeriesRowByPreviousSteps);
         }
     }
     return(null);
 }
コード例 #16
0
 private void DoBlock(ActivityConfig.ACSeriesRow acsr, bool HasBlock, int step)
 {
     if (HasBlock)
     {
         MyACE.LoadDataForStep(step, acsr.ACSeriesId);
         if (!MyACE.skipBlock)
         {
             myRF.DoRelFields(acsr, step);
         }
         ;
     }
 }
コード例 #17
0
        public int InstanceMax(ActivityConfig.ACSeriesRow acsr, string oName)
        {
            int InstanceCount = -1;

            foreach (lmDatasets.ActivityConfig.ActivityFieldRow afr in acsr.GetActivityFieldRows())
            {
                if (!afr.IsNull("ObjectName") && afr.ObjectName == oName && afr.Instance > InstanceCount)
                {
                    InstanceCount = afr.Instance;
                }
            }
            return(InstanceCount + 1);
        }
コード例 #18
0
        //check finish step type
        //JLL:2013-07-09
        private void FinishTypeRule(ActivityConfig.ACSeriesRow acsr)
        {
            switch ((StepType)acsr.StepType)
            {
            case StepType.Activity:
            case StepType.Subseries:
                //ok
                break;

            default:
                AddValidationRecord(acsr, ValidationType.Warning, "Process should end on a Recorded Activity or a Subprocess.");
                break;
            }
        }
コード例 #19
0
        private bool IsEnabled(ActivityConfig.ACSeriesRow nextStep)
        {
            bool enable = true;

            //JLL 2018-04-23
            //if (myFM.AtMng.SecurityManager.CanOverride(0, atSecurity.SecurityManager.Features.SysAdmin) == atSecurity.SecurityManager.ExPermissions.Yes)
            //    return enable;

            if (!nextStep.IsRoleCodeNull())
            {
                if (!myFM.AtMng.OfficeMng.GetOfficer().IsInRole(nextStep.RoleCode) & !myFM.GetFileContact().IsInRole(nextStep.RoleCode))
                {
                    enable = false;
                }
                ;
            }

            if (enable & (nextStep.ForAgent | nextStep.ForClient | nextStep.ForLead | nextStep.ForOwner))
            {
                //get fileoffice row
                lmDatasets.atriumDB.FileOfficeRow[] fos = (lmDatasets.atriumDB.FileOfficeRow[])myFM.DB.FileOffice.Select("Fileid=" + myFM.CurrentFile.FileId.ToString() + " and OfficeId=" + myFM.AtMng.WorkingAsOfficer.OfficeId.ToString());
                if (fos.Length != 1)
                {
                    enable = false;
                }
                else
                {
                    lmDatasets.atriumDB.FileOfficeRow fo = fos[0];
                    //check isowner etc.
                    enable = false;
                    if (nextStep.ForOwner & fo.IsOwner)
                    {
                        enable = true;
                    }
                    if (nextStep.ForLead & fo.IsLead)
                    {
                        enable = true;
                    }
                    if (nextStep.ForClient & fo.IsClient)
                    {
                        enable = true;
                    }
                    if (nextStep.ForAgent & fo.IsAgent)
                    {
                        enable = true;
                    }
                }
            }
            return(enable);
        }
コード例 #20
0
        //public override void FixLookups(System.Data.DataRow ddr)
        //{
        //    atriumDB.ActivityBFRow dr = (atriumDB.ActivityBFRow)ddr;

        //    OfficerBE ofr = this.myA.AtMng.OfficeMng.GetOfficer();


        //    if (!dr.IsBFOfficerCodeNull())
        //        dr.BFOfficerID = ofr.LookupId(dr.BFOfficerCode);
        //    else
        //        dr.SetBFOfficerIDNull();


        //}

        public void AutoCompleteBFs(atriumDB.ActivityRow newAC)
        {
            //this.myA..AppMan.ExecuteSP("ActivityAutoComplete", dr.FileId, dr.OfficerId, dr.ActivityDate, dr.ActivityCodeID);
            if (newAC.ACSeriesId == myA.AtMng.GetSetting(AppIntSetting.OutOfOfficeNotification))
            {
                return;
            }

            stackLimit = 0;
            if (!newAC.IsACSeriesIdNull())
            {
                ActivityConfig.ACSeriesRow acsr = this.myA.AtMng.acMng.DB.ACSeries.FindByACSeriesId(newAC.ACSeriesId);
                AutoCompleteBFs(newAC, acsr);
            }
        }
コード例 #21
0
        //check start step type
        private void StartTypeRule(ActivityConfig.ACSeriesRow acsr)
        {
            switch ((StepType)acsr.StepType)
            {
            case StepType.Activity:
            case StepType.Decision:
            case StepType.NonRecorded:
                //ok
                break;

            default:
                AddValidationRecord(acsr, ValidationType.Error, "Process must start on a Recorded Activity, Decision or Non-Recorded Step.");
                break;
            }
        }
コード例 #22
0
        //If StepTemplate has template, is language specified?
        private bool TemplateLanguageNotSpecified(ActivityConfig.ACSeriesRow acsr)
        {
            bool languageSpecified = false;

            foreach (lmDatasets.ActivityConfig.ActivityFieldRow afr in acsr.GetActivityFieldRows())
            {
                if (!afr.IsNull("ObjectName") && afr.ObjectName.ToUpper() == "DOCUMENT" && afr.FieldName.ToUpper() == "LANGUAGECODE")
                {
                    if (!afr.IsDefaultValueNull() || (!afr.IsDefaultObjectNameNull() && !afr.IsDefaultFieldNameNull()))
                    {
                        languageSpecified = true;
                        break;
                    }
                }
            }
            return(languageSpecified);
        }
コード例 #23
0
        private void TemplateRule(ActivityConfig.ACSeriesRow acsr)
        {
            bool hasDoc            = false;
            bool templateHookedUp  = false;
            bool isEmail           = false;
            bool languageSpecified = false;
            bool templateExists    = false;

            foreach (lmDatasets.ActivityConfig.ActivityFieldRow afr in acsr.GetActivityFieldRows())
            {
                //If StepTemplate is "isEmail", doc template must be hooked up
                if (acsr.ActivityCodeRow.Communication)
                {
                    isEmail = true;
                }

                if (!afr.IsNull("ObjectName") && afr.ObjectName.ToUpper() == "DOCUMENT" && afr.FieldName.ToUpper() == "TEMPLATECODE")
                {
                    hasDoc            = true;
                    templateHookedUp  = true;
                    languageSpecified = TemplateLanguageNotSpecified(acsr);
                    if (afr.IsDefaultValueNull())
                    {
                        AddValidationRecord(acsr, ValidationType.Warning, "Related Fields reference a blank template code.");
                    }
                    else
                    {
                        templateExists = TemplateExists(afr.DefaultValue);
                    }
                }
            }
            if (isEmail && !templateHookedUp) //add error row
            {
                AddValidationRecord(acsr, ValidationType.Error, "Step  is intended to be an e-mail, yet a template is not hooked up in Related Fields");
            }

            if (hasDoc && !languageSpecified)
            {
                AddValidationRecord(acsr, ValidationType.Warning, "Step has a document, yet the language is not set through Related Fields.");
            }

            if (hasDoc && !templateExists)
            {
                AddValidationRecord(acsr, ValidationType.Error, "Related Fields reference a template code that does not exist.");
            }
        }
コード例 #24
0
        public string GetRecordedStepText(ActivityConfig.ACSeriesRow acsr)
        {
            string lang = "Eng", acText = "";

            if (myA.AppMan.Language.ToUpper() == "FRE")
            {
                lang = "Fre";
            }

            acText = acsr.ActivityCodeRow["ActivityName" + lang].ToString();
            if (acsr["Desc" + lang].ToString().Length > 0)
            {
                acText += " " + acsr["Desc" + lang].ToString();
            }

            return(acText);
        }
コード例 #25
0
        public void LoadACS(string form)
        {
            int acsid = System.Convert.ToInt32(form.Replace("acs-", ""));

            Atmng      = FM.AtMng;
            myACSeries = Atmng.acMng.DB.ACSeries.FindByACSeriesId(acsid);

            appDB.ddTableRow[] dtrs = (appDB.ddTableRow[])Atmng.DB.ddTable.Select("DefaultFormID=" + acsid.ToString());

            myPrimaryTable     = dtrs[0];
            secReadOnly        = Atmng.SecurityManager.CanUpdate(FM.CurrentFileId, MyFeatureID()) == atSecurity.SecurityManager.LevelPermissions.No;
            tsScreenTitle.Text = myACSeries["Desc" + Atmng.AppMan.Language].ToString();


            Init(myACSeries);

            FileTreeView.BuildMenu(FM, tsActions, myACSeries.StepCode);
        }
コード例 #26
0
 public static bool AllowedForRole(ActivityConfig.ACSeriesRow acsr, atriumManager atmng, FileManager fm)
 {
     if (!acsr.IsRoleCodeNull())
     {
         if (atmng.OfficeMng.GetOfficer().IsInRole(acsr.RoleCode) || (fm != null && fm.GetFileContact().IsInRole(acsr.RoleCode)))
         {
             return(true);
         }
         else
         {
             return(false);
         }
     }
     else
     {
         return(true);
     }
 }
コード例 #27
0
        public Diagram(Graphics g, ActivityConfig.ACSeriesRow initialStep)
        {
            mySeries             = initialStep.SeriesRow;
            drawingSurface       = g;
            g.TextRenderingHint  = System.Drawing.Text.TextRenderingHint.ClearTypeGridFit;
            g.SmoothingMode      = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;


            drawingSurface.Clear(drawingSurfaceBGColor);

            curPoint = new Point(100, 10);
            BFConverter.Init();

            if (initialStep != null)
            {
                AddStep(initialStep);
            }
        }
コード例 #28
0
        private void AddValidationRecord(ActivityConfig.ACSeriesRow acsr, ValidationType ErrorType, string validationText)
        {
            acMng.DB.WFValidation.AddWFValidationRow((int)ErrorType, acsr.StepCode, validationText, acsr.ACSeriesId, "", "");
            acMng.DB.WFValidation.AcceptChanges();

            switch (ErrorType)
            {
            case ValidationType.Error:
                errorCount++;
                break;

            case ValidationType.Message:
                messageCount++;
                break;

            case ValidationType.Warning:
                warningCount++;
                break;
            }
        }
コード例 #29
0
        private void ucActivity_ASelectedValueChanged(object sender, EventArgs e)
        {
            try
            {
                //check to see if step has templates

                ActivityConfig.ACSeriesRow acsr = SelectedACSeries();
                ACEngine ace = new ACEngine(fmCurrent);
                ace.TestForSteps(acsr.ACSeriesId);
                if (ace.HasDoc & ace.TemplateList != null)
                {
                    uiTemplate.Enabled = true;
                    UIHelper.ComboBoxInit(ace.TemplateList, uiTemplate, fmCurrent);
                }
                else
                {
                    uiTemplate.Enabled       = false;
                    uiTemplate.SelectedValue = null;
                }

                //check for fields that require prompting

                ctx = new Dictionary <string, object>();
                foreach (ActivityConfig.ActivityFieldRow afr in acsr.GetActivityFieldRows())
                {
                    if (afr.TaskType == "F" & afr.Visible & !afr.ReadOnly & afr.IsDefaultObjectNameNull() & (afr.IsDefaultValueNull() || !afr.DefaultValue.StartsWith("[")))
                    {
                        ctx.Add(afr.ObjectAlias + afr.FieldName, null);
                    }
                }
                if (ctx.Count == 0)
                {
                    ctx = null;
                }
            }
            catch (Exception x)
            {
                UIHelper.HandleUIException(x);
            }
        }
コード例 #30
0
        public static bool Allowed(ActivityConfig.ACSeriesRow acsr, atriumManager atmng, FileManager fm)
        {
            bool allow = false;

            //check  security
            if (atmng.SecurityManager.CanAdd(fm.CurrentFileId, atSecurity.SecurityManager.Features.Activity) > atSecurity.SecurityManager.ExPermissions.No)
            {
                if (acsr.InitialStep == (int)ACEngine.Step.CreateFile | acsr.InitialStep == (int)ACEngine.Step.PickIssue)
                {
                    allow = fm.CurrentFile.FileMetaTypeRow.AllowSubFiles;
                }
                else
                {
                    allow = fm.CurrentFile.FileMetaTypeRow.AllowActivities;
                }
                return(AllowForFileType(acsr, fm) & AllowedForRole(acsr, atmng, fm) & !acsr.Obsolete & allow);
            }
            else
            {
                return(false);
            }
        }