コード例 #1
0
        public SaveResult <SOWEntryModel> Save(SOWDTO sowDTO, DateTime dateStamp)
        {
            ModelValidationResult validationResult = sowValidator.Validate(sowDTO);
            bool          success = false;
            SOWEntryModel model   = null;

            if (validationResult.IsValid)
            {
                tblT_SOW sow = Insert(sowDTO, dateStamp);
                SaveChanges();
                sowDTO.SOW_PK = sow.SOW_PK;
                AddSowAssign(sowDTO, dateStamp);
                AddSowTrack(sowDTO, dateStamp);
                SaveChanges();

                success = true;
                model   = sowEntryDataProvider.Get(sow.SOW_PK);
            }

            return(new SaveResult <SOWEntryModel>
            {
                Success = success,
                Message = validationResult.IsValid ? "Data successfully created." : "Validation error occured.",
                Model = model,
                ValidationResult = validationResult
            });
        }
コード例 #2
0
 private void HardDelete(tblT_SOW sow)
 {
     if (sow != null)
     {
         Db.tblT_SOW.Remove(sow);
     }
 }
コード例 #3
0
 public void UpdateSOW(SOWDTO SOWDTO, DateTime dateStamp)
 {
     if (SOWDTO == null)
     {
         throw new ArgumentNullException("SOW model is null.");
     }
     tblT_SOW SOW = SOWFactory.CreateFromDbAndUpdateFromDTO(SOWDTO, dateStamp);
 }
コード例 #4
0
 private void SoftDelete(tblT_SOW sow)
 {
     if (sow != null)
     {
         SoftDeleteSOWAssign(sow.SOW_PK);
         SoftDeleteSOWTrack(sow.SOW_PK);
         sow.Status_FK = (int)RecordStatus.Deleted;
     }
 }
コード例 #5
0
        public tblT_SOW Insert(SOWDTO sowDTO, DateTime dateStamp)
        {
            if (sowDTO == null)
            {
                throw new ArgumentNullException("SOW model is null.");
            }
            tblT_SOW sow = sowFactory.CreateFromDTO(sowDTO, dateStamp);

            sowDTO.SOW_PK = sow.SOW_PK;
            return(Db.tblT_SOW.Add(sow));
        }
コード例 #6
0
        public tblT_SOW AddSOW(SOWDTO SOWDTO, DateTime dateStamp)
        {
            if (SOWDTO == null)
            {
                throw new ArgumentNullException("SOW model is null.");
            }
            tblT_SOW SOW = SOWFactory.CreateFromDTO(SOWDTO, dateStamp);

            SOW           = Db.tblT_SOW.Add(SOW);
            SOWDTO.SOW_PK = SOW.SOW_PK;
            return(SOW);
        }
コード例 #7
0
        public void UpdateSOW(SOWDTO sowDTO, DateTime dateStamp)
        {
            if (sowDTO == null)
            {
                throw new ArgumentNullException("SOW model is null.");
            }
            tblT_SOW sow = sowFactory.CreateFromDbAndUpdateFromDTO(sowDTO, dateStamp);

            if (sow.StatusSOW_FK == 3)
            {
                throw new Kairos.KairosException("Cannot update this SOW because already approved.");
            }
        }
コード例 #8
0
        public tblT_SOW CreateFromDTO(SOWDTO sowDTO, DateTime dateStamp)
        {
            if (sowDTO == null)
            {
                throw new ArgumentNullException("SOW model is null.");
            }
            sowDTO.Status_FK   = (int)RecordStatus.Active;
            sowDTO.CreatedBy   = User.Username;
            sowDTO.CreatedDate = dateStamp;
            sowDTO.UpdatedBy   = User.Username;
            sowDTO.UpdatedDate = dateStamp;
            tblT_SOW sow = sowDTO.ToObject <tblT_SOW>();

            return(sow);
        }
コード例 #9
0
        public void UpdateSOW(SOWApprovalDTO sowApprovalDTO, DateTime dateStamp)
        {
            if (sowApprovalDTO == null)
            {
                throw new ArgumentNullException("SOW model is null.");
            }
            tblT_SOW sow = Db.tblT_SOW.Find(sowApprovalDTO.SOW_PK);

            if (sow != null)
            {
                //if (sow.TglSelesai != null)
                //{
                //    throw new Kairos.KairosException("Cannot make an approval because this SOW already has an approval.");
                //}

                sow.TglSelesai   = dateStamp;
                sow.StatusSOW_FK = sowApprovalDTO.StatusSOW_FK;
            }
        }
コード例 #10
0
        public DeleteResult <tblT_SOW> Execute(int sowPK, DeleteMethod deleteMethod)
        {
            tblT_SOW sow = Db.tblT_SOW.Find(sowPK);

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

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

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

            default:
                break;
            }

            Db.SaveChanges();

            return(new DeleteResult <tblT_SOW>()
            {
                Success = true,
                Message = $"SOW with Id '{sowPK}' successfully deleted.",
                Record = sow
            });
        }