Esempio n. 1
0
        public async Task Add(Domain.Survey dto)
        {
            // Interception => IOC (SimpleInjector, AOP, Logging)
            //Log.LogINfo(dto);
            bool isAdmin = ((System.Security.Principal.GenericPrincipal)Thread.CurrentPrincipal).IsInRole("1");

            if (!isAdmin)
            {
                throw new Survey.Domain.Exceptions.InvalidOperaionException();
            }
            context.SurveyRep().Insert(dto);
            await context.Save();

            //Log.LogInfo("Add Successfully executed");
        }
Esempio n. 2
0
        public static Domain.Survey MapObject(this Models.SurveyModel model)
        {
            if (model == null)
            {
                return(null);
            }
            Domain.Survey result = new Domain.Survey();
            result.Id              = model.Id;
            result.Duration        = model.Duration;
            result.CreateDateTime  = model.CreateDateTime;
            result.Status          = model.Status;
            result.Questions       = model.Questions.Select(p => p.MapObject()).ToList();
            result.CreatorUserName = model.CreatorUserName;

            return(result);
        }
        public static SurveyResultDto WithValidOperation(this Domain.Survey surveyDto)
        {
            if (surveyDto == null)
            {
                return(null);
            }
            SurveyResultDto resu = new SurveyResultDto();

            resu.ValidOperations = new List <ValidOperation>();
            resu.Survey          = surveyDto;
            switch (surveyDto.Status)
            {
            case SurveyStatus.New:
                resu.ValidOperations.Add(ValidOperation.Open);

                break;

            case SurveyStatus.Edit:
                resu.ValidOperations.Add(ValidOperation.Open);
                break;

            case SurveyStatus.Open:
                resu.ValidOperations.Add(ValidOperation.Close);
                if (!surveyDto.UserAnswers.Any(p => p.AnswerStatus == (int)SurveyAnswerStatus.Complete || p.AnswerStatus == (int)SurveyAnswerStatus.Initiated))
                {
                    resu.ValidOperations.Add(ValidOperation.Edit);
                }
                break;

            case SurveyStatus.Closed:
                break;

            default:
                break;
            }

            return(resu);
        }
Esempio n. 4
0
 public bool SurveyHasBeenConductedBefore(Domain.Survey dto)
 {
     return(context.UserAnswerRep().Any(p => p.Survey.Id == dto.Id &&
                                        (((SurveyAnswerStatus)p.AnswerStatus == SurveyAnswerStatus.Complete) ||
                                         ((SurveyAnswerStatus)p.AnswerStatus == SurveyAnswerStatus.Initiated))));
 }