public void ShouldBuildClientScriptStringForDashboardToPrintPageWithQueryString()
        {
            //Arrange
            Mock<IDashboardView> mockDashboardView = new Mock<IDashboardView>();
            mockDashboardView.SetupProperty(e => e.DashBoardViewType, Globals.Dashboard.ViewType.JobSummaryView);
            WebUtil util = new WebUtil();
            string queryStringValue = util.BuildQueryStringToPrintCallLogViewInDashBoardView(mockDashboardView.Object);

            //Act
            string script = util.BuildNewWindowClientScript("/DashboardPrint.aspx", queryStringValue,"",800,600,true,true,true);

            //Assert
            Assert.AreEqual("javascript: var newWindow = window.open('/DashboardPrint.aspx?ViewPoint=2','','width=800,height=600,scrollbars=1,resizable=yes');return false;", script);
        }
 /// <summary>
 /// Filter Project Calendar Data and Fills the view
 /// </summary>
 public void FindProjectCalendar()
 {
     try
     {
         IList<ProjectCalendarVO> listProjectCalendar = _model.ListAllProjectCalendar(_view.CalendarDateRange, _view.DivisionFilter, _view.EquipmentTypeFilter, _view.EquipmentFilter, _view.EmployeeFilter, _view.CustomerFilter, _view.JobFilter, _view.JobActionFilter);
         _view.ShowHidePanelNowRow(listProjectCalendar.Count.Equals(0));
         _viewModel.CreateDynamicCalendar(listProjectCalendar);
         string queryString = BuildQueryString();
         WebUtil util = new WebUtil();
         string script = util.BuildNewWindowClientScript("/ProjectCalendarPrint.aspx", BuildQueryString(), "", 1100, 600, true, true, true);
         _view.SetPrintButtonClientClick = script;
         //lnkButton.OnClientClick = string.Format("window.open('/ProcessDPI.aspx?DpiID={0}&ParentFieldId={1}', '', 'width=1100, height=600, scrollbars=1, resizable=yes');return false", value, btnFilter.UniqueID);
     }
     catch (Exception ex)
     {
         Logger.Write(string.Format("An error has ocurred while trying to filter Project Calendar!\n{0}\n{1}", ex.Message, ex.StackTrace));
         _view.DisplayMessage("An error ocurred while trying to filter Project Calendar.", false);
     }
 }
        public void ShouldBuildEntireQueryStringForJobSummaryViewIfAllParametersArePassed()
        {
            //Arrange
            Mock<IDashboardView> mockDashboardView = new Mock<IDashboardView>();
            mockDashboardView.SetupProperty(e => e.DashBoardViewType, Globals.Dashboard.ViewType.JobSummaryView);
            mockDashboardView.SetupProperty(e => e.JobStatusFilterValue, 1);
            mockDashboardView.SetupProperty(e => e.JobNumberFilterValue, 2);
            mockDashboardView.SetupProperty(e => e.DivisionFilterValue, 3);
            mockDashboardView.SetupProperty(e => e.CustomerFilterValue, 4);
            mockDashboardView.SetupProperty(e => e.DateFilterTypeValue, Globals.Dashboard.DateFilterType.InitialCallDate);
            mockDashboardView.SetupProperty(e => e.BeginDateJobSummaryValue, new DateTime(2011, 04, 15));
            mockDashboardView.SetupProperty(e => e.EndDateJobSummaryValue, new DateTime(2011, 04, 25));
            mockDashboardView.SetupProperty(e => e.OrderBy, new string[] { "orderby", "ASC" });
            WebUtil util = new WebUtil();

            //Act
            string value = util.BuildQueryStringToPrintJobSummaryInDashBoardView(mockDashboardView.Object);

            //Assert
            Assert.AreEqual("?ViewPoint=2&JobStatusFilter=1&JobNumberFilter=2&DivisionFilter=3&CustomerFilter=4&DateTypeFilter=1&StartDateFilter=04/15/2011&EndDateFilter=04/25/2011&OrderBy=orderby ASC", value);
        }
        public void ShouldBuildEntireQueryStringForCallLogViewIfAllParametersArePassed()
        {
            //Arrange
            Mock<IDashboardView> mockDashboardView = new Mock<IDashboardView>();
            mockDashboardView.SetupProperty(e => e.DashBoardViewType, Globals.Dashboard.ViewType.JobSummaryView);
            mockDashboardView.SetupProperty(e => e.BeginDateCallLogViewFilter, new DateTime(2011, 4, 15));
            mockDashboardView.SetupProperty(e => e.EndDateCallLogViewFilter, new DateTime(2011,4,25));
            mockDashboardView.SetupProperty(e => e.JobStatusCallLogViewFilter, 1);
            mockDashboardView.SetupProperty(e => e.DivisionValueCallLogViewFilter, 2);
            mockDashboardView.SetupProperty(e => e.CallTypeCallLogViewFilter, 3);
            mockDashboardView.SetupProperty(e => e.ModifiedByCallLogViewFilter, "druziska");
            mockDashboardView.SetupProperty(e => e.OrderBy, new string[] { "orderby", "ASC" });
            mockDashboardView.SetupProperty(e => e.ShiftTransferLogCallLogViewFilter, true);
            mockDashboardView.SetupProperty(e => e.GeneralLogCallLogViewFilter, true);
            WebUtil util = new WebUtil();

            //Act
            string value = util.BuildQueryStringToPrintCallLogViewInDashBoardView(mockDashboardView.Object);

            //Assert
            Assert.AreEqual("?ViewPoint=2&StartDateFilter=04/15/2011&EndDateFilter=04/25/2011&JobStatusFilter=1&DivisionFilter=2&CallTypeFilter=3&ModifiedByFilter=druziska&OrderBy=orderby ASC&ShiftTransferLogFilter=True&GeneralLogFilter=True", value);
        }
 public void ConfigurePrintButtonScript()
 {
     try
     {
         WebUtil util = new WebUtil();
         string script = string.Empty;
         if (this.DashBoardViewType == Globals.Dashboard.ViewType.JobCallLogView)
             script = util.BuildNewWindowClientScript("/DashboardPrint.aspx", util.BuildQueryStringToPrintCallLogViewInDashBoardView(this), string.Empty, 800, 600, true, true, true);
         else if (this.DashBoardViewType == Globals.Dashboard.ViewType.JobSummaryView)
             script = util.BuildNewWindowClientScript("/DashboardPrint.aspx", util.BuildQueryStringToPrintJobSummaryInDashBoardView(this), string.Empty, 800, 600, true, true, true);
         btnPrint.OnClientClick = script;
     }
     catch (Exception)
     {
         DisplayMessage("Error while generating Print Button Script", false);
     }
 }
        /// <summary>
        /// Search for a Job based on Number/Internal Tracking
        /// </summary>
        public void QuickSearch()
        {
            try
            {
                CS_Job job = null;
                using (_jobModel = new JobModel())
                {
                    if (!string.IsNullOrEmpty(_view.QuickSearchJobValue))
                        job = _jobModel.GetJobByNumber(_view.QuickSearchJobValue);
                }

                if (job != null)
                {
                    _view.QuickSearchJobId = job.ID;

                    WebUtil util = new WebUtil();
                    string querystring = util.BuildQueryStringToQuickSearch(_view);

                    string script = util.BuildNewWindowClientScript("/JobRecord.aspx", querystring, string.Empty, 870, 600, true, true, false);
                    _view.QuickSearchQueryString = script;
                }
                else
                {
                    _view.DisplayMessage("Job Not Found!", false);
                }
            }
            catch (Exception)
            {
                _view.DisplayMessage("There is an error searching the Job", false);
            }
        }
        public void ShouldBuildQueryStringForQuickSearch()
        {
            //Arrange
            Mock<IDefaultPageView> mockDefaultPageView = new Mock<IDefaultPageView>();
            mockDefaultPageView.SetupProperty(e => e.QuickSearchJobId, 1);
            WebUtil util = new WebUtil();

            //Act
            string queryString = util.BuildQueryStringToQuickSearch(mockDefaultPageView.Object);

            //Assert
            Assert.AreEqual("?JobId=1", queryString);
        }
        public void ShouldBuildQueryStringForQuickReference()
        {
            //Arrange
            WebUtil util = new WebUtil();

            //Act
            string queryString = util.BuildQueryStringForQuickReference(new Dictionary<string,string>{{"JobId","8"}} );

            //Assert
            Assert.AreEqual("?JobId=8",queryString);
        }
        public void ShouldNotBuildQueryStringParameterIfANullableObjectIsPassed()
        {
            //Arrange
            Mock<IDashboardView> mockDashboardView = new Mock<IDashboardView>();
            mockDashboardView.SetupProperty(e => e.BeginDateCallLogViewFilter, new DateTime(2011,4,15));
            mockDashboardView.SetupProperty(e => e.EndDateCallLogViewFilter, DateTime.MinValue);
            mockDashboardView.SetupProperty(e => e.JobStatusCallLogViewFilter, 1);
            mockDashboardView.SetupProperty(e => e.DivisionValueCallLogViewFilter,null);
            WebUtil util = new WebUtil();

            //Act
            string value = util.BuildQueryStringToPrintCallLogViewInDashBoardView(mockDashboardView.Object);

            //Assert
            Assert.AreEqual("?StartDateFilter=04/15/2011&JobStatusFilter=1", value);
        }
        public void ShouldBuildScriptForQuickSearch()
        {
            //Arrange
            string queryString = "?JobId=1";
            WebUtil util = new WebUtil();

            //Act
            string script = util.BuildNewWindowClientScript("/JobRecord.aspx", queryString, string.Empty, 870, 600, true, true, false);

            //Assert
            Assert.AreEqual("javascript: var newWindow = window.open('/JobRecord.aspx?JobId=1','','width=870,height=600,scrollbars=1,resizable=yes');", script);
        }
        public void ShouldBuildScriptForQuickReferenceWhenPassingQueryString()
        {
            //Arrange
            WebUtil util = new WebUtil();
            string queryString = "?JobId=8";

            //Act
            string script = util.BuildNewWindowClientScript("/JobRecord.aspx", queryString,"",870,600,true,true,false);

            //Assert
            Assert.AreEqual("javascript: var newWindow = window.open('/JobRecord.aspx?JobId=8','','width=870,height=600,scrollbars=1,resizable=yes');", script);
        }