Биты и байты.

Биты и байты.

пятница, 22 мая 2015 г.

Подключение к списку sharepoint из SSRS

Как подключить список Sharepoint к отчету SSRS?
Вариант 1. Создать dataset c подключением к sharepoint


<RSSharePointList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <ListName>График отпусков</ListName>
      <Query>
        <Where>
        </Where>
      </Query>
    </RSSharePointList>


Привязать использую функцию lookup и lookupset

Вариант 2.
Подключить на уровне процедуры через базу sharepoint

ALTER PROCEDURE [dbo].[GetVacationsSharepoint] (@DATEFROM DATETIME = NULL,@DATEEND DATETIME =NULL )

AS
BEGIN

SET NOCOUNT OFF

SET LANGUAGE Russian;

--DECLARE @DATEFROM DATETIME
--DECLARE @DATEEND DATETIME

SET @DATEFROM =  ISNULL(@DATEFROM,DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0) )
SET @DATEEND = ISNULL(@DATEEND,DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, GETDATE()) + 1, 0)))

SET @DATEEND = DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0,@DATEEND) + 1, 0))
SELECT  D.DATA , t.[Login]  , t.[Имя пользователя] COLLATE Cyrillic_General_CI_AS as Username ,  DATENAME(dw,D.DATA) WeekDay, DATEPART(weekday,D.DATA) WeekDayNumber, DATEPART(wk,D.DATA) WeekNumber, DATENAME(month,D.DATA) Monthname ,DATEPART(month,D.DATA) MonthNumber , DATEName(yyyy,D.DATA) YEARNAME ,
DATEPART(dayofyear,D.DATA) DayOfyearNumber,
DATEPART (day, D.DATA) DayOfMnth ,
(CASE WHEN DATEPART(weekday,D.DATA) = 1 THEN 'Пн'
       WHEN DATEPART(weekday,D.DATA) = 2 THEN 'Вт'
       WHEN DATEPART(weekday,D.DATA) = 3 THEN 'Ср'
       WHEN DATEPART(weekday,D.DATA) = 4 THEN 'Чт'
       WHEN DATEPART(weekday,D.DATA) = 5 THEN 'Пт'
       WHEN DATEPART(weekday,D.DATA) = 6 THEN 'Сб'
       WHEN DATEPART(weekday,D.DATA) = 7 THEN 'Вс' ELSE DATENAME(dw,D.DATA) END) WeekDayShort,
(CASE WHEN  D.DATA >=t.DateFrom  AND D.DATA <= t.DateTo     THEN 1 ELSE NULL END) IsVacation,
(CASE WHEN  D.DATA >=t.DateFrom  AND D.DATA <= t.DateTo     THEN t.VacationType ELSE NULL END) VacationType,
(CASE WHEN  D.DATA >=t.DateFrom  AND D.DATA <= t.DateTo     THEN t.id ELSE NULL END) id,
(CASE WHEN  D.DATA >=t.DateFrom  AND D.DATA <= t.DateTo     THEN t.Comment ELSE NULL END) Comment
FROM (SELECT DATA
      FROM dbo.DatesBetween(@DATEFROM, @DATEEND)) D ,
            (
                           SELECT dat.nvarchar3 VacationType, dat.datetime1 DateFrom, dat.[datetime2] DateTo, dat.int1 USERID, u.tp_Login [Login], u.tp_Title [Имя пользователя], dat.tp_ID ID, dat.nvarchar1 Comment
                             FROM [Wss_content_80_portal2010].[dbo].[AllUserData] DAT (NOLOCK)
                           LEFT JOIN    [Wss_content_80_portal2010].[dbo].[UserInfo] u (NOLOCK) ON u.tp_ID = dat.int1
                           WHERE dat.tp_ListId = '055C8B06-6C99-4F4F-BAF2-ED809CA2CD42'
                           --(SELECT TOP 1 LIST.tp_ID FROM [Wss_content_80_portal2010].dbo.alllists LIST(NOLOCK)
                           --WHERE  LOWER(LIST.tp_Title)  = 'график отпусков' AND list.tp_DeleteTransactionId = 0x)
                             AND (dat.[tp_RowOrdinal] = 0)
                             AND (dat.tp_Level = 1)
                             AND (dat.[tp_IsCurrentVersion] = CONVERT(BIT, 1))
                             AND (dat.[tp_CalculatedVersion] = 0)
                             AND (dat.[tp_DeleteTransactionId] = 0x)
                             AND (dat.tp_SiteId = '5929DACB-CEDE-4564-9EDF-80B572A032AE')
                             AND dat.tp_ContentTypeId =  0x0100A3B1A57EC7FEE84593355BC92E45F9D5
             )  T

END

пятница, 8 мая 2015 г.

Краткий справочник по C#

Операторы C#

В переменных типа значения хранятся данные, а в переменных ссылочного типа хранятся ссылки на фактические данные. 
Ссылочные типы также называются объектами. 

Типы значений состоят из двух основных категорий:
Структуры делятся на следующие категории:
Для объявления ссылочных типов используются следующие ключевые слова:
В C# также предусмотрены следующие встроенные ссылочные типы:
Начиная с версии Visual C# 3.0 объявляемые в области метода переменные могут иметь неявный тип var. 
Локальная переменная с неявным типом имеет строгую типизацию, как если бы тип был задан явно, только тип определяет компилятор. 
Следующие два объявления i функционально являются эквивалентами:
var i = 10; // implicitly typed
int i = 10; //explicitly typed
 
do, for, foreach, in, while

Оператор if
bool condition = true;
if (condition)
{
    Console.WriteLine("The variable is set to true.");
}
else
{
    Console.WriteLine("The variable is set to false.");
}

Оператор switch 
int caseSwitch = 1;
switch (caseSwitch)
{
    case 1:
        Console.WriteLine("Case 1");
        break;
    case 2:
        Console.WriteLine("Case 2");
        break;
    default:
        Console.WriteLine("Default case");
        break;
}

Цикл for
for (int i = 1; i <= 5; i++)
{
   Console.WriteLine(i);
}
 
Цикл foreach
int[] fibarray = new int[] { 0, 1, 1, 2, 3, 5, 8, 13 };
foreach (int element in fibarray)
{
    System.Console.WriteLine(element);
}
System.Console.WriteLine();

В следующей таблице представлен список операторов C#, сгруппированных в порядке приоритета. 
Операторы в каждой группе имеют одинаковый приоритет.

Категория оператора
Операторы
Основные
Унарные
Мультипликативные
Аддитивные
Сдвиг
Относительные и тестирующие тип
Равенство
Логическое И
Логическое ИСКЛЮЧАЮЩЕЕ ИЛИ

Логическое ИЛИ
Условное И
Условное ИЛИ
Поддержка значения NULL
Условный оператор
Присвоение и лямбда-выражение


About