private void SoftDelete(tblT_SOWTrackResult sowTrackResult) { if (sowTrackResult != null) { sowTrackResult.Status_FK = (int)RecordStatus.Deleted; } }
private void HardDelete(tblT_SOWTrackResult sowTrackResult) { if (sowTrackResult != null) { Db.tblT_SOWTrackResult.Remove(sowTrackResult); } }
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) { tblT_SOWTrackResult sowTrackResult = AddSOWTrackResult(sowTrackResultDTO, dateStamp); Db.SaveChanges(); success = true; model = sowTrackResultEntryDataProvider.Get(sowTrackResult.SOWTrackResult_PK); } return(new SaveResult <SOWTrackResultEntryModel> { Success = success, Message = validationResult.IsValid ? "Data successfully created." : "Validation error occured.", Model = model, ValidationResult = validationResult }); }
public DeleteResult <tblT_SOWTrackResult> Execute(int sowTrackResultPK, DeleteMethod deleteMethod) { tblT_SOWTrackResult sowTrackResult = Db.tblT_SOWTrackResult.Find(sowTrackResultPK); if (sowTrackResult == null) { return(new DeleteResult <tblT_SOWTrackResult>() { Success = false, Message = $"Id '{sowTrackResultPK}' is not found.", Record = null }); } switch (deleteMethod) { case DeleteMethod.Soft: SoftDelete(sowTrackResult); break; case DeleteMethod.Hard: HardDelete(sowTrackResult); break; default: break; } Db.SaveChanges(); return(new DeleteResult <tblT_SOWTrackResult>() { Success = true, Message = $"SOWTrackResult with Id '{sowTrackResultPK}' successfully deleted.", Record = sowTrackResult }); }
private void AddSOWTrackResultIfUserRoleIsDriver(MobileCheckInDTO checkInDTO, DateTime dateStamp) { var possibleDriverRoleNames = new List <string>() { "Driver", "DT", "Drive Tester (DT)" }; var jabatans = Db.tblM_KategoriJabatan.Where(x => x.Title.Contains("DT") || x.Title.Contains("Drive") || x.KategoriJabatan_PK == 2); var sowAssign = new SOWAssignQuery(Db).GetByPrimaryKey(checkInDTO.SOWAssign_FK); if (sowAssign == null) { throw new NullReferenceException($"Failed to create sow track result while checkin, taskid or assignId '{checkInDTO.SOWAssign_FK}' doesn't exist."); } var user = Db.tblM_User.Find(sowAssign.User_FK); if (user == null) { throw new NullReferenceException($"Failed to create sow track result while checkin, user id '{sowAssign.User_FK}' doesn't exist."); } var roleGroups = new RoleGroupQuery(Db).GetByUserFk(sowAssign.User_FK); var userIsDriver = roleGroups.Where(x => possibleDriverRoleNames.Contains(x.Title)).Count() > 0 || jabatans.Where(x => x.KategoriJabatan_PK == user.KategoriJabatan_FK).Count() > 0; if (userIsDriver) { if (string.IsNullOrEmpty(checkInDTO.TaskNetwork)) { throw new Kairos.KairosException($"Task network is required for driver checkin."); } if (sowAssign != null) { var sowTrack = new SOWTrackQuery(Db).GetBySOWFKAndTechnologyTitle(sowAssign.SOW_FK, checkInDTO.TaskNetwork); if (sowTrack != null) { SOWTrackResultDTO sowTrackResultDTO = new SOWTrackResultDTO() { CheckIn_FK = checkInDTO.CheckIn_PK, SOWTrack_FK = sowTrack.SOWTrack_PK, Status_FK = 1, }; SOWTrackResultFactory sowTrackResultFactory = new SOWTrackResultFactory(Db, User); tblT_SOWTrackResult sowTrackResult = sowTrackResultFactory.CreateFromDTO(sowTrackResultDTO, dateStamp); Db.tblT_SOWTrackResult.Add(sowTrackResult); } else { throw new Kairos.KairosException($"Invalid task network '{checkInDTO.TaskNetwork}', it's not registered in sow register."); } } } }