public void CallHistoryExport([DataBind("filter")] CallRecordFilter filter, string format)
 {
     if (format.Match("excel"))
     {
         var result = ExportModel.GetCallsHistory(filter);
         this.RenderFile("История звонков.xls", result);
     }
 }
        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;
        }
        public new void Setup()
        {
            _controller = new CallHistoryController();
            Prepare(_controller);

            _filter = new CallRecordFilter();

            var query = session.CreateSQLQuery(@"
INSERT INTO logs.RecordCalls (`From`, `To`, WriteTime, NameFrom, NameTo, CallType)
VALUES ('123', '321', '2012-07-07', 'from', 'to', 1)");

            query.ExecuteUpdate();
            Flush();
        }
Beispiel #4
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());
        }