예제 #1
0
        public SaveResult <POEntryModel> Save(PODTO pODTO, DateTime dateStamp)
        {
            if (pODTO.Status_FK == 0)
            {
                pODTO.Status_FK = 1;
            }

            ModelValidationResult validationResult = POValidator.Validate(pODTO);
            bool         success = false;
            POEntryModel model   = null;

            if (validationResult.IsValid)
            {
                tblT_PO po = Insert(pODTO, dateStamp);
                Db.SaveChanges();
                pODTO.PO_PK = po.PO_PK;

                success = true;
                model   = POEntryDataProvider.Get(pODTO.PO_PK);
            }

            return(new SaveResult <POEntryModel>
            {
                Success = success,
                Message = validationResult.IsValid ? "Data successfully created." : "Validation error occured.",
                Model = model,
                ValidationResult = validationResult
            });
        }
예제 #2
0
 private void SoftDelete(tblT_PO po)
 {
     if (po != null)
     {
         po.Status_FK = (int)RecordStatus.Deleted;
     }
 }
예제 #3
0
 private void HardDelete(tblT_PO po)
 {
     if (po != null)
     {
         Db.tblT_PO.Remove(po);
     }
 }
예제 #4
0
 public void UpdatePO(PODTO pODTO, DateTime dateStamp)
 {
     if (pODTO == null)
     {
         throw new ArgumentNullException("PO model is null.");
     }
     tblT_PO user = pOFactory.CreateFromDbAndUpdateFromDTO(pODTO, dateStamp);
 }
예제 #5
0
        public tblT_PO Insert(PODTO pODTO, DateTime dateStamp)
        {
            if (pODTO == null)
            {
                throw new ArgumentNullException("User model is null.");
            }
            tblT_PO pO = POFactory.CreateFromDTO(pODTO, dateStamp);

            return(Db.tblT_PO.Add(pO));
        }
        public tblT_PO AddPO(PODTO poDTO, DateTime dateStamp)
        {
            if (poDTO == null)
            {
                throw new ArgumentNullException("PO model is null.");
            }
            tblT_PO po = poFactory.CreateFromDTO(poDTO, dateStamp);

            po = Db.tblT_PO.Add(po);
            Db.SaveChanges();
            poDTO.PO_PK = po.PO_PK;
            return(po);
        }
예제 #7
0
        public tblT_PO CreateFromDTO(PODTO pODTO, DateTime dateStamp)
        {
            if (pODTO == null)
            {
                throw new ArgumentNullException("User model is null.");
            }
            pODTO.Status_FK   = (int)RecordStatus.Active;
            pODTO.CreatedBy   = User.Username;
            pODTO.CreatedDate = dateStamp;
            pODTO.UpdatedBy   = User.Username;
            pODTO.UpdatedDate = dateStamp;
            tblT_PO po = pODTO.ToObject <tblT_PO>();

            return(po);
        }
예제 #8
0
        public DeleteResult <int> Execute(int po_PK, DeleteMethod deleteMethod)
        {
            tblT_PO po = Db.tblT_PO.Find(po_PK);

            if (po == null)
            {
                return(new DeleteResult <int>()
                {
                    Success = false,
                    Message = $"Id '{po_PK}' is not found.",
                    Record = po.PO_PK
                });
            }

            switch (deleteMethod)
            {
            case DeleteMethod.Soft:
                SoftDelete(po);
                break;

            case DeleteMethod.Hard:
                HardDelete(po);
                break;

            default:
                break;
            }
            Db.SaveChanges();


            return(new DeleteResult <int>()
            {
                Success = true,
                Message = $"PO with Id '{po_PK}' successfully deleted.",
                Record = po.PO_PK
            });
        }