Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: ASP.NET Core MVC 5.x - Nefunguje decimal(n.1) pri ukladani do db

Aktivity
Avatar
Tadeáš Burda
Brigádník
Avatar
Tadeáš Burda :8.12.2020 19:53

V db mam entity ktore ukladaju cenu konkretne

EOrder.cs
                public decimal? FinalPrice { get; set; }

Product.cs
                [Required, Range(0, double.MaxValue)]
                public decimal Price { get; set; }

                [Display(Name = "Old price"), Range(0, double.MaxValue)]
                public decimal? OldPrice { get; set; }

DBcontext.ca
                builder.Entity<Product>().Property(x => x.Price).HasColumnType("decimal(10,1)");
                builder.Entity<Product>().Property(x => x.OldPrice).HasColumnType("decimal(10,1)");

                builder.Entity<EOrder>().Property(x => x.FinalPrice).HasColumnType("decimal(10,1)");

,ale chyba je vtom ze FinalyPrice sa vzdy pri ulozeni do databaze zaokruhly na cele cislo, resp v db je ulozena napr 19,0 ale stejnak je cele...Pri produktoch je cena v pohode...Nechapem kde by mohla byt chyba, ked ten kod by mal byt rovnaky, nesetkal sa nekdo stim nekedy??

Zkusil jsem: Krokoval sem kod a zistil sem ze ked do EOrder.DinalyPrice nahrajem napr 20.8M nekde v kode tak class tu hodnotu drzi ale jakmile pouzijem

public virtual void Update(TEntity entity)
{
        if (dbSet.Contains(entity)) { dbSet.Update(entity); }
        else { dbSet.Add(entity); }
        context.SaveChanges();
}

tak TEntity.FinalyPrice uz je zaokruhlena na 21,0.....To iste BaseRepositoy pouzivam pro ukladani Produktu a ide to...Je mozne ze chyba je v kode a prehledel sem ju ale uz zatim sedim par hodin a nevim si rady

Chci docílit: Proste chcem len ulozit tu hodnotu pro faktury ale stale mi to zaokruhluje a nechapem preco...Mozno to je pronekoho trivialne a uz to riesil tak keby nekdo mohel...dik

 
Odpovědět
8.12.2020 19:53
Avatar
Tadeáš Burda
Brigádník
Avatar
Tadeáš Burda :9.12.2020 16:56

Ok, tak nakonec chyba byla v kode %P Zahrabana v jednej class metode ktera sa spustala pred update order a prepocitavala FinaliPrice pro order... Bylo tam pouzite int takze mi to vzdy zaokruhlilo... Moja chyba, potreboval sem sa nato vispat :-)

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
9.12.2020 16:56
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.