예제 #1
0
        /// <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);
            }
        }
예제 #2
0
        /// <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);
            }
        }