public static bool CheckReviewCompatibility(EbWebForm webForm)
        {
            if (webForm.TableRowId <= 0)
            {
                throw new FormException("Bad Request. [34]", (int)HttpStatusCode.BadRequest, "Review operation failed due to invalid data id", "EbReviewHelper -> CheckReviewCompatibility");
            }

            EbReview ebReview = (EbReview)webForm.FormSchema.ExtendedControls.Find(e => e is EbReview);

            if (ebReview == null)
            {
                throw new FormException("Review control not found! Contact Admin.", (int)HttpStatusCode.BadRequest, "check the form refid and review control", "EbReviewHelper -> CheckReviewCompatibility");
            }
            bool ok = false;

            if (webForm.FormData?.MultipleTables.ContainsKey(ebReview.TableName) == true)
            {
                SingleTable Table = webForm.FormData.MultipleTables[ebReview.TableName];
                if (Table != null && Table.Count > 0)
                {
                    Table.RemoveAll(e => e.RowId > 0);
                    if (Table.Count == 1)
                    {
                        ok = true;
                    }
                }
            }
            if (!ok)
            {
                throw new FormException("Bad review request", (int)HttpStatusCode.BadRequest, "check the form refid and review control", "EbReviewHelper -> CheckReviewCompatibility");
            }
            return(true);
        }
Пример #2
0
        private void PreProcessTransationData(Dictionary <string, string> DictVmAll, TableSchema _table, ColumnSchema _column, ref string old_val, ref string new_val)
        {
            if (old_val == "[null]")
            {
                old_val = null;
            }
            if (new_val == "[null]")
            {
                new_val = null;
            }
            bool fetchVm = _column.Control is EbPowerSelect || _column.Control is EbDGPowerSelectColumn;

            fetchVm = fetchVm || (_column.Control is EbSimpleSelect && (_column.Control as EbSimpleSelect).IsDynamic);
            fetchVm = fetchVm || (_column.Control is EbDGSimpleSelectColumn && (_column.Control as EbDGSimpleSelectColumn).IsDynamic);

            if (fetchVm)//copy vm for dm
            {
                string key  = string.Concat(_table.TableName, "_", _column.ColumnName);
                string temp = string.Empty;
                if (!string.IsNullOrEmpty(new_val))
                {
                    temp = string.Concat(new_val, ",");
                }
                if (!string.IsNullOrEmpty(old_val))
                {
                    temp += string.Concat(old_val, ",");
                }

                if (!temp.Equals(string.Empty))
                {
                    if (!DictVmAll.ContainsKey(key))
                    {
                        DictVmAll.Add(key, temp);
                    }
                    else
                    {
                        DictVmAll[key] = string.Concat(DictVmAll[key], temp);
                    }
                }
            }
            else if (_table.TableType == WebFormTableTypes.Review)
            {
                EbReview reviewCtrl = this.WebForm.FormSchema.ExtendedControls.Find(e => e is EbReview) as EbReview;
                old_val = this.GetFormattedApprovalData(old_val, _column, reviewCtrl);
                new_val = this.GetFormattedApprovalData(new_val, _column, reviewCtrl);
            }
            else
            {
                old_val = this.GetFormattedData(_column.Control, old_val);
                new_val = this.GetFormattedData(_column.Control, new_val);
            }
        }
Пример #3
0
        public _FG_Review(EbReview CtrlObj, SingleTable Table)
        {
            this.Name    = CtrlObj.Name;
            this.CtrlObj = CtrlObj;
            this.Table   = Table;

            SingleRow _Row = null;

            foreach (SingleRow Row in this.Table)
            {
                if (Row.RowId <= 0 && Row.Columns.Count > 0)
                {
                    _Row = Row;
                    break;
                }
            }

            this.stages = new Dictionary <string, _FG_Review_Stage>();

            foreach (ReviewStageAbstract stage in this.CtrlObj.FormStages)
            {
                EbReviewStage            _eb_stage  = stage as EbReviewStage;
                List <_FG_Review_Action> fg_actions = new List <_FG_Review_Action>();
                foreach (ReviewActionAbstract action in _eb_stage.StageActions)
                {
                    fg_actions.Add(new _FG_Review_Action((action as EbReviewAction).Name));
                }
                if (_Row != null && Convert.ToString(_Row["stage_unique_id"]) == _eb_stage.EbSid)
                {
                    EbReviewAction    eb_curAct = (EbReviewAction)_eb_stage.StageActions.Find(e => (e as EbReviewAction).EbSid == Convert.ToString(_Row["action_unique_id"]));
                    _FG_Review_Action fg_curAct = null;
                    if (eb_curAct != null)
                    {
                        fg_curAct = fg_actions.Find(e => e.name == eb_curAct.Name);
                    }
                    this.stages.Add(_eb_stage.Name, new _FG_Review_Stage(_eb_stage.Name, fg_actions, fg_curAct));
                    this.currentStage = this.stages[_eb_stage.Name];
                }
                else
                {
                    this.stages.Add(_eb_stage.Name, new _FG_Review_Stage(_eb_stage.Name, fg_actions, null));
                }
            }
        }
Пример #4
0
        private static FG_Review GetReviewGlobal(EbReview Rev, SingleTable Table, SingleTable TableBkUp)
        {
            Dictionary <string, FG_Review_Stage> stages = new Dictionary <string, FG_Review_Stage>();
            FG_Review_Stage currentStage = null;
            SingleRow       Row          = null;

            foreach (SingleRow _Row in Table)
            {
                if (_Row.RowId <= 0 && _Row.Columns.Count > 0)
                {
                    Row = _Row;
                    break;
                }
            }

            foreach (EbReviewStage stage in Rev.FormStages)
            {
                List <FG_Review_Action> actions = new List <FG_Review_Action>();
                foreach (EbReviewAction action in stage.StageActions)
                {
                    actions.Add(new FG_Review_Action(action.Name));
                }

                if (Row != null && Convert.ToString(Row["stage_unique_id"]) == stage.EbSid)
                {
                    EbReviewAction   curAct    = stage.StageActions.Find(e => e.EbSid == Convert.ToString(Row["action_unique_id"]));
                    FG_Review_Action fg_curAct = null;
                    if (curAct != null)
                    {
                        fg_curAct = actions.Find(e => e.name == curAct.Name);
                    }
                    stages.Add(stage.Name, new FG_Review_Stage(stage.Name, actions, fg_curAct));
                    currentStage = stages[stage.Name];
                }
                else
                {
                    stages.Add(stage.Name, new FG_Review_Stage(stage.Name, actions, null));
                }
            }
            return(new FG_Review(stages, currentStage));
        }
Пример #5
0
        private string GetFormattedApprovalData(string unf_val, ColumnSchema _column, EbReview reviewCtrl)
        {
            string val = unf_val;

            if (_column.ColumnName == FormConstants.stage_unique_id)
            {
                unf_val = reviewCtrl.FormStages.Find(e => e.EbSid == val)?.Name;
                if (val == FormConstants.__system_stage)
                {
                    unf_val = "System";
                }
            }
            else if (_column.ColumnName == FormConstants.action_unique_id)
            {
                foreach (EbReviewStage st in reviewCtrl.FormStages)
                {
                    EbReviewAction act = st.StageActions.Find(e => e.EbSid == val);
                    if (act != null)
                    {
                        unf_val = act.Name;
                        break;
                    }
                    else if (val == FormConstants.__review_reset)
                    {
                        unf_val = "Reset";
                        break;
                    }
                }
            }
            return(unf_val);
        }