public void Update(SOWTrackResultDTO sowTrackResultDTO, DateTime dateStamp)
 {
     if (sowTrackResultDTO == null)
     {
         throw new ArgumentNullException("SOWTrackResult model is null.");
     }
     tblT_SOWTrackResult sowTrackResult = sowTrackResultFactory.CreateFromDbAndUpdateFromDTO(sowTrackResultDTO, dateStamp);
 }
        public tblT_SOWTrackResult AddSOWTrackResult(SOWTrackResultDTO sowTrackResultDTO, DateTime dateStamp)
        {
            if (sowTrackResultDTO == null)
            {
                throw new ArgumentNullException("SOWTrackResult model is null.");
            }
            tblT_SOWTrackResult sowTrackResult = sowTrackResultFactory.CreateFromDTO(sowTrackResultDTO, dateStamp);

            return(Db.tblT_SOWTrackResult.Add(sowTrackResult));
        }
        public tblT_SOWTrackResult CreateFromDTO(SOWTrackResultDTO sowTrackResultDTO, DateTime dateStamp)
        {
            if (sowTrackResultDTO == null)
            {
                throw new ArgumentNullException("SOWTrackResult model is null.");
            }
            sowTrackResultDTO.Status_FK   = (int)RecordStatus.Active;
            sowTrackResultDTO.CreatedBy   = User.Username;
            sowTrackResultDTO.CreatedDate = dateStamp;
            sowTrackResultDTO.UpdatedBy   = User.Username;
            sowTrackResultDTO.UpdatedDate = dateStamp;
            tblT_SOWTrackResult sowTrackResult = sowTrackResultDTO.ToObject <tblT_SOWTrackResult>();

            sowTrackResult.CheckIn_FK = sowTrackResultDTO.CheckIn_FK;
            return(sowTrackResult);
        }
        public SaveResult <SOWTrackResultEntryModel> Save(SOWTrackResultDTO sowTrackResultDTO, DateTime dateStamp)
        {
            ModelValidationResult validationResult = sowTrackResultValidator.Validate(sowTrackResultDTO);
            bool success = false;
            SOWTrackResultEntryModel model = null;

            if (validationResult.IsValid)
            {
                success = true;
                Update(sowTrackResultDTO, dateStamp);
                Db.SaveChanges();
                model = sowTrackResultEntryDataProvider.Get(sowTrackResultDTO.SOWTrackResult_PK);
            }

            return(new SaveResult <SOWTrackResultEntryModel>
            {
                Success = success,
                Message = validationResult.IsValid ? "Data successfully updated." : "Validation error occured.",
                Model = model,
                ValidationResult = validationResult
            });
        }
        public tblT_SOWTrackResult CreateFromDbAndUpdateFromDTO(SOWTrackResultDTO sowTrackResultDTO, DateTime dateStamp)
        {
            tblT_SOWTrackResult sowTrackResult;

            if (sowTrackResultDTO == null)
            {
                throw new ArgumentNullException("SOWTrackResult model is null.");
            }
            sowTrackResult = Db.tblT_SOWTrackResult.FirstOrDefault(x => x.CheckIn_FK == sowTrackResultDTO.CheckIn_FK);
            if (sowTrackResult == null)
            {
                throw new KairosException($"Record with key '{sowTrackResultDTO.SOWTrackResult_PK}' is not found.");
            }

            sowTrackResult.UpdateValueFrom(sowTrackResultDTO, "SOWTrackResult_PK", "Status_FK", "SOWTrack_FK");
            sowTrackResultDTO.CreatedBy   = sowTrackResult.CreatedBy;
            sowTrackResultDTO.CreatedDate = sowTrackResult.CreatedDate;
            sowTrackResult.UpdatedBy      = sowTrackResultDTO.UpdatedBy = User.Username;
            sowTrackResult.UpdatedDate    = sowTrackResultDTO.UpdatedDate = dateStamp;

            return(sowTrackResult);
        }
        public SOWTrackResultDTO GetByPrimaryKey(int primaryKey)
        {
            SOWTrackResultDTO record = GetQuery().FirstOrDefault(sowTrackResult => sowTrackResult.SOWTrackResult_PK == primaryKey);

            return(record);
        }