private void SoftDelete(tblT_AsetHistori asetHistori)
 {
     if (asetHistori != null)
     {
         asetHistori.Status_FK = (int)RecordStatus.Deleted;
     }
 }
 private void HardDelete(tblT_AsetHistori asetHistori)
 {
     if (asetHistori != null)
     {
         Db.tblT_AsetHistori.Remove(asetHistori);
     }
 }
 public void Update(AsetHistoriDTO asetHistoriDTO, DateTime dateStamp)
 {
     if (asetHistoriDTO == null)
     {
         throw new ArgumentNullException("AsetHistori model is null.");
     }
     tblT_AsetHistori asetHistori = asetHistoriFactory.CreateFromDbAndUpdateFromDTO(asetHistoriDTO, dateStamp);
 }
        public tblT_AsetHistori Insert(AsetHistoriDTO asetHistoriDTO, DateTime dateStamp)
        {
            if (asetHistoriDTO == null)
            {
                throw new ArgumentNullException("AsetHistori model is null.");
            }
            tblT_AsetHistori asetHistori = asetHistoriFactory.CreateFromDTO(asetHistoriDTO, dateStamp);

            return(Db.tblT_AsetHistori.Add(asetHistori));
        }
        public tblT_AsetHistori CreateFromDTO(AsetHistoriDTO asetHistoriDTO, DateTime dateStamp)
        {
            if (asetHistoriDTO == null)
            {
                throw new ArgumentNullException("AsetHistori model is null.");
            }
            asetHistoriDTO.Status_FK   = (int)RecordStatus.Active;
            asetHistoriDTO.CreatedBy   = User.Username;
            asetHistoriDTO.CreatedDate = dateStamp;
            asetHistoriDTO.UpdatedBy   = User.Username;
            asetHistoriDTO.UpdatedDate = dateStamp;
            tblT_AsetHistori asetHistori = asetHistoriDTO.ToObject <tblT_AsetHistori>();

            return(asetHistori);
        }
        public SaveResult <AsetHistoriEntryModel> Save(AsetHistoriDTO asetHistoriDTO, DateTime dateStamp)
        {
            ModelValidationResult validationResult = asetHistoriValidator.Validate(asetHistoriDTO);
            bool success = false;
            AsetHistoriEntryModel model = null;

            if (validationResult.IsValid)
            {
                tblT_AsetHistori asetHistori = Insert(asetHistoriDTO, dateStamp);
                Db.SaveChanges();

                success = true;
                model   = asetHistoriEntryDataProvider.Get(asetHistori.AsetHistori_PK);
            }

            return(new SaveResult <AsetHistoriEntryModel>
            {
                Success = success,
                Message = validationResult.IsValid ? "Data successfully created." : "Validation error occured.",
                Model = model,
                ValidationResult = validationResult
            });
        }
        public DeleteResult <tblT_AsetHistori> Execute(int asetHistoriPK, DeleteMethod deleteMethod)
        {
            tblT_AsetHistori asetHistori = Db.tblT_AsetHistori.Find(asetHistoriPK);

            if (asetHistori == null)
            {
                return(new DeleteResult <tblT_AsetHistori>()
                {
                    Success = false,
                    Message = $"Id '{asetHistoriPK}' is not found.",
                    Record = null
                });
            }

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

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

            default:
                break;
            }

            Db.SaveChanges();

            return(new DeleteResult <tblT_AsetHistori>()
            {
                Success = true,
                Message = $"AsetHistori with Id '{asetHistoriPK}' successfully deleted.",
                Record = asetHistori
            });
        }