private void CreateDatetimeControl(CSAttributeGroup attributeGroup, PXFieldSelectingEventArgs args)
        {
            var required = attributeGroup.Required == true
                                ? 1
                                : -1;
            var attribute = GetAttribute(attributeGroup.AttributeID);

            args.ReturnState = PXDateState.CreateInstance(args.ReturnState, nameof(CSAnswers.value),
                                                          false, required, attribute.EntryMask, attribute.EntryMask, null, null);
        }
 /// <exclude/>
 public override void FieldSelecting(PXCache sender, PXFieldSelectingEventArgs e)
 {
     if (_AttributeLevel == PXAttributeLevel.Item || e.IsAltered)
     {
         e.ReturnState = PXDateState.CreateInstance(e.ReturnState, _FieldName, _IsKey, null, _InputMask, _DisplayMask, _MinValue, _MaxValue);
     }
     if (e.ReturnValue != null && (e.ReturnValue is int || e.ReturnValue is int?))
     {
         TimeSpan span = new TimeSpan(0, 0, 0, (int)e.ReturnValue);
         e.ReturnValue = new DateTime(1900, 1, 1).Add(span);
     }
 }
Esempio n. 3
0
 protected override PXFieldState DefaultState(PXCache sender, PXFieldSelectingEventArgs e) => PXDateState.CreateInstance(e.ReturnState, FieldName, null, null, null, null, null, null);
            public static PXFieldState CreateFieldState(string fieldName, string description, int ctype, string entryMask, string list)
            {
                uint   msgnum;
                string msgprefix;
                string displayName = string.Format("${0}$-{1}", PXMessages.Localize(ActionsMessages.Attributes, out msgnum, out msgprefix),
                                                   description);
                PXFieldState fs = null;

                switch (ctype)
                {
                case 1:
                {
                    fs             = PXStringState.CreateInstance(null, null, null, fieldName, null, null, entryMask, null, null, null, null);
                    fs.Visibility  = PXUIVisibility.Dynamic;
                    fs.DisplayName = displayName;
                    fs.Enabled     = false;
                    fs.Visible     = false;
                    break;
                }

                case 2:
                case 6:
                {
                    List <string> vals = new List <string>();
                    List <string> lbls = new List <string>();
                    if (!String.IsNullOrEmpty(list))
                    {
                        foreach (string elem in list.Split(new char[] { '\t' }, StringSplitOptions.RemoveEmptyEntries))
                        {
                            string[] pair = elem.Split(new char[] { '\0' }, StringSplitOptions.RemoveEmptyEntries);
                            if (pair.Length > 0)
                            {
                                vals.Add(pair[0]);
                                if (pair.Length > 1)
                                {
                                    lbls.Add(pair[1]);
                                }
                                else
                                {
                                    lbls.Add(pair[0]);
                                }
                            }
                        }
                    }
                    fs             = PXStringState.CreateInstance(null, null, null, fieldName, null, null, null, vals.ToArray(), lbls.ToArray(), true, null);
                    fs.Visibility  = PXUIVisibility.Dynamic;
                    fs.DisplayName = displayName;
                    fs.Enabled     = false;
                    fs.Visible     = false;
                    if (ctype == 6)
                    {
                        ((PXStringState)fs).MultiSelect = true;
                    }
                    break;
                }

                case 4:
                {
                    fs = PXFieldState.CreateInstance(null, typeof(Boolean), null, null, -1, null, null, null, fieldName, null, displayName, null, PXErrorLevel.Undefined, false, false, null, PXUIVisibility.Dynamic, null, null, null);
                    break;
                }

                case 5:
                {
                    fs             = PXDateState.CreateInstance(null, fieldName, null, null, "d", "d", null, null);
                    fs.Visibility  = PXUIVisibility.Dynamic;
                    fs.DisplayName = displayName;
                    fs.Enabled     = false;
                    fs.Visible     = false;
                    break;
                }
                }
                return(fs);
            }
Esempio n. 5
0
        protected virtual void CSAttributeGroup_DefaultValue_FieldSelecting(PXCache sender, PXFieldSelectingEventArgs e)
        {
            string           AnswerValueField  = "DefaultValue";
            int              AnswerValueLength = 60;
            CSAttributeGroup row = e.Row as CSAttributeGroup;

            if (row != null)
            {
                CSAttribute question = new PXSelect <CSAttribute>(this).Search <CSAttribute.attributeID>(row.AttributeID);
                PXResultset <CSAttributeDetail> options = PXSelect <CSAttributeDetail,
                                                                    Where <CSAttributeDetail.attributeID, Equal <Required <CSAttributeGroup.attributeID> > >,
                                                                    OrderBy <Asc <CSAttributeDetail.sortOrder> > > .Select(this, row.AttributeID);

                int required = -1;
                if ((bool)row.Required)
                {
                    required = 1;
                }

                if (options.Count > 0)
                {
                    //ComboBox:

                    List <string> allowedValues = new List <string>();
                    List <string> allowedLabels = new List <string>();

                    foreach (CSAttributeDetail option in options)
                    {
                        allowedValues.Add(option.ValueID);
                        allowedLabels.Add(option.Description);
                    }

                    string mask = question != null ? question.EntryMask : null;

                    e.ReturnState = PXStringState.CreateInstance(e.ReturnState, CSAttributeDetail.ParameterIdLength, true, AnswerValueField, false, required, mask, allowedValues.ToArray(), allowedLabels.ToArray(), true, null);
                    if (question.ControlType == CSAttribute.MultiSelectCombo)
                    {
                        ((PXStringState)e.ReturnState).MultiSelect = true;
                    }
                }
                else if (question != null)
                {
                    if (question.ControlType.Value == CSAttribute.CheckBox)
                    {
                        e.ReturnState = PXFieldState.CreateInstance(e.ReturnState, typeof(bool), false, false, required, null, null, false, AnswerValueField, null, null, null, PXErrorLevel.Undefined, true, true, null, PXUIVisibility.Visible, null, null, null);
                    }
                    else if (question.ControlType.Value == CSAttribute.Datetime)
                    {
                        string mask = question != null ? question.EntryMask : null;
                        e.ReturnState = PXDateState.CreateInstance(e.ReturnState, AnswerValueField, false, required, mask, mask, null, null);
                    }
                    else
                    {
                        //TextBox:
                        string mask = question != null ? question.EntryMask : null;

                        e.ReturnState = PXStringState.CreateInstance(e.ReturnState, AnswerValueLength, null, AnswerValueField, false, required, mask, null, null, true, null);
                    }
                }
            }
        }
 private PXFieldState GetDateState(object returnState, int requiredFieldState)
 {
     return(PXDateState.CreateInstance(returnState, CommonMessages.DefaultValue, false,
                                       requiredFieldState, attribute.EntryMask, attribute.EntryMask, null, null));
 }
Esempio n. 7
0
        protected override void FieldSelectingHandler(PXCache sender, PXFieldSelectingEventArgs e)
        {
            if (!(e.Row is CSAnswers row))
            {
                return;
            }
            CRAttribute.Attribute attribute = CRAttribute.Attributes[row.AttributeID];
            System.Collections.Generic.List <CRAttribute.AttributeValue> values = attribute?.Values;
            bool?nullable1 = row.IsRequired;
            bool flag      = true;
            int  num1      = nullable1.GetValueOrDefault() == flag & nullable1.HasValue ? 1 : -1;

            if (values != null && values.Count > 0)
            {
                System.Collections.Generic.List <string> stringList1 = new System.Collections.Generic.List <string>();
                System.Collections.Generic.List <string> stringList2 = new System.Collections.Generic.List <string>();
                foreach (CRAttribute.AttributeValue attributeValue in values)
                {
                    if (!attributeValue.Disabled || !(row.Value != attributeValue.ValueID))
                    {
                        stringList1.Add(attributeValue.ValueID);
                        stringList2.Add(attributeValue.Description);
                    }
                }
                e.ReturnState = (object)PXStringState.CreateInstance(e.ReturnState, new int?(10), new bool?(true), typeof(CSAnswers.value).Name, new bool?(false), new int?(num1), attribute.EntryMask, stringList1.ToArray(), stringList2.ToArray(), new bool?(true), (string)null);
                int?controlType = attribute.ControlType;
                int num2        = 6;
                if (controlType.GetValueOrDefault() == num2 & controlType.HasValue)
                {
                    ((PXStringState)e.ReturnState).MultiSelect = true;
                }
            }
            else if (attribute != null)
            {
                int?nullable2 = attribute.ControlType;
                int num2      = 4;
                if (nullable2.GetValueOrDefault() == num2 & nullable2.HasValue)
                {
                    PXFieldSelectingEventArgs selectingEventArgs = e;
                    object      returnState = e.ReturnState;
                    System.Type dataType    = typeof(bool);
                    bool?       isKey       = new bool?(false);
                    bool?       nullable3   = new bool?(false);
                    int?        required    = new int?(num1);
                    nullable2 = new int?();
                    int?precision = nullable2;
                    nullable2 = new int?();
                    int?length = nullable2;
                    // ISSUE: variable of a boxed type
                    bool   local   = false;
                    string name    = typeof(CSAnswers.value).Name;
                    bool?  enabled = new bool?(true);
                    bool?  visible = new bool?(true);
                    nullable1 = new bool?();
                    bool?        readOnly = nullable1;
                    PXFieldState instance = PXFieldState.CreateInstance(returnState, dataType, isKey, nullable3, required, precision, length, (object)local, name, enabled: enabled, visible: visible, readOnly: readOnly, visibility: PXUIVisibility.Visible);
                    selectingEventArgs.ReturnState = (object)instance;
                    int result;
                    if (e.ReturnValue is string && int.TryParse((string)e.ReturnValue, NumberStyles.Integer, (IFormatProvider)CultureInfo.InvariantCulture, out result))
                    {
                        e.ReturnValue = (object)Convert.ToBoolean(result);
                    }
                }
                else
                {
                    nullable2 = attribute.ControlType;
                    int num3 = 5;
                    if (nullable2.GetValueOrDefault() == num3 & nullable2.HasValue)
                    {
                        e.ReturnState = (object)PXDateState.CreateInstance(e.ReturnState, typeof(CSAnswers.value).Name, new bool?(false), new int?(num1), attribute.EntryMask, attribute.EntryMask, new DateTime?(), new DateTime?());
                    }
                    else
                    {
                        PXStringState             stateExt           = sender.GetStateExt <CSAnswers.value>((object)null) as PXStringState;
                        PXFieldSelectingEventArgs selectingEventArgs = e;
                        object returnState = e.ReturnState;
                        int?   length      = new int?(stateExt.With <PXStringState, int>((Func <PXStringState, int>)(_ => _.Length)));
                        nullable1 = new bool?();
                        bool?        isUnicode       = nullable1;
                        string       name            = typeof(CSAnswers.value).Name;
                        bool?        isKey           = new bool?(false);
                        int?         required        = new int?(num1);
                        string       entryMask       = attribute.EntryMask;
                        bool?        exclusiveValues = new bool?(true);
                        PXFieldState instance        = PXStringState.CreateInstance(returnState, length, isUnicode, name, isKey, required, entryMask, (string[])null, (string[])null, exclusiveValues, (string)null);
                        selectingEventArgs.ReturnState = (object)instance;
                    }
                }
            }
            if (!(e.ReturnState is PXFieldState))
            {
                return;
            }
            PXFieldState      returnState1     = (PXFieldState)e.ReturnState;
            IPXInterfaceField pxInterfaceField = sender.GetAttributes((object)row, typeof(CSAnswers.value).Name).OfType <IPXInterfaceField>().FirstOrDefault <IPXInterfaceField>();

            if (pxInterfaceField != null && pxInterfaceField.ErrorLevel != PXErrorLevel.Undefined && !string.IsNullOrEmpty(pxInterfaceField.ErrorText))
            {
                returnState1.Error      = pxInterfaceField.ErrorText;
                returnState1.ErrorLevel = pxInterfaceField.ErrorLevel;
            }
            returnState1.Enabled = true;
        }