Contracty - Verträge verwalten war noch nie so einfach!

by Tim Cadenbach13. August 2014 00:07

Hey Ihr,

wir haben ein neues Projekt!

Schaut euch doch mal http://www.contracty.de/ an!

Kurzübersicht

Tags:

Using Razor in Durandal's View´s

by Tim Cadenbach23. January 2014 22:36

Introduction 

The Article is about enabling use of razor and controller transfered viewmodel data for durandal's (or any other) javascript views. Normaly the view´s are simple htmlfiles with no razor functionality.

Background

For a recent project there was a need to localize view´s using c# resource files.
We also wanted to change things on the views related to user groups,display data
not transfered via ajax calls. In the basic version, this is not possible.

Additionally we wanted to have SPA views editable and loaded from a database for
CMS Like behaviour. I´ll write more about that in a second article.

Using the code

First of all i used "John Papas "Hot Towel Starterkit".
Additionally you need to add "AttributeRouting" to your project.
To begin, create a blank MVC4 Website and add theese two packages:

Install-Package HotTowel 
Install-Package AttributeRouting

Run the Website and you should get something similar to this:

The View´s used by the starter kit can be found in /App/Views/*.html 

To enable razor and dynamic, server served content in theese html files we need to perform a couple of steps.

Add a new Controller and setup routing 

Basically, durandal is looking for views in "/App/Views/" so we need to add a route that takes all requests for *.html files for that folder and re-route it to a razor view.
AttributeRouting is the easiest way to perform this.
Add a new , blank controller and keep the automatically added "index" action.
Then add a GET Attribute like this: 

[GET("/App/Views/{viewname}.html")]

Additionally add the parameter "string viewname" to the index action.
The result should be like this: 

  public class DurandalViewController : Controller 
{
[GET("/App/Views/{viewname}.html")]
public ActionResult Index()
{
return View();
}
}

Next, we need to tell the controller where to route the request.
In this example, we want to have all *.html requests routed to ~/Views/durandal/*.cshtml.
Therefor we change the return statement like this:

public class DurandalViewController : Controller
{ // GET: /DurandalView/
[GET("/App/Views/{viewname}.html")]
public ActionResult Index()
{
return View("~/Views/Durandal/" + viewname + ".cshtml", demo);
}
}
And that´s all we need to to on the controller side.

Now we need to setup the views

This part is simple, just add a folder "Durandal" below "Views" and copy all *.html files from /App/Views/ to the newly created folder. Rename the files to .cshtml and you´re done.

 

When you now start the Application, it will result in an error:
this is, because mvc4 does not know what to do with a request on that folder.
With a simple trick, we can have mvc4 apply routing on that folder.
Copy the web.config from below our /Views/ folder to /App/Views.
This will enable asp.net routing for that folder.

 

 

 

 

 

 After that step, run the project and it should result in the same picture as when we first started the application. Not a big change by now.
However, we now have full use of Razor and Model served Content for the views.

Open the Controller again and add anything you like. In our example we simply add a text for demonstration purposes.

    public class DurandalViewController : Controller
{

// GET: /DurandalView/
[GET("/App/Views/{viewname}.html")]
public ActionResult Index(string viewname)
{

string demo = "Here could be your advertisement!";
return View("~/Views/Durandal/" + viewname + ".cshtml",model:demo);
} }

 Additionally we edit the "home" view, "home.cshtml" and add a parameter to output our string:

@Model

 

When you now start the application, it will display our "Demo-String" on the home page:

Points of Interest 

The interesting part on this are the things you are now able to perform.
You can, for example, load view directly from a database to have "CMS-Like" behaviour.
More on this in another guide later.

History

Keep a running update of any changes or improvements you've made here.

Tags:

WildstarDB für all die Psychopathen :)

by Tim Cadenbach8. December 2013 12:28

Hey,

es ist doch mal wieder eine Datenbankseite entstanden......

Aufgrund von NDA bestimmungen gibt es noch nichts zu sehen.

Allerdings ein kleines Memoryspielchen für euch :)

http://www.wildstardb.de/memory/

 

Nichts besonderes aber naja.......

Tags: , ,

SEPA.Net

by Tim Cadenbach14. November 2013 22:03

SEPA.Net ist ein SEPA Parser für SEPA XML Nachrichten basierend auf ISO 2022.
Der Parser soll einmal alle Nachrichten bearbeiten können die das ISO Format vorgibt.

Aktuell werden folgende Nachrichten unterstützt:

  • camt - Cash Management
    • camt.026.001.04 - UnableToApplyv04
    • camt.027.001.04 - ClaimNonReceiptV04
    • camt.031.001.04 - RejectInvestigationV04
    • camt.032.001.03 - CancelCaseAssignmentV03
    • camt.052.001.03 - BankToCustomerAccountReportV03
    • camt.053.001.03 - BankToCustomerStatementV03
    • camt.054.001.03 - BankToCustomerDebitCreditNotificationV03
  • pain - Payments Initiation
    • pain.001.001.05 - CustomerCreditTransferInitiationV05
    • pain.001.001.04 - CustomerCreditTransferInitiationV04
    • pain.001.001.03 - CustomerCreditTransferInitiationV03
    • pain.008.001.03 - CustomerDirectDebitInitiationV03
    • pain.008.001.02 - CustomerDirectDebitInitiationV02

     

Der Parser kann automatisch anhand des Namespaces der XML Datei erkennen um welchen TYP Nachricht es sich handelt,

und anhand dessen automatisch die Datei einlesen. Einlesen einer Sepa Datei benötigt lediglich 2 Zeilen Quellcode.

Mehr dazu auf

https://sepa.codeplex.com/

Wenn Ihr euch beteiligen wollt, einfach melden :)

Tags:

.Net | SEPA

Resharper 8...einfach genial!

by Tim Cadenbach24. August 2013 20:51

Resharper war ja schon immer ein geniales Hilfsmittel aber in Version 8 haben Sie tatsächlich ein Feature eingebaut das...nun..zwar "unwichtig" ist aber nach dem sicherlich jeder Entwickler schon mehrfach gesucht hat...

 Resharper´s intelli sense wurde nun um diverse ToString Methoden ergänzt.
So werden bei DateTime Objekten nun die verfügbaren DateTime Formate angezeigt und z.B. bei Long werten
werden direkt Zahlenformate vorgeschlagen.

 

 

 

Insgesamt wurden in Resharper 8 über 60 Dinge geändert und behoben.

Unter anderem hat der Resharper nun eine Nuget Extension mit der sich direkt Erweiterungen für den Resharper downloaden lassen.



Die Early Access Version von RS8 findet man hier: http://confluence.jetbrains.com/display/ReSharper/ReSharper+8+EAP

Tags:

Routing Probleme mit Areas im MVC und gleichnamigen Controllern

by Tim Cadenbach15. May 2013 10:29

Routing im ASP.Net MVC ist eigentlich ziemlich einfach. Aber wenn die Seite mehrere Bereiche hat steigt das Risiko das man mehr als einen Controller mit dem gleichen Namen hat.
Dabei können merkwürdige Dinge passieren.

In meinem aktuellen Projekt gab es 2 Probleme beim einrichten der Route für die Bereiche.
Ich benötigte einen PageController und einen PostController. Die gab es aber bereits im Admin Bereich.

Wie also kriegt man nun eine Trennung der Bereiche hin, ohne einen Namespace in die Standard Route schreiben zu müssen?

.

Lest den kompletten Eintrag im Guides Bereich

Zur Guide Section

Tags: , ,

Defiancebase , neue Inhalte

by Tim Cadenbach11. April 2013 12:07

Die Defiancebase Fansite wurde um einige Inhalte erweitert.

 

unter:

http://db.defiancebase.com findet Ihr nun eine "Startseite" für alle Tools.

 

Tags:

Xing API Alpha

by Admin24. March 2013 11:52

Hallo,

eine erste Version des Xing .Net SDK könnt Ihr hier finden:

https://netforxing.codeplex.com/

Bisher sind alle Abfragen im Bereich "User Profiles" möglich.

 

Gruß

Tags:

XING veröffentlicht seine API ..bauen wir mal einen.Net Wrapper für

by Admin4. February 2013 00:02

Im Dezember 2012 hat XING seine API veröffentlicht:

http://blog.xing.com/2012/12/die-offene-xing-api-jetzt-live/

Dies nahm ich zum Anlass mit der Arbeit an einem .Net Wrapper in C# anzufangen.
Ich halte auch auf dem laufenden .......

Tags:

Request Validierung in .Net 4

by Tim Cadenbach2. February 2013 00:57

Da wir kürzlich das Problem hatten,

habe ich mal eine klitzekleine Anleitung zu Requestvalidierung in .Net 4 geschrieben.

http://www.tcdev.de/page/Request-Validation-Net-2-vs-4

 

Viel Erfolg damit!

Tags:

About me

Tim Cadenbach
Wilkommen, mein Name ist Tim Cadenbach. Ich bin Softwareentwickler aus Leidenschaft.
Hauptsächlich im .Net Umfeld, MVC und ASP.Net unterwegs beschäftige ich mich dennoch mit allem was zur Webentwicklung dazugehört

.