Example #1
0
        private void ClickSortColumn(string columnName)
        {
            SortInfoItem resultItem = null;

            foreach (SortInfoItem item in SortParams)
            {
                if (item.ColumnName.Equals(columnName))
                {
                    resultItem = item;
                    break;
                }
            }

            if (resultItem == null)
            {
                SortParams.Insert(0, new SortInfoItem(SortType.Asc, columnName));
            }
            else if (resultItem.ItemSortType == SortType.Asc && SortParams.IndexOf(resultItem) == 0)
            {
                resultItem.ItemSortType = SortType.Desc;
            }
            else
            {
                SortParams.Remove(resultItem);
                SortParams.Insert(0, new SortInfoItem(SortType.Asc, columnName));
            }
        }
Example #2
0
        private void CompleteDaysList()
        {
            _tempPeriodsList = GetDataTable();

            if (Period.ValuePeriod == ((int)PeriodsEnum.Day).ToString(CultureInfo.InvariantCulture))
            {
                SourceCash.CompleteDaysTable(Period.ValueDateFrom, Period.ValueDateFrom, EmployeeId, Tz);
            }
            else
            {
                SourceCash.CompleteDaysTable(Period.ValueDateFrom, Period.ValueDateTo, EmployeeId, Tz);
            }

            var tAllRows = SourceCash.GetSourceTable(!_notDisplayEmpty);

            _summaryWorkTime   = SourceCash.GetSummaryWorkTime();
            _summaryAbsentTime = SourceCash.GetSummaryAbsentTime();

            _totalRecord = tAllRows.Rows.Count;

            var sortTagDayValue = string.Empty;

            SortTagStartTime = string.Empty;
            SortTagEndTime   = string.Empty;
            var sortTagAbsentTime          = string.Empty;
            var sortTagInterval            = string.Empty;
            var sortTagInternetAccessCount = string.Empty;
            var sortTagInternetAccessTotal = string.Empty;

            foreach (SortInfoItem item in SortParams)
            {
                if (SortParams.IndexOf(item) == 0)
                {
                    var strUpEnabledGif   = string.Format("<IMG SRC=\"{0}ScrollUpEnabled.GIF\" border=0>", Global.Styles);
                    var strDownEnabledGif =
                        string.Format("<IMG SRC=\"{0}ScrollDownEnabled.gif\" border=0>", Global.Styles);

                    switch (item.ColumnName)
                    {
                    case "DAY_VALUE":

                        if (item.ItemSortType == SortType.Asc)
                        {
                            sortTagDayValue = sortTagDayValue + strUpEnabledGif;
                        }
                        else
                        {
                            sortTagDayValue = sortTagDayValue + strDownEnabledGif;
                        }
                        break;

                    case "START_TIME":

                        if (item.ItemSortType == SortType.Asc)
                        {
                            SortTagStartTime = SortTagStartTime + strUpEnabledGif;
                        }
                        else
                        {
                            SortTagStartTime = SortTagStartTime + strDownEnabledGif;
                        }
                        break;

                    case "END_TIME":

                        if (item.ItemSortType == SortType.Asc)
                        {
                            SortTagEndTime = SortTagEndTime + strUpEnabledGif;
                        }
                        else
                        {
                            SortTagEndTime = SortTagEndTime + strDownEnabledGif;
                        }
                        break;

                    case "ABSENT_TIME_SORT":

                        if (item.ItemSortType == SortType.Asc)
                        {
                            sortTagAbsentTime = sortTagAbsentTime + strUpEnabledGif;
                        }
                        else
                        {
                            sortTagAbsentTime = sortTagAbsentTime + strDownEnabledGif;
                        }
                        break;

                    case "INTERVAL_SORT":

                        if (item.ItemSortType == SortType.Asc)
                        {
                            sortTagInterval = sortTagInterval + strUpEnabledGif;
                        }
                        else
                        {
                            sortTagInterval = sortTagInterval + strDownEnabledGif;
                        }
                        break;

                    case "INTERNET_ACCESS_COUNT":
                        if (item.ItemSortType == SortType.Asc)
                        {
                            sortTagInternetAccessCount = sortTagInternetAccessCount + strUpEnabledGif;
                        }
                        else
                        {
                            sortTagInternetAccessCount = sortTagInternetAccessCount + strDownEnabledGif;
                        }
                        break;

                    case "INTERNET_ACCESS_TOTALTIME":
                        if (item.ItemSortType == SortType.Asc)
                        {
                            sortTagInternetAccessTotal = sortTagInternetAccessTotal + strUpEnabledGif;
                        }
                        else
                        {
                            sortTagInternetAccessTotal = sortTagInternetAccessTotal + strDownEnabledGif;
                        }
                        break;
                    }
                }
            }

            bcDayValue.HeaderText = string.Format(
                "<A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'DAY_VALUE');\">{0}</A>&nbsp&nbsp&nbsp<A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'DAY_VALUE');\"><FONT style='font-size:7pt; color:#C00000;'>{1}</FONT></A>",
                Resx.GetString("lblDate"), sortTagDayValue);
            bcAbsentTime.HeaderText = string.Format(
                "<A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'ABSENT_TIME_SORT');\">{0}</A>&nbsp&nbsp&nbsp<A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'ABSENT_TIME_SORT');\"><FONT style='font-size:7pt; color:#C00000;'>{1}</FONT></A>",
                Resx.GetString("сAbsent"), sortTagAbsentTime);
            bcInterval.HeaderText = string.Format(
                "<A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'INTERVAL_SORT');\">{0}</A>&nbsp&nbsp&nbsp<A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'INTERVAL_SORT');\"><FONT style='font-size:7pt; color:#C00000;'>{1}</FONT></A>",
                Resx.GetString("cInterval"), sortTagInterval);
            bcInternetAccessCount.HeaderText = string.Format(
                "<A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'INTERNET_ACCESS_COUNT');\">{0}</A>&nbsp&nbsp&nbsp<A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'INTERNET_ACCESS_COUNT');\"><FONT style='font-size:7pt; color:#C00000;'>{1}</FONT></A>",
                Resx.GetString("cInternetAccessCount"), sortTagInternetAccessCount);
            bcInternetAccessTotalTime.HeaderText = string.Format(
                "<A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'INTERNET_ACCESS_TOTALTIME');\">{0}</A>&nbsp&nbsp&nbsp<A href=\"#\" onclick=\"cmd('cmd', 'setSortOrder', 'col', 'INTERNET_ACCESS_TOTALTIME');\"><FONT style='font-size:7pt; color:#C00000;'>{1}</FONT></A>",
                Resx.GetString("cInternetAccessTotalTime"), sortTagInternetAccessTotal);

            var pageNo       = pagerBar.Disabled ? 1 : pagerBar.CurrentPageNumber - 1;
            var pageRowCount = pagerBar.Disabled ? RowsPerPageSetting : pagerBar.RowsPerPage;

            pageRowCount = pageRowCount == 0 ? 35 : pageRowCount;

            var rows       = tAllRows.Select("", SortString);
            var lastPageNo = (rows.Length - 1) / pageRowCount;

            pagerBar.MaxPageNumber = lastPageNo + 1;

            if (rows.Length > 0)
            {
                if (pageNo > lastPageNo)
                {
                    pageNo = lastPageNo;
                }

                int copyLen;
                if (pageNo < lastPageNo)
                {
                    copyLen = pageRowCount;
                }
                else
                {
                    copyLen = rows.Length - pageRowCount * pageNo;
                }

                for (var i = pageNo * pageRowCount; i < pageNo * pageRowCount + copyLen; i++)
                {
                    _tempPeriodsList.Rows.Add(rows[i].ItemArray);
                }
            }

            _tempPeriodsList.DefaultView.Sort = SortString;
            if (tAllRows.Rows.Count > 1)
            {
                _totalTag = string.Format(
                    "<tr><td colspan='4' align='right'><b>{0}&nbsp</b></td><td align='center'><b>{1}:{2}:{3}</b></td><td align='center'><b>{4}:{5}:{6}</b></td></tr></table>",
                    Resx.GetString("lTotal"),
                    _summaryWorkTime.Hours + _summaryWorkTime.Days * 24,
                    _summaryWorkTime.Minutes.ToString("D2"),
                    _summaryWorkTime.Seconds.ToString("D2"),
                    _summaryAbsentTime.Hours + _summaryAbsentTime.Days * 24,
                    _summaryAbsentTime.Minutes.ToString("D2"),
                    _summaryAbsentTime.Seconds.ToString("D2"));
            }
            else
            {
                _totalTag = "</table>";
            }

            intervalList.DataSource = _tempPeriodsList;
            intervalList.DataBind();

            foreach (DataGridItem item in intervalList.Items)
            {
                var index = item.DataSetIndex;
                if (index < _tempPeriodsList.Rows.Count)
                {
                    string descr;
                    var    isRedDay  = IsRedDay((DateTime)_tempPeriodsList.Rows[index]["DAY_VALUE"], out descr);
                    var    dateValue = string.Format(
                        "{0}(<font color=\"{2}\">{1}</font>)&nbsp<font color=\"{2}\">{3}</font>",
                        ((DateTime)_tempPeriodsList.Rows[index]["DAY_VALUE"]).ToString("dd.MM.yyyy"),
                        ((DateTime)_tempPeriodsList.Rows[index]["DAY_VALUE"]).ToString("ddd",
                                                                                       IsRusLocal ? new CultureInfo("ru-RU") : new CultureInfo("en-US")),
                        isRedDay ? "#FF0000" : "#000000",
                        descr);
                    item.Cells[1].Text = "<div>" + dateValue + "</div>";
                }
            }
        }