úterý 29. listopadu 2016

Keboola

Základní postup 
1. Přidat Extraktor na Google Drive
2. Přihlásit se Google účtem
3. Vybrat Google SpretSheet (nezobrazují se Excelovské soubory - musí se konvertovat)
4. V nastavení drive je možnost zaškrtnout že nahrávané soubory se převedou
5. V nastavení extraktoru vybrat spretsheety a jejich listy
6. Nějak hezky pojmenovat načtené tabulky


Chyba po změně počtu sloupců ve Zdrojovém souboru
ExceptionId ex-google-drive-49a5e71ce9f9f11bb453b61c331a2f94
User error: Some columns are missing in csv file. Missing columns: empty. Expected columns: empty,Datum,C_dokladu,Dodavatel,Castka,Mnoz,Zak,Stredisko,Cinnost,Text.' Please check if expected delimiter "," is used in csv file.
Je potřeba smazat vstupní tabulky aby se jejich struktura vytvořila znovu

Tabulka nesmí obsahovat více hlavičkových řádků
Protože potom volné sloupce asi hlásí vícenásobný prázdný sloupec

Pokud nemá sloupec vyplněnou hlavičku tak je automaticky pojmenován empty. Pokud je jich takových více je to problém. Dát si bacha na skryté sloupce nebo sloupce s úzkou šířkou, tak že není skoro vidět - i ty se načtou

Dobrý nápad je napojit se na sandbox externí aplikací například:

DevArt - DbForgeMySqlFree
http://www.devart.com/dbforge/mysql/studio/download.html

čtvrtek 24. listopadu 2016

ChangeScript - Přidání procedury pokud neexistuje

If  exists(SELECT * FROM sys.procedures WHERE name = N'Cpy_Search')
begin
 DROP PROCEDURE [dbo].[Cpy_Search]
end;
BEGIN
 exec('CREATE Procedure Cpy_Search
                 @CompanyId as int,
                 @Term as nvarchar(60)
                AS begin
                 DECLARE @Pattern nvarchar(62)
                 SELECT @Pattern = ''%'' + @Term + ''%'';
                     SELECT
                  Id,
                  Title
                 FROM [Company]
                 WHERE
             AgendaId = @CompanyId
                 AND (
                  Title COLLATE Latin1_general_CI_AI Like @Pattern  COLLATE Latin1_general_CI_AI
                  OR
                  IdentificationNumber LIKE @Pattern
                  OR
                  VatIdentificationNumber LIKE @Pattern
                 )
                END;')
           END;



Zdroj:
http://stackoverflow.com/questions/2072086/how-to-check-if-a-stored-procedure-exists-before-creating-it

středa 9. listopadu 2016

Select Insert Into table


SQL
INSERT INTO dbo.[Company2CompanyTypes] ([CompanyRefId], [CompanyTypesRefId])
SELECT ANU.CompanyId, 2 AS CompanyTypeId FROM AspNetUsers ANU
INNER JOIN Company C ON (ANU.CompanyId = C.Id)
UNION
SELECT ANU.CompanyId, 3 AS CompanyTypeId FROM AspNetUsers ANU
INNER JOIN Company C ON (ANU.CompanyId = C.Id)

Zdroj:
http://www.w3schools.com/sql/sql_insert_into_select.asp

pátek 21. října 2016

Přehlednější struktura MVC projektu


Global asax
void Application_Start()
{
...
// ViewEngines.Engines.Clear();

            ViewEngines.Engines.Add(new CustomRazorViewEngine());
...
}


CustomRazorViewEngine .cs
public class CustomRazorViewEngine : RazorViewEngine
    {
        public CustomRazorViewEngine()
        {
            ViewLocationFormats = new string[]
            {
            "~/{1}/Views/{0}.cshtml",
            };

            PartialViewLocationFormats = new string[]
            {
            "~/Shared/Views/{0}.cshtml"
            };
        }

    }


Zdroj:
http://www.matthewrenze.com/articles/clean-architecture-in-asp-net-mvc-5/

Historie Skypu

Stáhni si aplikaci SQLiteStudio ta umí otevírat databáze SQL Lite.
Pak si už jen připojíš svou databázi s historií Skypu, která leží v:
c:\Users\{WinUser}\AppData\Roaming\Skype\{SkypeLogin}\main.db
Zprávy jsou pak uložené v tabulce Messages

úterý 18. října 2016

Resharper a nefunkční zkratka CTRL+F


Postup:
  1. Přepni klávesnici na ENG
  2. Restartuj klávesové zkratky ve VS na Visual Studio 2005 (Tools>Options>Keyboard)
  3. Aplikuj schema Visual Studio v nastavení Resharperu (Resharper>Options>Keyboard&Menus)
  4. Přepni klávesnici zpět na CES

Zdroj:

čtvrtek 29. září 2016

Registrace vlastního URL protokolu



 C# 
using Microsoft.Win32;

var appPath = "%SystemRoot%\SysWow64\notepad.exe";
var command = Registry.ClassesRoot.CreateSubKey(name);
command.SetValue("", appPath, RegistryValueKind.ExpandString); // výchozí hodnota


Předání parametru
"C:\Program Files (x86)\Skype\Phone\Skype.exe" "/uri:"%l""

Časté chyby:
Pozor na uvozovky v cestě k aplikaci. Obzvlášť pokud předáváte parametr.
Pokud chcete použít relativní cestu jako je %SystemRoot% nebo %windir% musíte ji uložit v hodnotě typu "Rozšiřitelná řetězcová hodnota"

Zdroj:
https://msdn.microsoft.com/cs-cz/library/aa767914(v=vs.85).aspx
https://msdn.microsoft.com/cs-cz/library/windows/desktop/ms724884%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
http://www.petefreitag.com/item/69.cfm