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); }
private bool ValidateBeforeSave(BO.p10MasterProduct rec) { 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í měrná jednotka."); return(false); } if (rec.p10RecalcUnit2Kg == 0) { _db.CurrentUser.AddMessage("Přepočet MJ na KG nemůže být NULA."); return(false); } if (LoadByCode(rec.p10Code, rec.pid) != null) { _db.CurrentUser.AddMessage(string.Format("Zadaný kód nemůže být duplicitní s jiným záznamem [{0}].", LoadByCode(rec.p10Code, rec.pid).p10Name)); return(false); } return(true); }
public int Save(BO.p10MasterProduct rec) { if (ValidateBeforeSave(rec) == false) { return(0); } var p = new DL.Params4Dapper(); p.AddInt("pid", rec.p10ID); p.AddInt("p13ID", rec.p13ID, true); if (rec.pid == 0) { rec.b02ID = _mother.b02StatusBL.LoadStartStatusPID("p10", rec.b02ID); //startovací workflow stav } p.AddInt("b02ID", rec.b02ID, true); p.AddInt("p20ID", rec.p20ID, true); p.AddInt("p20ID_Pro", rec.p20ID_Pro, true); p.AddString("p10Name", rec.p10Name); p.AddString("p10Code", rec.p10Code); p.AddString("p10Memo", rec.p10Memo); p.AddDouble("p10RecalcUnit2Kg", rec.p10RecalcUnit2Kg); p.AddEnumInt("p10TypeFlag", rec.p10TypeFlag); p.AddString("p10PackagingCode", rec.p10PackagingCode); p.AddDouble("p10Davka", rec.p10Davka); p.AddDouble("p10DavkaMin", rec.p10DavkaMin); p.AddDouble("p10DavkaMax", rec.p10DavkaMax); p.AddDouble("p10SalesPerMonth", rec.p10SalesPerMonth); p.AddDouble("p10UnitsPerPalette", rec.p10UnitsPerPalette); int intPID = _db.SaveRecord("p10MasterProduct", p.getDynamicDapperPars(), rec); var recP19 = _mother.p19MaterialBL.LoadByMasterP10ID(intPID); if (rec.p10TypeFlag == BO.ProductTypeEnum.Polotovar || rec.p10TypeFlag == BO.ProductTypeEnum.Vyrobek) //zkopírovat polotovar nebo výrobek do surovin p19 { if (recP19 == null) { recP19 = new BO.p19Material(); } recP19.p10ID_Master = intPID; recP19.p19Name = rec.p10Name; recP19.p19Code = rec.p10Code; recP19.p20ID = rec.p20ID; recP19.p19Memo = rec.p10Memo; if (rec.p10TypeFlag == BO.ProductTypeEnum.Polotovar) { recP19.p19TypeFlag = BO.p19TypeFlagEnum.Polotovar; } if (rec.p10TypeFlag == BO.ProductTypeEnum.Vyrobek) { recP19.p19TypeFlag = BO.p19TypeFlagEnum.Vyrobek; } _mother.p19MaterialBL.Save(recP19); } else { if (recP19 != null) { _mother.CBL.DeleteRecord("p19", recP19.pid); } } return(intPID); }