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"); }
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); }
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)))); }