private bool ValidateBeforeSave(BO.p11ClientProduct rec) { if (rec.p21ID == 0) { _db.CurrentUser.AddMessage("Chybí vyplnit [Licence]."); return(false); } if (rec.p20ID == 0) { _db.CurrentUser.AddMessage("Chybí vyplnit [Měrná jednotka]."); return(false); } if (rec.p20ID_Pro == 0) { _db.CurrentUser.AddMessage("Chybí vyplnit [Výrobní jednotka]."); return(false); } if (rec.p12ID == 0) { _db.CurrentUser.AddMessage("Chybí vyplnit [Receptura]."); return(false); } if (rec.p11RecalcUnit2Kg == 0) { _db.CurrentUser.AddMessage("Přepočet MJ na KG nemůže být NULA."); return(false); } //if (LoadByCode(rec.p11Code, rec.pid) != null) //{ // _db.CurrentUser.AddMessage(string.Format("Zadaný kód nemůže být duplicitní s jiným produktem [{0}].", LoadByCode(rec.p11Code, rec.pid).p11Name)); // return false; //} BO.p12ClientTpv cP12 = _mother.p12ClientTpvBL.Load(rec.p12ID); if (cP12.p21ID != rec.p21ID) { _db.CurrentUser.AddMessage("Licence produktu se liší od licence receptury."); return(false); } if (rec.p10ID_Master > 0) { BO.p10MasterProduct cP10 = _mother.p10MasterProductBL.Load(rec.p10ID_Master); if (cP10.p13ID != cP12.p13ID_Master) { _db.CurrentUser.AddMessage("Receptura vzorového Master produktu se liší od vzoru klientské receptury."); return(false); } } else { BO.p21License cP21 = _mother.p21LicenseBL.Load(rec.p21ID); if (cP21.p21PermissionFlag == BO.p21PermENUM.Standard) { _db.CurrentUser.AddMessage(string.Format("Licence [{1} - {0}] je typu [Standard], kde nelze zakládat produkty s vlastní recepturou.", cP21.p21Name, cP21.p21Code)); return(false); } } return(true); }
public int Save(BO.p11ClientProduct rec) { if (rec.p12ID > 0) { rec.p21ID = _mother.p12ClientTpvBL.Load(rec.p12ID).p21ID; //licenci produktu zjistit z receptury } if (ValidateBeforeSave(rec) == false) { return(0); } var p = new DL.Params4Dapper(); p.AddInt("pid", rec.p11ID); p.AddInt("p12ID", rec.p12ID, true); p.AddInt("p10ID_Master", rec.p10ID_Master, true); p.AddInt("b02ID", rec.b02ID, true); p.AddInt("p20ID", rec.p20ID, true); p.AddInt("p20ID_Pro", rec.p20ID_Pro, true); p.AddInt("p21ID", rec.p21ID, true); p.AddString("p11Name", rec.p11Name); p.AddString("p11Code", rec.p11Code); p.AddString("p11Memo", rec.p11Memo); p.AddDouble("p11UnitPrice", rec.p11UnitPrice); p.AddDouble("p11RecalcUnit2Kg", rec.p11RecalcUnit2Kg); p.AddEnumInt("p11TypeFlag", rec.p11TypeFlag); p.AddString("p11PackagingCode", rec.p11PackagingCode); p.AddDouble("p11Davka", rec.p11Davka); p.AddDouble("p11DavkaMin", rec.p11DavkaMin); p.AddDouble("p11DavkaMax", rec.p11DavkaMax); p.AddDouble("p11SalesPerMonth", rec.p11SalesPerMonth); p.AddDouble("p11UnitsPerPalette", rec.p11UnitsPerPalette); int intPID = _db.SaveRecord("p11ClientProduct", p.getDynamicDapperPars(), rec); return(intPID); }