/// <summary> /// Approve an intervention /// </summary> /// <param name="interventionId">The guid of an intervention</param> /// <returns>True if success, false if fail</returns> public bool approveAnIntervention(Guid interventionId) { var intervention = getInterventionById(interventionId); var interventionType = InterventionTypes.fetchInterventionTypesById(intervention.InterventionTypeId.Value); var client = getClientById(intervention.ClientId.Value); var user = getDetail(); //if meets approve criteria,approve it by engineer self and update approve by if (client.DistrictId == user.DistrictId && user.AuthorisedHours >= intervention.Hours && user.AuthorisedCosts >= intervention.Costs && user.AuthorisedCosts >= interventionType.Costs && user.AuthorisedHours >= interventionType.Hours) { if (interventionService.updateInterventionState(interventionId, InterventionState.Approved, user.Id)) { return(Interventions.ApproveIntervention(intervention)); } else { return(false); } //return Interventions.ApproveIntervention(intervention); } else { return(false); } }
/// <summary> /// Update approve by property of an intervention /// </summary> /// <param name="interventionId">The guid of an intervention</param> /// <param name="userId">The guid of an user</param> /// <returns>True if success, false if fail</returns> public bool updateInterventionApproveBy(Guid interventionId, Guid userId) { Intervention intervention = getInterventionById(interventionId); if (intervention.CreatedBy == getDetail().Id) { User user = new User(Users.fetchUserById(userId)); return(Interventions.ApproveIntervention(intervention)); // return interventionService.updateIntervetionApprovedBy(interventionId, user); } else { return(false); } }