﻿@using System.Web.UI.WebControls
@using RevZone.Core.Common
@using RevZone.Web.MVC.ViewModels.PropertyCard
@model PropertyCardSettingsViewModel

@Html.DevExpress().PageControl(
            settings =>
            {
                settings.Name = "ProjectsPlanningCardSection";
                settings.EnableHotTrack = true;
                settings.SaveStateToCookies = true;
                settings.TabAlign = Model.RevTabAlign;
                settings.TabPosition = Model.RevTabPosition;
                settings.EnableTabScrolling = true;
                settings.Width = Unit.Percentage(100);
                settings.Height = Unit.Percentage(100);
                settings.ControlStyle.CssClass = "dxtcFixed";
                settings.ClientSideEvents.TabClick = "function(s,e){Planning.TabClickProjectsPlanningCardSection(e.tab.name)}";
                settings.ClientSideEvents.Init = "function(s,e){Planning.ProjectsPlanningBootomInit(s,e)}";
                foreach (var section in Model.Section)
                {
                    if (section.TypeId == (int)PropertyTabTypes.Properties)
                    {
                        MVCxTabPage tab = settings.TabPages.Add(section.DisplayName, Enum.GetName(typeof(PropertyTabTypes), section.TypeId));
                        tab.TabStyle.CssClass = "tab-text-align-left";
                        tab.TabImage.SpriteProperties.CssClass = "solidworks properties16_2";
                        tab.TabImage.SpriteProperties.DisabledCssClass = "disabled _disabled_properties16_2";
                        tab.Index = section.OrderIndex;
                        tab.SetContent(() =>
                        {

                            Html.DevExpress().Splitter(
                                       s =>
                                       {
                                           s.Name = "splResizingPlanningProperties";
                                           s.ResizingMode = ResizingMode.Postponed;
                                           s.FullscreenMode = false;
                                           s.Styles.Pane.Paddings.Padding = Unit.Pixel(0);
                                           s.Styles.Pane.Border.BorderWidth = Unit.Pixel(0);
                                           s.Styles.Pane.Paddings.Padding = 0;
                                           s.Height = Unit.Pixel(300);
                                           s.Panes.Add(cp1 =>
                                           {
                                               cp1.Name = "pPlanningButtonProperties";
                                               cp1.Size = Unit.Pixel(30);
                                               cp1.ScrollBars = ScrollBars.None;
                                               cp1.Separators.Visible = DefaultBoolean.False;
                                               cp1.ShowCollapseBackwardButton = DefaultBoolean.False;
                                               cp1.ShowCollapseForwardButton = DefaultBoolean.False;
                                               cp1.ShowSeparatorImage = DefaultBoolean.False;
                                               cp1.AllowResize = DefaultBoolean.False;
                                               cp1.SetContent(() =>
                                               {
                                                   ViewContext.Writer.Write("<div class='column-toolbar' style= 'padding-top:5px';>");
                                                   Html.DevExpress().Button(
                                                     c =>
                                                     {
                                                         c.Name = "PlanningPropertiesSave";
                                                         c.Text = "";
                                                         c.ToolTip = T("Save").ToString();
                                                         c.EnableTheming = false;
                                                         c.Images.Image.SpriteProperties.CssClass = "solidworks save_16x16";
                                                         c.Images.Image.SpriteProperties.DisabledCssClass = "disabled _disabled_save_16x16";
                                                         c.ClientSideEvents.Click = "function(s,e){Planning.PlanningPropertiesSave_Click(s,e)}";
                                                     }).GetHtml();
                                                   ViewContext.Writer.Write("</br></br>");
                                                   Html.DevExpress().Button(
                                                        c =>
                                                        {
                                                            c.Name = "PlanningPropertiesRefresh";
                                                            c.Text = "";
                                                            c.ToolTip = T("Refresh").ToString();
                                                            c.EnableTheming = false;
                                                            c.Images.Image.SpriteProperties.CssClass = "solidworks refresh16";
                                                            c.Images.Image.SpriteProperties.DisabledCssClass = "disabled _disabled_refresh16";
                                                            c.ClientSideEvents.Click = "function(s,e){Planning.TabClickProjectsPlanningCardSection('Properties')}";
                                                        }).GetHtml();

                                                   ViewContext.Writer.Write("</div>");
                                               });

                                           });
                                           s.Panes.Add(cp2 =>
                                           {
                                               cp2.Name = "pPlanningProperties";
                                               cp2.ScrollBars = ScrollBars.Auto;
                                               cp2.SetContent(() =>
                                               {        Html.EnableClientValidation();

                                                   ViewContext.Writer.Write("<div id='_pcModalCascadingValues'></div>");

                                                   ViewContext.Writer.Write("<div id='_pcModalObjectType" + (int)ActionToPerform.NewItem + "' ></div>");

                                                   using (Html.BeginForm("Save", "Properties", new { objectId = Model.ObjectId, recordId = Model.IdRecord, recordGuid = Model.RecordGuid, subObjectGuid = Model.SubObjectGuid }, FormMethod.Post, new
                                                   {
                                                       @class = "form-horizontal",
                                                       role = "form",
                                                       id = "FormSubmitGroupFieldsPlanning",
                                                       onsubmit = "AjaxStatus.OnFormSubmit(event)"
                                                   }))
                                                   {
                                                       Html.RenderAction("Edit", "Properties", new { objectId = Model.ObjectId, recordId = Model.IdRecord, isPreviewMode = false, hasEditRights = true, getFields = false, tabName = Model.GetTabName(), actionToPerform = RevZone.Web.MVC.Common.Properties.ActionToPerform.Planning});
                                                   }
                                               });
                                           });
                                       }).Render();
                        });
                    }
                    else if (section.TypeId == (int)PropertyTabTypes.ToDo )
                    {
                        MVCxTabPage tab = settings.TabPages.Add(section.DisplayName, Enum.GetName(typeof(PropertyTabTypes), section.TypeId));
                        tab.TabStyle.CssClass = "tab-text-align-left";
                        tab.TabImage.SpriteProperties.CssClass = "solidworks tasks16";
                        tab.TabImage.SpriteProperties.DisabledCssClass = "disabled _disabled_tasks16";
                        tab.Index = section.OrderIndex;
                        tab.SetContent(() =>
                        {
                            //if (Model.IsEditMode)
                            //{
                            Html.RenderAction("GetToDoContextMenu", "ToDo", new { moduleName = Modules.Planning });
                            Html.RenderAction("GetTodoCallbackPanel", "ToDo", new { moduleName = Modules.Planning });
                            //}
                        });
                    }
                    else if (section.TypeId == (int)PropertyTabTypes.Resources )
                    {
                        MVCxTabPage tab = settings.TabPages.Add(section.DisplayName, Enum.GetName(typeof(PropertyTabTypes), section.TypeId));
                        tab.TabStyle.CssClass = "tab-text-align-left";
                        tab.TabImage.SpriteProperties.CssClass = "solidworks crm16";
                        //tab.TabImage.SpriteProperties.DisabledCssClass = "disabled _disabled_crm16";
                        tab.Index = section.OrderIndex;
                        tab.SetContent(() =>
                        {
                            Html.RenderAction("GetResourcesContextMenu", "Resources");
                            Html.RenderAction("GetSpliterPanel", "Resources");
                        });
                    }
                    else if (section.TypeId == (int)PropertyTabTypes.ProjectsDeliverables)
                    {
                        MVCxTabPage tab = settings.TabPages.Add(section.DisplayName, Enum.GetName(typeof(PropertyTabTypes), section.TypeId));
                        tab.TabStyle.CssClass = "tab-text-align-left";
                        tab.Index = section.OrderIndex;
                        tab.TabImage.SpriteProperties.CssClass = "solidworks anyfile";
                        tab.TabImage.SpriteProperties.DisabledCssClass = "disabled _disabled_anyfile";
                        tab.SetContent(() =>  {
                            Html.RenderAction("GetProjectDeliverablesCallbackPanel", "ProjectDeliverables", new { moduleName = Modules.Planning });
                        });
                    }
                    else if (section.TypeId == (int)PropertyTabTypes.Notifications )
                    {
                        // MVCxTabPage tab = settings.TabPages.Add(section.DisplayName, Enum.GetName(typeof(PropertyTabTypes), section.TypeId));
                        // tab.TabStyle.CssClass = "tab-text-align-left";
                        // tab.TabImage.SpriteProperties.CssClass = "solidworks t72_email1_16";
                        // tab.TabImage.SpriteProperties.DisabledCssClass = "disabled _disabled_t72_email1_16";
                        // tab.Index = section.OrderIndex;
                        // tab.SetContent(() =>
                        // {
                        //     Html.RenderAction("GetCallbackGrid", "Notifications", new { moduleName = Modules.Planning });
                        // });
                    }
                    else if (section.TypeId == (int)PropertyTabTypes.Timesheets )
                    {
                        MVCxTabPage tab = settings.TabPages.Add(section.DisplayName, Enum.GetName(typeof(PropertyTabTypes), section.TypeId));
                        tab.TabStyle.CssClass = "tab-text-align-left";
                        tab.TabImage.SpriteProperties.CssClass = "solidworks timesheets16";
                        tab.TabImage.SpriteProperties.DisabledCssClass = "disabled _disabled_timesheets16";
                        tab.Index = section.OrderIndex;
                        tab.SetContent(() =>
                        {
                            Html.RenderAction("GetTimesheetsModalGridContextMenu", "Timesheets");
                            Html.RenderAction("GetCpbGridTimesheets", "Timesheets");
                        });
                    }
                    else if (section.TypeId == (int)PropertyTabTypes.Calendar )
                    {
                        MVCxTabPage tab = settings.TabPages.Add(section.DisplayName, Enum.GetName(typeof(PropertyTabTypes), section.TypeId));
                        tab.TabStyle.CssClass = "tab-text-align-left";
                        tab.Index = section.OrderIndex;
                        tab.SetContent(() =>
                        {
                            Html.RenderAction("GetCalendarCallbackPanel", "Calendar");
                        });
                    }
                }


            }).GetHtml()

