Ejemplo n.º 1
0
        public ResponseMessage <bool> DeleteAdditionalService(Assessment assessment, AssessmentAdditionalService additionalService)
        {
            ResponseMessage <bool> responseMessage = null;

            try
            {
                assessment = Find(assessment).Object;

                if (assessment == null)
                {
                    return(ResponseMessage <bool> .Fault("Orçamento não encontrado."));
                }
                else if (assessment.State == EnmAssessmentState.Complete)
                {
                    return(ResponseMessage <bool> .Fault("Orçamento finalizado."));
                }

                AssessmentAdditionalService additionaltRemove = _repository
                                                                .All <AssessmentAdditionalService>(
                    pa => pa.IdAssessment == assessment.IdAssessment &&
                    pa.IdAssessmentAdditionalService == additionalService.IdAssessmentAdditionalService
                    ).FirstOrDefault();

                if (additionaltRemove == null)
                {
                    return(ResponseMessage <bool> .Fault("Serviço não encontrada!"));
                }

                //deletar o serviço
                _repository.Delete <AssessmentAdditionalService>(additionaltRemove);

                //commit
                _repository.SaveChanges();

                //calcular orcamento
                this.Calculate(new Assessment()
                {
                    IdAssessment = assessment.IdAssessment
                });

                responseMessage = ResponseMessage <bool> .Ok(true);
            }
            catch (Exception ex)
            {
                responseMessage = ResponseMessage <bool> .Fault(ex.StackTrace);
            }

            return(responseMessage);
        }
Ejemplo n.º 2
0
        public ResponseMessage <AssessmentAdditionalService> AddAdditionalService(Assessment assessment, AdditionalService additionalService)
        {
            ResponseMessage <AssessmentAdditionalService> responseMessage = null;

            try
            {
                Assessment assessmentDb = Find(assessment).Object;

                if (assessmentDb == null)
                {
                    return(ResponseMessage <AssessmentAdditionalService> .Fault("Orçamento não encontrado."));
                }
                else if (assessmentDb.State == EnmAssessmentState.Complete)
                {
                    return(ResponseMessage <AssessmentAdditionalService> .Fault("Orçamento finalizado."));
                }


                AssessmentAdditionalService assessmentAdditionalService = new AssessmentAdditionalService()
                {
                    IdAssessment = assessmentDb.IdAssessment,
                    Value        = additionalService.Value,
                    Description  = additionalService.Description
                };

                //add addtional service
                assessmentDb.AdditionalServices.Add(assessmentAdditionalService);

                //update assessment
                _repository.Add <AssessmentAdditionalService>(assessmentAdditionalService);

                //commit
                _repository.SaveChanges();

                //calcular orcamento
                this.Calculate(assessmentDb);

                responseMessage = ResponseMessage <AssessmentAdditionalService> .Ok(assessmentAdditionalService);
            }
            catch (Exception ex)
            {
                responseMessage = ResponseMessage <AssessmentAdditionalService> .Fault(ex.StackTrace);
            }

            return(responseMessage);
        }