public void Search()
        {
            var filter = new CallRecordFilter();

            if (IsPost || Request.QueryString.Keys.Cast <string>().Any(k => k.StartsWith("filter.")))
            {
                BindObjectInstance(filter, IsPost ? ParamStore.Form : ParamStore.QueryString, "filter");
                var calls = filter.Find();
                PropertyBag["calls"] = calls;
            }
            PropertyBag["filter"] = filter;
        }
Exemplo n.º 2
0
        public static byte[] GetCallsHistory(CallRecordFilter filter)
        {
            var wb = new Workbook();
            var ws = new Worksheet("История звонков");

            int row = 1;
            int col = 1;

            ExcelHelper.WriteHeader1(ws, 0, 1, "Дата звонка", true, true);
            ExcelHelper.WriteHeader1(ws, 0, 2, "Номер звонившего", true, true);
            ExcelHelper.WriteHeader1(ws, 0, 3, "Имя звонившего", true, true);
            ExcelHelper.WriteHeader1(ws, 0, 4, "Куда звонил", true, true);
            ExcelHelper.WriteHeader1(ws, 0, 5, "Кому звонил", true, true);
            ExcelHelper.WriteHeader1(ws, 0, 6, "Тип звонка", true, true);
            filter.PageSize = UInt16.MaxValue;
            var calls = filter.Find();

            foreach (var call in calls)
            {
                ExcelHelper.Write(ws, row, col, call.WriteTime, true);
                ExcelHelper.Write(ws, row, col + 1, call.From, true);
                ExcelHelper.Write(ws, row, col + 2, call.NameSource, true);
                ExcelHelper.Write(ws, row, col + 3, call.To, true);
                ExcelHelper.Write(ws, row, col + 4, call.NameDestination, true);
                ExcelHelper.Write(ws, row, col + 5, call.GetCallType(), true);
                row++;
            }
            for (ushort i = 1; i <= 6; i++)
            {
                ws.Cells.ColumnWidth[i] = 20 * 256;
            }
            wb.Worksheets.Add(ws);
            var buffer = new MemoryStream();

            wb.Save(buffer);
            return(buffer.ToArray());
        }