Rabu, 13 Desember 2023

Erorr CS1963 - An expression tree may not contain a dynamic operation.


Kali ini saya mendapatkan erorr dengan code CS1963, padahal sebelumnya saya sudah mendefinisikan 'var item in Model' di
@foreach(var item in Model)
{
    ...
}

tetapi tidak bisa di panggil dengan erorr CS1963, 'Lah kok bisa??'

Jawabannya adalah kita harus mendefinisikan terlebih dahulu 'model' nya. Kita bisa defisikan diline paling awal.

@model IEnumerable<TestPhotosharing.Models.Photo>

setelah ditambahkan maka = No issue found

 

Cara menginstall Nugget Pacckage pada MS Visual Studio

Pada Project Visual Studio anda, klik menu bar :

Tools > Nugget Package Manager > Manage Nugget for solution

pada field Browse ketik package yang anda cari.

contoh EntityFrameworkCore.SqlServer


Pilih package yang anda mau. Pada panel sebelah kanan pilih project yang akan menggunakan package.
dibawahnya ada field version. pilih version yang sesuai dengan .Net Framework yang terinstall/terattach dengan versi Visual studio anda.
contoh Visual Studio saya 2022 dengan .Net Framework version 7.0.12
maka saya pilih Entitiframework.sqlserver versi 7.0.0 , kenapa tidak yang sama?.. coba saja.

setelah berhasil terinstall tambahkan Pakcage itu kedalam project dengan cara.

Tools > Nugget Package Manager > Package Manager Console :

Install-Package [nama package] -version [versi]

setelah selesai.

coba cek pada Solution Explore>Dependecies>Packages


.Net Framework pada Komputer anda

Jadi ceritanya saya mendapatkan file latihan ASP.Net MVC dari instruktur saya. Tapi ternyata pada saat dirunning filenya erorr dengan menyebutkan saya harus mengupdate .Net Framework pada komputer saya. Padahal .Net Framework dikomputer saya sudah Update ke version 7, 
Tapi kok masih minta update, Lah kok bisa?

Jadi dikomputer saya ada 3 versi Visual Studio dan masing-masing visual studio membawa .Net Framework masing-masing. Visual studio yang terakhir saya install dikomputer saya adalah versi 2022 sehingga dikomputer saya terinstall versi .Net Framework versi 6 dan 7.

Pada saat kita membuka project .sln langsung dikomputer kita Visual studio tidak menampilkan .Net Framework mana yang akan anda pakai, Defaultnya akan memakai .Net Framework yang sebelumnya.
Sedangkan environment visual studio yang anda pakai untuk membuka file .sln adalah Visual studio 2022 yang terhubung dengan .Net Framework 7. maka terjadilah ke ambiguan dan menampilkan erorr message menyarankan anda untuk mengupdate .Net Framework.

Saat ini saya belum berhasil mengeliminasi .Net Framework versi sebelumnya dan hanya meninggalkan .Net Framework versi terbaru. Bahkan dengan .Net Uninstall Tool yang saya dapat.
Informasi yang saya dapat kenapa tidak berhasil karena .Net Framework-.Net Framework yang terintsall  dikomputer saya masih berkaitan dengan Visual Studio dengan versi2 yang sbeelumnya yang sudah terinstall dikomputer saya.

cara menampilkan informasi .Net Framework
pada command promft ketik
dotnet --info

maka komputer akan memperlihatkan informasi .Net yang terinstall.

Selasa, 31 Oktober 2023

Update IsBlockedformanualEntry di Mainaccount

DimensionAttributeValue dimAttrValue;
    DimensionAttribute      mainAccountDimAttribute;
    MainAccount             mainaccount;

    // If creating from template, then the DimensionAttributeValue datasource hasn't
    // been initialized yet. Return value from the template instead
    /*
    if (!templateAppliedCompletely && mainAccountTemplate)
    {
        return mainAccountTemplate.IsBlockedForManualEntry;
    }*/
    
    select mainAccountDimAttribute
    where mainAccountDimAttribute.Name == "MainAccount";
    info(strFmt("%1", mainAccountDimAttribute.RecId));
    
    select * from mainaccount
    where mainaccount.MainAccountId == "1601001";
    //&& mainaccount.dataAreaId == "psm";
    
    Select forupdate dimAttrValue
    where dimAttrValue.DimensionAttribute == mainAccountDimAttribute.RecId 
    && dimAttrValue.EntityInstance ==mainaccount.RecId; 
    ttsBegin;
        dimAttrValue.IsBlockedForManualEntry = NoYes::No;
        dimAttrValue.update();
    ttsCommit;
    
    info("done");

Senin, 02 Oktober 2023

Refresh datasource

Ini hal sepele tapi sering terlupakan oleh kebanyakan Programmer.
Memberikan konfirmasi kepada user/pengguna berkaitan dengan action/trigger yang diberikan user.

Konfirmasi ini menjadi bagian komunikasi antara system dengan user sehingga menjadi salahsatu esensial apakah aplikasi yang dibangun userfriendly atau ribet.

Put this code in your clicked() method 

if(Box::okCancel("[isi dengan informasi yang menyatakan keputusan user yang akan diambil contoh : "apakah anda akan menggenerate journal pembayaran?"]", DialogButton::Cancel) == DialogButton::Ok)
    { 

                super();

                datasource_ds.refresh();
                datasource_ds.reread();
                datasource_ds.research(true);
                //tiga mtheod datasource ini akan merefres dan mereturn hasil/output dari sebuah proses.

     }

Senin, 21 Agustus 2023

Relasi antara MainAccount, DimensionAttribute dan DimensionAttibuteValue

Jika kita akan mengakses DimensionAttributeValue melalui MainAccountId bisa menggunakan relasi berikut :

Select RecId from MainAccount
Where MainAccount.MainAccountId == "1603008";

MainAccount.RecId = 5637144716

Kebetulan saya sudah bisa mendefisnikan nomor RecId yang tersimpan di DimensionAttibute, karena main account 1603008 merupakan "Main Account"

DimensionAttribute.RecId = 5637144583

Maka SQL statement untuk DimensionAttibuteValue :

Select DimensionAttributeValue 
where DimensionAttributeValue.DimensionAttribute = DimensionAttribute.RecId
&& DimensionAttributeValue.EntityInstance = MainAccount.RecId

Erorr CS1963 - An expression tree may not contain a dynamic operation.

Kali ini saya mendapatkan erorr dengan code CS1963, padahal sebelumnya saya sudah mendefinisikan 'var item in Model' di @foreach(var...