Пример #1
0
 /// <summary>
 /// สำหรับลบ record ออกจาก ef รวมทั้งลบลูกที่เกี่ยวข้อง (ถ้ามี)
 /// </summary>
 /// <param name="reference"></param>
 private void _delete(zz_Reference reference)
 {
     // ถ้ามี ref ตัวลูก ให้ loop ลบ ref ก่อน...
     entities.zz_References.DeleteObject(reference);
     //th20110407 กรณี reference ให้ลบทิ้งเลย ไม่อย่างนั้น จะกรอกรหัสเดิมไม่ได้ ติด Unique Index
     //  reference.IsCancel = true;
 }
Пример #2
0
        private bool _canDeleteData(zz_Reference reference)
        {
            int numChild = (from p in FindAll(reference.RefTypeId)
                            where (p.RefCode == reference.Code)
                            select p.Id).Count();

            return(numChild == 0);
        }
Пример #3
0
 /// <summary>
 /// What to do before save any edit or newly created record
 /// </summary>
 /// <param name="reference"></param>
 private void _doBeforePost(zz_Reference reference)
 {
     if (reference.RefDesc == null)
     {
         reference.RefDesc = "";
     }
     reference.UpdateInfo.LogUpdated(CurrentUserName);
 }
Пример #4
0
        /// <summary>
        /// What to do when create new reference
        /// </summary>
        /// <param name="reference"></param>
        public void DoNewRecord(int refTypeId, string code, zz_Reference reference)
        {
            reference.RefTypeId = refTypeId;
            reference.Code      = _getNewCode(refTypeId, code);
            //สร้าง reference (ถ้ามี)
            reference.RefRefTypeId = GetRefRefTypeId(refTypeId);

            reference.UpdateInfo.LogAdded(CurrentUserName);
        }
Пример #5
0
        /// <summary>
        /// prepare data and save to ef, ใช้ทั้ง update และ insert
        /// </summary>
        /// <param name="reference"></param>
        /// <param name="isCreate">ส่ง true ถ้าต้องการ insert</param>
        public void DoSave(zz_Reference reference, bool isCreate)
        {
            if (isCreate)
            {
                _add(reference);
            }

            _doBeforePost(reference);
            _validate(reference, isCreate);
            _save();
        }
Пример #6
0
 /// <summary>
 /// prepare data and delete from ef
 /// </summary>
 /// <param name="reference"></param>
 public void DoDelete(zz_Reference reference)
 {
     if (_canDeleteData(reference))
     {
         _delete(reference);
         _save();
     }
     else
     {
         throw new ApplicationException("มีใช้งานอยู่ ลบไม่ได้ค่ะ");
     }
 }
Пример #7
0
        /// <summary>
        /// ตรวจสอบว่าข้อมูลที่กรอกเข้ามาถูกต้องหรือไม่
        /// โดยเป็นส่วนของ logic ที่ไม่สามารถระบุใน metadata ไม่ได้ และไม่ได้ระบุเอาไว้ใน constraint ของ database
        /// </summary>
        /// <param name="reference"></param>
        /// <param name="isCreate"></param>
        private void _validate(zz_Reference reference, bool isCreate)
        {
            var errors = new RulesException <zz_Reference>();

            if (reference.RefName == "a")
            {
                errors.ErrorFor(x => x.RefName, "a is not allowed...");
            }

            if (errors.Errors.Any())
            {
                throw errors;
            }
        }
Пример #8
0
 //
 // Insert / Delete Method
 /// <summary>
 /// สำหรับเพิ่ม record ลง ef
 /// </summary>
 /// <param name="reference"></param>
 private void _add(zz_Reference reference)
 {
     entities.zz_References.AddObject(reference);
 }