示例#1
0
        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);
        }
示例#2
0
        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);
        }