torstai 25. kesäkuuta 2015

ASP.net MVC5 - DefaultValue

Html- sivulla kentälle saa helposti asetettua oletusarvon esim. :

            @Html.RequiredLabelFor(model => model.SUM)
            @Html.EditorFor(model => model.SUM, new { htmlAttributes = new { @Value = 0.00  } })
            @Html.ValidationMessageFor(model => model.SUM, "", new { @class = "text-danger" })

tiistai 23. kesäkuuta 2015

TortoiseHg - .hgignore

Käytän Visual Studio Community 2013 versiota. Versiohallintana on TortoiseHg.

Kävipä eräänä päivänä, että lähdin muuttamaan .hgignore tiedoston nimeä.. muuttaminen takaisin entiseksi ei sitten onnistunutkaan windowsin tiedostojen hallinnan kautta.
Avuksi tuli tämä ohje.


Käyttämilleni ohjelmaversiolle sopiva .hgignore versiohallintaan on:

############################################################
## Visual Studio 2013
############################################################
syntax: glob

## User-specific files

*.suo
*.user
*.sln.docstates

## Build results

[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
build/
bld/
[Bb]in/
[Oo]bj/

## Roslyn cache directories

*.ide/

## MSTest test Results

[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

## NUnit

*.VisualState.xml
TestResult.xml

## Build Results of an ATL Project

[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch
*.pdb
*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

## Chutzpah Test files

_Chutzpah*

## Visual C++ cache files

ipch/
*.aps
*.ncb
*.opensdf
*.sdf
*.cachefile

## Visual Studio profiler

*.psess
*.vsp
*.vspx

## TFS 2012 Local Workspace

$tf/

## Guidance Automation Toolkit

*.gpState

## ReSharper Ignores

_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

## JustCode

.JustCode

## TeamCity Ignores

_TeamCity*

## DotCover Ignores

*.dotCover

## NCrunch Ignores

_NCrunch_*
*.ncrunch*
.*crunch*.local.xml

## MightyMoose
*.mm.*
AutoTest.Net/

## Web workbench (sass)
.sass-cache/

## Installshield output folder

[Ee]xpress/

## DocProject Ignores

DocProject/buildhelp/
DocProject/Help/*.HxT
DocProject/Help/*.HxC
DocProject/Help/*.hhc
DocProject/Help/*.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

## Click-Once Ignores

publish/

## Publish Web Output

*.[Pp]ublish.xml
*.azurePubxml
*.pubxml

## Windows Azure Build Ignores

csx/
*.build.csdef

## Windows Store Ignores

AppPackages/

## RIA/Silverlight projects

Generated_Code/

## SQL Server Ignores

App_Data/*.mdf
App_Data/*.ldf

## Backup & Report Files when converting a solution
## Not required, we have mercurial!

_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

## NuGet
packages/

## Business Intelligence projects

*.rdl.data
*.bim.layout
*.bim_*.settings

## Microsoft Fakes

FakesAssemblies/
*.favdoc

## Miscellaneous Ignores

sql/
*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
*.dbproj.schemaview
*.pfx
*.publishsettings
node_modules/

## Windows Ignores

$RECYCLE.BIN/
Thumbs.db
ehthumbs.db
Desktop.ini

maanantai 22. kesäkuuta 2015

ASP.NET MVC 5 - Conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value

Tässä hyödyllinen linkki päivämäärien käsittelyssä tulevaan virheeseen..

Itse ymmärsin asian lyhyesti sanottuna näin:
SQL server ja .NET käsittelevät DataTime arvoa eri tavoin ja. Jos .NET koodista viedään "tyhjä" päiväys tietokantaan, niin tulee ym. virheilmoitus. Ratkaisu on, että luodaan oletusarvot päivämäärille MVC5.net modelissa:

 public class Offer
    {
        public Offer()
        {
            OfferValid = DateTime.Now;
            ContractStartTime = DateTime.Now;
            ContractEndTime = DateTime.Now;
        }
...
     
        [Display(Name = "OfferValid", ResourceType = typeof(Resources.Resources))]
        public DateTime? OfferValid { get; set; }
[Display(Name = "ContractStartTime", ResourceType = typeof(Resources.Resources))]
        public DateTime? ContractStartTime { get; set; }
        [Display(Name = "ContractEndTime", ResourceType = typeof(Resources.Resources))]
        public DateTime? ContractEndTime { get; set; }