예제 #1
0
 /// <summary> 設定查詢FormLayout </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="settings"></param>
 /// <param name="name"></param>
 /// <param name="colCount"></param>
 /// <param name="width"></param>
 public static void GetSearchSetting <T>(FormLayoutSettings <T> settings, string name, int colCount, int width = 600)
 {
     GetBasicSetting(settings, name, colCount, width, true);
     settings.Styles.Style.Paddings.Padding      = 0;
     settings.ControlStyle.Border.BorderWidth    = 1;
     settings.ControlStyle.Border.BorderColor    = System.Drawing.ColorTranslator.FromHtml("#c0c0c0");
     settings.ControlStyle.BackColor             = System.Drawing.ColorTranslator.FromHtml("#f9f9f9");
     settings.SettingsItemCaptions.VerticalAlign = FormLayoutVerticalAlign.Middle;
 }
예제 #2
0
        /// <summary>設定FormLayout基本設定</summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="settings"></param>
        /// <param name="name"></param>
        /// <param name="colCount"></param>
        public static void GetBasicSetting <T>(FormLayoutSettings <T> settings, string name, int colCount, int width = 600, bool isSearch = false)
        {
            settings.Name = name;

            settings.SettingsAdaptivity.AdaptivityMode = FormLayoutAdaptivityMode.SingleColumnWindowLimit;
            settings.SettingsAdaptivity.SwitchToSingleColumnAtWindowInnerWidth = width;
            settings.ColCount = colCount;

            if (!isSearch)
            {
                settings.Styles.LayoutGroup.Cell.Paddings.PaddingRight = Unit.Pixel(0);
                settings.UseDefaultPaddings = false;
            }
        }
예제 #3
0
 public static void BuildEditTemplateLayout(this FormLayoutSettings <dynamic> flSettings, GridViewSettings settings, GridEditFormLayout gridLayout)
 {
     if (gridLayout == null)
     {
         settings.SettingsEditing.Mode = GridViewEditingMode.Inline;
         return;
     }
     settings.SettingsEditing.Mode = gridLayout.EditMode;
     settings.EditFormLayoutProperties.ColumnCount = gridLayout.ColumnCount;
     foreach (var k in gridLayout.DisplayColumns)
     {
         MVCxGridViewColumnLayoutItem col;
         if (k.LayoutAction != null)
         {
             col            = settings.EditFormLayoutProperties.Items.Add(k.LayoutAction);
             col.ColumnName = k.Name;
         }
         else
         {
             col         = settings.EditFormLayoutProperties.Items.Add(k.Name);
             col.Caption = k.DisplayName;
             if (k.Width.HasValue)
             {
                 col.Width = (!k.IsWidthAndHeightInPercentage) ? k.Width.Value : Unit.Percentage(k.Width.Value);
             }
         }
         col.ClientVisible = k.IsVisible;
     }
     for (int i = 0; i < gridLayout.EmptyLayputItemCount; i++)
     {
         settings.EditFormLayoutProperties.Items.AddEmptyItem(new EmptyLayoutItem());
     }
     settings.EditFormLayoutProperties.Items.AddCommandItem(gridLayout.ProcessLayout);
     //settings.EditFormLayoutProperties.SettingsAdaptivity.AdaptivityMode = FormLayoutAdaptivityMode.SingleColumnWindowLimit;
     settings.EditFormLayoutProperties.SettingsAdaptivity.SwitchToSingleColumnAtWindowInnerWidth = 700;
 }
예제 #4
0
 /// <summary>
 /// Устанавливает настройки по умолчанию для лайаута.
 /// </summary>
 /// <param name="settings">Настройки.</param>
 /// <param name="token">Токен безорпасности.</param>
 public static void SetDefaultSettings <T>(this FormLayoutSettings <T> settings, SecurityToken token)
 {
     settings.SettingsAdaptivity.AdaptivityMode =
         FormLayoutAdaptivityMode.SingleColumnWindowLimit;
     settings.SettingsAdaptivity.SwitchToSingleColumnAtWindowInnerWidth = 800;
 }
예제 #5
0
        public virtual void ConfigureFindingVerification(FormLayoutSettings <RigOapChecklistQuestionFinding> settings, HtmlHelper htmlHelper, ViewContext viewContext)
        {
            settings.Name = "findingVerificationPageLayout";
            settings.UseDefaultPaddings                = false;
            settings.AlignItemCaptionsInAllGroups      = true;
            settings.SettingsAdaptivity.AdaptivityMode = FormLayoutAdaptivityMode.SingleColumnWindowLimit;
            settings.SettingsAdaptivity.SwitchToSingleColumnAtWindowInnerWidth = 600;


            var rigManager = string.Empty;

            if (Finding.ReviewedByUserId > 0)
            {
                var manager = GetClient <PeopleClient>().GetAsync(Finding.ReviewedByUserId).Result.Result.Data;
                if (manager != null)
                {
                    rigManager = manager.Name;
                }
            }

            settings.Items.AddGroupItem(g =>
            {
                g.Caption  = "Finding Verification";
                g.ColCount = 2;

                g.Items.Add(i =>
                {
                    i.Name    = "RigManager";
                    i.Caption = "Rig Manager";
                    i.Width   = Unit.Percentage(50);
                    i.NestedExtensionSettings.ControlStyle.CssClass = "system-field";
                    i.NestedExtension().TextBox(s =>
                    {
                        s.ReadOnly = true;
                        s.Text     = rigManager;
                    });
                });

                g.Items.Add(i =>
                {
                    i.Name    = "ReviewReject";
                    i.Caption = "Review/Reject";
                    i.Width   = Unit.Percentage(50);
                    i.SetNestedContent(() =>
                    {
                        if (Finding.Status.Equals("Reviewed") || Finding.Status.Equals("Rejected"))
                        {
                            htmlHelper.ViewContext.Writer.Write($" {Finding.Status} - {Finding.UpdatedDateTime.ToLongDateString()}");
                        }
                        else if (Finding.ReviewedByUserId == UtilitySystem.CurrentUserId) // Review
                        {
                            htmlHelper.DevExpress().Button(btSettings =>
                            {
                                btSettings.Name = "btnSignatureReview";
                                btSettings.Text = "Review";
                                btSettings.UseSubmitBehavior = false;
                                btSettings.Style.Add("margin-right", "0.8em");
                                btSettings.RouteValues            = new { Controller = BaseController, Action = "Review" };
                                btSettings.RenderMode             = ButtonRenderMode.Button;
                                btSettings.ClientSideEvents.Click = "function (s,e) { e.processOnServer = confirm('Confirm review?'); }";
                            }).Render();
                            htmlHelper.DevExpress().Button(btSettings =>
                            {
                                btSettings.Name = "btnSignatureReject";
                                btSettings.Text = "Reject";
                                btSettings.UseSubmitBehavior      = false;
                                btSettings.RouteValues            = new { Controller = BaseController, Action = "Reject" };
                                btSettings.RenderMode             = ButtonRenderMode.Button;
                                btSettings.ClientSideEvents.Click = "function (s,e) { e.processOnServer = confirm('Confirm rejection?'); }";
                            }).Render();
                            htmlHelper.ViewContext.Writer.Write("&nbsp;");
                        }
                    });
                });
            });
        }
예제 #6
0
        public virtual void ConfigureFinding(FormLayoutSettings <RigOapChecklistQuestionFinding> settings, HtmlHelper htmlHelper, ViewContext viewContext)
        {
            if (ViewData["findingTypes"] == null)
            {
                ViewData["findingTypes"] = GetClient <FindingTypeClient>().GetAllAsync().Result.Result.Data;
            }
            var findingTypes = ViewData["findingTypes"] as IEnumerable <FindingType>;

            if (ViewData["criticalities"] == null)
            {
                ViewData["criticalities"] = GetClient <LookupClient>().GetAllCriticalityAsync().Result.Result.Data;
            }
            var criticalities = ViewData["criticalities"] as IEnumerable <Criticality>;


            settings.Name = "findingPageLayout";
            settings.UseDefaultPaddings                = false;
            settings.AlignItemCaptionsInAllGroups      = true;
            settings.SettingsAdaptivity.AdaptivityMode = FormLayoutAdaptivityMode.SingleColumnWindowLimit;
            settings.SettingsAdaptivity.SwitchToSingleColumnAtWindowInnerWidth = 600;

            settings.Items.AddGroupItem(g =>
            {
                viewContext.Writer.Write("<br/>");
                viewContext.Writer.Write("<br/>");

                g.Caption  = "Finding";
                g.ColCount = 3;

                g.Items.Add(i =>
                {
                    i.ShowCaption        = DefaultBoolean.False;
                    i.Border.BorderStyle = BorderStyle.None;
                    i.CssClass           = "buttonToolbar";
                    i.Width = Unit.Percentage(100);
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.NestedExtension().Button(s =>
                    {
                        s.Name = "saveFinding";
                        s.Text = "Save";
                        s.UseSubmitBehavior = true;
                        s.RouteValues       = new { Controller = BaseController, Action = "SaveFinding" };
                        s.Width             = Unit.Pixel(100);
                        s.Enabled           = !EnableSave();
                    });
                });

                g.Items.Add(i =>
                {
                    i.ShowCaption = DefaultBoolean.False;
                    i.Name        = "EmptyLayout";
                    i.Width       = Unit.Percentage(100);
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.SetNestedContent(() => viewContext.Writer.Write("&nbsp;"));
                });

                g.Items.Add(m => m.RigChecklistFindingInternalId, i =>
                {
                    i.NestedExtensionSettings.Width = Unit.Percentage(33);
                    i.NestedExtensionType           = FormLayoutNestedExtensionItemType.TextBox;
                    i.NestedExtensionSettings.ControlStyle.CssClass = "system-field";
                    i.Caption = "Finding Id";
                    i.NestedExtension().TextBox(s =>
                    {
                        s.ReadOnly = true;
                        s.Text     = Finding.RigChecklistFindingInternalId.ToString();
                    });
                });

                g.Items.Add(m => m.CreatedBy, i =>
                {
                    i.Caption = "Created By";
                    i.Width   = Unit.Percentage(33);
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.NestedExtensionType           = FormLayoutNestedExtensionItemType.TextBox;
                    i.NestedExtensionSettings.ControlStyle.CssClass = "system-field";
                    i.NestedExtension().TextBox(s =>
                    {
                        s.ReadOnly = true;
                        s.Text     = Finding.CreatedBy;
                    });
                });

                g.Items.Add(m => m.FindingDate, i =>
                {
                    i.Caption = "Date/Time Created";
                    i.Width   = Unit.Percentage(33);
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.NestedExtensionSettings.ControlStyle.CssClass = "system-field";
                    i.NestedExtension().TextBox(s =>
                    {
                        s.ReadOnly = true;
                        s.Text     = Finding.FindingDate.ToLongDateString();
                    });
                });

                g.Items.Add(m => m.FindingTypeId, i =>
                {
                    i.Width = Unit.Percentage(33);
                    i.NestedExtension().ComboBox(c =>
                    {
                        //c.CallbackRouteValues = new { Controller = BaseController, Action = "FindingTypePartial" };
                        c.Properties.DataSource = findingTypes;
                        c.Properties.ValueField = "Id";
                        c.Properties.TextField  = "Name";
                        c.Properties.ClientSideEvents.SelectedIndexChanged = "function(s, e) { debugger; FindingSubTypeId.PerformCallback(); }";
                    });
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                });

                g.Items.Add(m => m.FindingSubTypeId, i =>
                {
                    i.Width = Unit.Percentage(33);
                    i.SetNestedContent(() =>
                    {
                        htmlHelper.RenderPartial("FindingPageFindingSubTypeComboPartial", Finding);
                    });
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                });

                g.Items.Add(m => m.CriticalityId, i =>
                {
                    i.Width = Unit.Percentage(33);
                    i.NestedExtension().ComboBox(c =>
                    {
                        c.Properties.DataSource = criticalities;
                        c.Properties.ValueField = "Id";
                        c.Properties.TextField  = "Name";
                    });
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                });

                g.Items.Add(m => m.IsRepeat, i =>
                {
                    i.Width = Unit.Percentage(100);
                    i.NestedExtensionType           = FormLayoutNestedExtensionItemType.CheckBox;
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.ColumnSpan = 3;
                });

                g.Items.Add(i =>
                {
                    i.Name    = "ChecklistProtocolNumber";
                    i.Caption = "Checklist/Protocol#";
                    i.Width   = Unit.Percentage(33);
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.NestedExtensionType           = FormLayoutNestedExtensionItemType.TextBox;
                    i.NestedExtensionSettings.ControlStyle.CssClass = "system-field";
                    i.NestedExtension().TextBox(s =>
                    {
                        s.ReadOnly = true;
                        s.Text     = Protocol?.OapChecklist?.ControlNumber ?? string.Empty;
                    });
                });

                g.Items.Add(i =>
                {
                    i.Name    = "ChecklistProtocolName";
                    i.Caption = "Checklist/Protocol";
                    i.Width   = Unit.Percentage(33);
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.NestedExtensionType           = FormLayoutNestedExtensionItemType.TextBox;
                    i.NestedExtensionSettings.ControlStyle.CssClass = "system-field";
                    i.NestedExtension().TextBox(s =>
                    {
                        s.ReadOnly = true;
                        s.Text     = Protocol?.OapChecklist?.Name ?? string.Empty;
                    });
                    i.ColumnSpan = 2;
                });

                g.Items.Add(m => m.RigOapChecklistQuestion.OapChecklistQuestion.Id, i =>
                {
                    i.Width   = Unit.Percentage(33);
                    i.Caption = "Question Id";
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.NestedExtensionType           = FormLayoutNestedExtensionItemType.TextBox;
                    i.NestedExtensionSettings.ControlStyle.CssClass = "system-field";
                    i.NestedExtension().TextBox(s =>
                    {
                        s.ReadOnly     = true;
                        var questionId = Finding.RigOapChecklistQuestion.OapChecklistQuestionId;
                        s.Text         = (questionId.HasValue) ? questionId.ToString() : string.Empty;
                    });
                });

                g.Items.Add(m => m.RigOapChecklistQuestion.OapChecklistQuestion.Question, i =>
                {
                    i.Width               = Unit.Percentage(33);
                    i.Caption             = "Question";
                    i.NestedExtensionType = FormLayoutNestedExtensionItemType.TextBox;
                    i.NestedExtensionSettings.ControlStyle.CssClass = "system-field";
                    i.NestedExtension().TextBox(s =>
                    {
                        s.ReadOnly = true;
                        s.Text     = Finding.RigOapChecklistQuestion.OapChecklistQuestion.Question;
                    });
                    i.ColumnSpan = 2;
                });

                g.Items.Add(m => m.Reason, i =>
                {
                    i.Width     = Unit.Percentage(100);
                    i.FieldName = "Reason";
                    i.Caption   = "Finding Reason";
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.NestedExtensionType           = FormLayoutNestedExtensionItemType.Memo;
                });

                g.Items.Add(m => m.FileName, i =>
                {
                    i.Caption             = "File";
                    i.Width               = Unit.Percentage(33);
                    i.NestedExtensionType = FormLayoutNestedExtensionItemType.TextBox;
                    i.NestedExtensionSettings.ControlStyle.CssClass = "system-field";
                    i.NestedExtension().TextBox(s =>
                    {
                        s.ReadOnly = true;
                        s.Text     = Finding.FileName;
                    });
                });

                g.Items.Add(m => m.UploadedFile, i =>
                {
                    i.Caption = "Upload File";
                    i.Width   = Unit.Percentage(66);
                    i.NestedExtension().UploadControl(f =>
                    {
                        f.CallbackRouteValues = new { Controller = "FindingsPage", Action = "FileUpload" };
                        f.ShowUploadButton    = false;
                        f.AutoStartUpload     = true;
                        f.Enabled             = true;
                    });
                    i.ColumnSpan = 2;
                });
            });
        }
예제 #7
0
        public override void ConfigurePlanning(FormLayoutSettings <RigOapChecklist> settings, HtmlHelper htmlHelper, ViewContext viewContext)
        {
            var lkpRigList = Ensco.Utilities.UtilitySystem.GetLookupList("Rig");

            if (lkpRigList == null)
            {
                lkpRigList       = new LookupListModel <dynamic>();
                lkpRigList.Items = new List <object>();
            }

            var items = (lkpRigList.Items as List <object>)?.Cast <RigModel>();

            var item = items?.SingleOrDefault(it => it.Id.ToString() == RigChecklist.RigId);

            if (item != null)
            {
                RigChecklist.RigName = item.Name;
            }



            settings.Name = "planningLayout";
            settings.UseDefaultPaddings                = false;
            settings.AlignItemCaptionsInAllGroups      = true;
            settings.SettingsAdaptivity.AdaptivityMode = FormLayoutAdaptivityMode.SingleColumnWindowLimit;
            settings.SettingsAdaptivity.SwitchToSingleColumnAtWindowInnerWidth = 600;

            settings.Items.AddGroupItem(g =>
            {
                g.Caption  = Translate("Planning");
                g.ColCount = 5;

                g.Items.Add(i =>
                {
                    i.ShowCaption        = DefaultBoolean.False;
                    i.Border.BorderStyle = BorderStyle.None;
                    i.CssClass           = "buttonToolbar";
                    i.Width = Unit.Percentage(100);
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.NestedExtension().Button(s =>
                    {
                        s.Name = "savePlanningLayout";
                        s.Text = Translate("Save");
                        s.UseSubmitBehavior      = false;
                        s.Width                  = Unit.Pixel(100);
                        s.ClientSideEvents.Click = $"function (s, e) {{ e.processOnServer =  false;  {GridConstants.rigChecklistAssessorGrid}.PerformCallback();  }}";
                        s.Enabled                = RigChecklist.Status == "Open" && (RigChecklist.VerifiedBy.Any(v => v.UserId == UtilitySystem.CurrentUserId) || RigChecklist.Assessors.Any(v => v.UserId == UtilitySystem.CurrentUserId));
                    });
                });

                g.Items.Add(i =>
                {
                    i.ShowCaption = DefaultBoolean.False;
                    i.Name        = "EmptyLayout";
                    i.Width       = Unit.Percentage(100);
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.SetNestedContent(() => viewContext.Writer.Write("&nbsp;"));
                });

                g.Items.Add(m => m.RigChecklistUniqueId, i =>
                {
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.Width   = Unit.Percentage(20);
                    i.Caption = Translate("Protocol Id");
                    i.NestedExtensionSettings.ControlStyle.CssClass = "system-field";
                    i.NestedExtension().TextBox(s =>
                    {
                        s.ReadOnly = true;
                        s.Text     = RigChecklist.RigChecklistUniqueId.ToString();
                    });
                });

                g.Items.Add(m => m.Title, i =>
                {
                    i.Caption                         = Translate("OAP Title");
                    i.Width                           = Unit.Percentage(40);
                    i.NestedExtensionType             = FormLayoutNestedExtensionItemType.TextBox;
                    i.NestedExtensionSettings.Width   = Unit.Percentage(100);
                    i.NestedExtensionSettings.Height  = Unit.Percentage(10);
                    i.NestedExtensionSettings.Enabled = RigChecklist.Status == "Open";
                });

                g.Items.Add(m => m.OapChecklist.OapType, i =>
                {
                    i.Caption = Translate("OAP Type");
                    i.Width   = Unit.Percentage(25);
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.NestedExtensionSettings.ControlStyle.CssClass = "system-field";
                    i.NestedExtension().TextBox(s =>
                    {
                        s.ReadOnly = true;
                        s.Text     = RigChecklist.OapChecklist.OapType.ToString();
                    });
                });

                g.Items.Add(m => m.Status, i =>
                {
                    i.Caption = Translate("Status");
                    i.Width   = Unit.Percentage(15);
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.NestedExtensionSettings.ControlStyle.CssClass = "system-field";
                    i.NestedExtension().TextBox(s =>
                    {
                        s.ReadOnly = true;
                        s.Text     = RigChecklist.Status;
                    });
                });

                g.Items.Add(m => m.ChecklistDateTime, i =>
                {
                    i.Caption             = Translate("Assessment Date & Time");
                    i.Width               = Unit.Percentage(30);
                    i.NestedExtensionType = FormLayoutNestedExtensionItemType.DateEdit;
                    var nsettings         = (DateEditSettings)i.NestedExtensionSettings;
                    nsettings.Properties.EditFormatString    = UtilitySystem.Settings.ConfigSettings["DateFormat"];
                    nsettings.Properties.DisplayFormatString = UtilitySystem.Settings.ConfigSettings["DateFormat"];
                    nsettings.Enabled = RigChecklist.Status == "Open";
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                });

                g.Items.Add(m => m.ChecklistDateTimeCompleted, i =>
                {
                    i.Caption             = Translate("Date / Time Completed");
                    i.Width               = Unit.Percentage(30);
                    i.NestedExtensionType = FormLayoutNestedExtensionItemType.DateEdit;
                    var nsettings         = (DateEditSettings)i.NestedExtensionSettings;
                    nsettings.Properties.EditFormatString    = UtilitySystem.Settings.ConfigSettings["DateFormat"];
                    nsettings.Properties.DisplayFormatString = UtilitySystem.Settings.ConfigSettings["DateFormat"];
                    nsettings.Enabled = RigChecklist.Status == "Open";
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                });

                g.Items.Add(m => m.RigName, i =>
                {
                    i.Caption = Translate("Rig");
                    i.Width   = Unit.Percentage(20);
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.NestedExtensionSettings.ControlStyle.CssClass = "system-field";
                    i.NestedExtension().TextBox(s =>
                    {
                        s.ReadOnly = true;
                        s.Text     = RigChecklist.RigName;
                    });
                });

                g.Items.Add(m => m.OapChecklist.OapType.IsIsm, i =>
                {
                    i.Caption = Translate("ISM Certified");
                    i.Width   = Unit.Percentage(20);
                    i.NestedExtensionSettings.Width = Unit.Percentage(100);
                    i.NestedExtensionSettings.ControlStyle.CssClass = "system-field";
                    i.NestedExtension().RadioButtonList(s =>
                    {
                        s.Properties.RepeatDirection = RepeatDirection.Horizontal;
                        s.Properties.Items.Add("Yes", "1");
                        s.Properties.Items.Add("No", "0");
                        s.ControlStyle.Border.BorderStyle = BorderStyle.None;
                        s.Properties.ValidationSettings.RequiredField.IsRequired = false;
                    });
                });
            });
        }