private static ControllerResponse BuildGenericResponse(string message) { ControllerResponse response = new ControllerResponse(); response.Message = message; return(response); }
public async void testCreateUser() { var client = _factory.CreateClient(); var user = new CreateUserDto { email = _email, password = _password, userName = _userName }; var userResponse = new GetUserDto { email = user.email, userName = user.userName }; var expectedResponse = new ControllerResponse <GetUserDto> { success = true, data = userResponse }; // Act var actualResponse = await client.testSuccessPostAsync <GetUserDto, CreateUserDto>("/api/users", user); // Assert expectedResponse.ShouldDeepEqual(actualResponse); }
private IActionResult MakeMessage(ActionContext context) { var x = new ValidationProblemDetails(context.ModelState); var errorMessageBuilder = new StringBuilder(); errorMessageBuilder.Append("Model Validation error! "); foreach (var error in x.Errors) { errorMessageBuilder.Append(error.Key); errorMessageBuilder.Append(": "); foreach (var errorMessage in error.Value) { errorMessageBuilder.Append(errorMessage); errorMessageBuilder.Append(" "); } } var result = new ControllerResponse() { Successful = false, Message = errorMessageBuilder.ToString() }; return(new BadRequestObjectResult(result)); }
void ExecuteCommand(string from, string subject, string body) { if (!subject.Equals("команда", StringComparison.InvariantCultureIgnoreCase)) { log.Error("Получено письмо, не являющееся командой. Тема письма: " + subject); return; } if (body.Length > 100) { log.Error("Полученная команда слишком длинная, длина " + body.Length); return; } body = body.Trim(); log.Info("Команда: " + body); ControllerResponse response = new ControllerResponse(); glContext.RemoteProcessor.ExecuteRemoteCommand(body, response); log.Info("Готовим отправку результата выполнения команды"); SendMail mailSender = new SendMail(settings); mailSender.SendSimple($"результат выполнения команды '{body}'", response.ResposneBody, response.Attachments); }
public static ControllerResponse CreateBadResponse(string message) { ControllerResponse response = BuildGenericResponse(message); response.Success = false; return(response); }
private ControllerResponseResult ProcessControllerResponse(ControllerResponse response, IDIResolver resolver) { if (response == null) return ControllerResponseResult.Default; _controllerResponseBuilder.BuildControllerResponseProperties(response, resolver); return response.Process(); }
private ControllerResponseResult ProcessControllerResponse(ControllerResponse response, IDIContainerProvider containerProvider) { if (response == null) return ControllerResponseResult.Default; _controllerResponseBuilder.BuildControllerResponseProperties(response, containerProvider); return response.Process(); }
public ControllerResponse AddNewProfession([FromBody] string professionName) { if (string.IsNullOrWhiteSpace(professionName)) { return(ControllerResponse.Warning("")); } _adminServices.AddNewProfession(professionName); return(ControllerResponse.Ok()); }
public ControllerResponse <string> DeleteDoctor([FromBody] DoctorForDeletingDto doctorForDeletingDto) { if (!doctorForDeletingDto.DoctorId.ValidationId() && doctorForDeletingDto.DateOfDismissal == default) { return(ControllerResponse <string> .Warning("Запрос не был правильно сформирован, повторите попытку")); } return(ControllerResponse <string> .Ok(_adminServices.DismissDoctor(doctorForDeletingDto.DoctorId, doctorForDeletingDto.DateOfDismissal).ToString("D"))); }
public ControllerResponse DisapproveDoctor([FromBody] int doctorId) { if (!doctorId.ValidationId()) { return(ControllerResponse.Warning("Запрос не был правильно сформирован, повторите попытку")); } _adminServices.DisapproveDoctor(doctorId); return(ControllerResponse.Ok()); }
public ControllerResponse ChangeDoctorSchedule([FromBody] ScheduleFullDto scheduleToRender) { if (!AdminValidator.ValidateScheduleForUpdating(scheduleToRender)) { return(ControllerResponse.Warning("Данные были не введены или введены не полностью, повторите запрос")); } _adminServices.UpdateSchedule(new ScheduleWithDateTransfer(scheduleToRender)); return(ControllerResponse.Ok()); }
private Task HandleExceptionAsync(HttpContext context, Exception exception) { context.Response.ContentType = "application/json"; var response = exception is WarningException ? ControllerResponse.Warning(exception.Message) : ControllerResponse.Exception(ExceptionMessages.Error); return(context.Response.WriteAsync(JsonConvert.SerializeObject(response))); }
public ControllerResponse <ProfessionDto> GetProfessionByDoctorId(int doctorId) { if (!doctorId.ValidationId()) { return(ControllerResponse <ProfessionDto> .Warning( "Произошел сбой. Проверьте правильность введенных данных и повторите запрос")); } return(ControllerResponse <ProfessionDto> .Ok(new ProfessionDto(_commonServices.GetProfessionByDoctorId(doctorId)))); }
public ControllerResponse <IEnumerable <DoctorDto> > GetAllDoctorsByProfession(int professionId) { if (!professionId.ValidationId()) { return(ControllerResponse <IEnumerable <DoctorDto> > .Warning( "Профессия врача указана некорректно или произошел сбой, повторите запрос")); } return(ControllerResponse <IEnumerable <DoctorDto> > .Ok(_commonServices .GetDoctorsByProfession(professionId).Select(d => new DoctorDto(d)))); }
private ControllerResponseResult ProcessControllerResponse(ControllerResponse response, IDIContainerProvider containerProvider) { if (response == null) { return(ControllerResponseResult.Default); } _controllerResponseBuilder.BuildControllerResponseProperties(response, containerProvider); return(response.Process()); }
public ControllerResponse <IEnumerable <KeyValuePair <TimeSpan, SessionViewModel> > > GetSessionsByDoctorAndDate(int doctorId, DateTime dateTime) { if (!UserValidator.ValidateDoctorAndDateToGetting(doctorId, dateTime)) { return(ControllerResponse <IEnumerable <KeyValuePair <TimeSpan, SessionViewModel> > > .Warning( "Доктор или дата приема не указаны или указаны неверно, повторите запрос")); } return(ControllerResponse <IEnumerable <KeyValuePair <TimeSpan, SessionViewModel> > > .Ok(_commonServices .GetSessionsByDoctorIdAndDate(doctorId, dateTime) .Select(kvp => new KeyValuePair <TimeSpan, SessionViewModel>(kvp.Key, SessionViewModel.ConvertToSessionViewModel(kvp.Value))))); }
public ControllerResponse <IEnumerable <ScheduleFullDto> > GetAllActualSchedules(DateTime dateNow) { return(ControllerResponse <IEnumerable <ScheduleFullDto> > .Ok(_commonServices .GetAllActualSchedules(dateNow).Select(s => new ScheduleFullDto { DoctorId = s.DoctorId, ActualisationDate = s.ActualisationDate, Monday = new WorkDayDto(_commonServices.GetWorkDayById(s.MondayId)), Tuesday = new WorkDayDto(_commonServices.GetWorkDayById(s.TuesdayId)), Wednesday = new WorkDayDto(_commonServices.GetWorkDayById(s.WednesdayId)), Thursday = new WorkDayDto(_commonServices.GetWorkDayById(s.ThursdayId)), Friday = new WorkDayDto(_commonServices.GetWorkDayById(s.FridayId)) }))); }
public ControllerResponse AddOrUpdateSchedule([FromBody] ScheduleDto scheduleToRender) { var doctorId = 0; if (User.Identity.IsAuthenticated) { doctorId = int.Parse(User.Claims.First(c => c.Type == ClaimTypes.NameIdentifier).Value); } if (!scheduleToRender.ValidateScheduleToUpdating()) { return(ControllerResponse.Warning("Данные были не введены или введены не полностью, повторите запрос")); } _doctorServices.UpdateSchedule(new ScheduleWithDateTransfer(scheduleToRender, doctorId)); return(ControllerResponse.Ok()); }
public ControllerResponse AddProfession([FromBody] int professionId) { var doctorId = 0; if (User.Identity.IsAuthenticated) { doctorId = int.Parse(User.Claims.First(c => c.Type == ClaimTypes.NameIdentifier).Value); } if (!professionId.ValidationId()) { return(ControllerResponse.Warning("Данные не были введены, повторите запрос")); } _doctorServices.AddProfession(doctorId, professionId); return(ControllerResponse.Ok()); }
public override void Execute(GlobalContext glContext, ControllerResponse response) { log.Info("Запрошена отправка логов"); if (response == null) { log.Error("Передан неверный параметр в функцию Execute"); return; } var files = Directory.EnumerateFiles(glContext.LogsDirFull); response.Attachments.AddRange(files); response.ResposneBody = $"К письму приложено {response.Attachments.Count} файла(ов) с логами\n"; log.Info(" логи подготовлены к отправке"); }
public ControllerResponse UnreserveSession([FromBody] int sessionId) { var userId = 0; if (User.Identity.IsAuthenticated) { userId = int.Parse(User.Claims.First(c => c.Type == ClaimTypes.NameIdentifier).Value); } if (!UserValidator.ValidateSessionToCancel(sessionId, userId)) { return(ControllerResponse.Warning( "Произошел сбой. Проверьте корректность введенных данных и повторите запрос")); } _userServices.CancelSession(sessionId, userId); return(ControllerResponse.Ok()); }
public async Task <ControllerResponse> LogIn([FromBody] UserToLogInDto userDto) { if (!AuthorisationValidator.ValidateUserToLogIn(userDto)) { return(ControllerResponse.Warning( "Данные не введены полностью. Уточните данные запроса и повторите попытку")); } var user = _authorizationServices.LogIn(userDto.Login, userDto.Password.GetPasswordHash()); var claims = new List <Claim> { new Claim(ClaimsIdentity.DefaultNameClaimType, user.Name), new Claim(ClaimsIdentity.DefaultRoleClaimType, user.Role.ToString()), new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()) }; var id = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme); var principal = new ClaimsPrincipal(id); await HttpContext.SignInAsync(principal); return(ControllerResponse.Ok()); }
public void ExecuteRemoteCommand(string command, ControllerResponse response) { command = command.Trim().ToLowerInvariant(); if (!commands.ContainsKey(command)) { log.Error($"команда {command} не найдена"); StringBuilder sb = new StringBuilder($"команда {command} не найдена, список:"); foreach (var k in commands.Keys) { sb.Append(" "); sb.Append(k); sb.Append(" - "); sb.AppendLine(commands[k].Description); } response.ResposneBody = (sb.ToString()); return; } commands[command].Execute(glContext, response); }
public ControllerResponse <ScheduleFullDto> GetDoctorSchedule(int doctorId) { if (!doctorId.ValidationId()) { return(ControllerResponse <ScheduleFullDto> .Warning( "Произошел сбой. Проверьте правильность введенных данных и повторите запрос")); } var schedule = _commonServices.GetScheduleOnDate(doctorId, DateTime.Today); return(ControllerResponse <ScheduleFullDto> .Ok( new ScheduleFullDto { ActualisationDate = schedule.ActualisationDate, Monday = WorkDayDto.GetWorkDayDto(_commonServices.GetWorkDayById(schedule.MondayId)), Tuesday = WorkDayDto.GetWorkDayDto(_commonServices.GetWorkDayById(schedule.TuesdayId)), Wednesday = WorkDayDto.GetWorkDayDto(_commonServices.GetWorkDayById(schedule.WednesdayId)), Thursday = WorkDayDto.GetWorkDayDto(_commonServices.GetWorkDayById(schedule.ThursdayId)), Friday = WorkDayDto.GetWorkDayDto(_commonServices.GetWorkDayById(schedule.FridayId)), Saturday = WorkDayDto.GetWorkDayDto(_commonServices.GetWorkDayById(schedule.SaturdayId)), Sunday = WorkDayDto.GetWorkDayDto(_commonServices.GetWorkDayById(schedule.SundayId)) })); }
public ControllerResponse <int> ReserveSession([FromBody] SessionForReservingDto sessionDto) { var userId = 0; if (User.Identity.IsAuthenticated) { userId = int.Parse(User.Claims.First(c => c.Type == ClaimTypes.NameIdentifier).Value); } if (!UserValidator.ValidateSessionToReserve(sessionDto, userId)) { return(ControllerResponse <int> .Warning( "Произошел сбой. Проверьте корректность введенных данных и повторите запрос")); } if (!UserValidator.ValidateTimeForReserving(sessionDto)) { return(ControllerResponse <int> .Warning( "Время для записи некорректно, выберете корректную дату для записи")); } return(ControllerResponse <int> .Ok(_userServices.ReserveSession(sessionDto.Date, TimeSpan.Parse(sessionDto.TimeOfBeginSession), sessionDto.DoctorId, userId))); }
public async Task <ControllerResponse> SignInUser([FromBody] UserToSignInDto userDto) { if (!AuthorisationValidator.ValidateUserToSignIn(userDto)) { return(ControllerResponse.Warning( "Введенные данные некорректны, введите все данные и повторите запрос")); } var user = userDto.IsDoctor ? _authorizationServices.SignInDoctor(userDto.Name, userDto.Login, userDto.Password.GetPasswordHash()) : _authorizationServices.SignInUser(userDto.Name, userDto.Login, userDto.Password.GetPasswordHash()); var claims = new List <Claim> { new Claim(ClaimsIdentity.DefaultNameClaimType, user.Name), new Claim(ClaimsIdentity.DefaultRoleClaimType, user.Role.ToString()), new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()) }; var id = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme); var principal = new ClaimsPrincipal(id); await HttpContext.SignInAsync(principal); return(ControllerResponse.Ok()); }
public override void Execute(GlobalContext glContext, ControllerResponse response) { }
/// <summary> /// Builds the controller response properties. /// </summary> /// <param name="controllerResponse">The controller response.</param> /// <param name="resolver">The DI container resolver.</param> public void BuildControllerResponseProperties(ControllerResponse controllerResponse, IDIResolver resolver) { BuildActionModulesAccessorProperties(controllerResponse, resolver); controllerResponse.ResponseWriter = resolver.Resolve <IResponseWriter>(); }
public abstract void Execute(GlobalContext glContext, ControllerResponse response);
/// <summary> /// Builds the controller response properties. /// </summary> /// <param name="controllerResponse">The controller response.</param> /// <param name="containerProvider">The DI container provider.</param> public void BuildControllerResponseProperties(ControllerResponse controllerResponse, IDIContainerProvider containerProvider) { BuildActionModulesAccessorProperties(controllerResponse, containerProvider); controllerResponse.ResponseWriter = containerProvider.Resolve <IResponseWriter>(); }
public ControllerResponse <IEnumerable <ProfessionDto> > GetAllProfessions() { return(ControllerResponse <IEnumerable <ProfessionDto> > .Ok(_commonServices.GetAllProfessions() .Select(p => new ProfessionDto(p)))); }
/// <summary> /// Builds the controller response properties. /// </summary> /// <param name="controllerResponse">The controller response.</param> /// <param name="containerProvider">The DI container provider.</param> public void BuildControllerResponseProperties(ControllerResponse controllerResponse, IDIContainerProvider containerProvider) { BuildActionModulesAccessorProperties(controllerResponse, containerProvider); controllerResponse.ResponseWriter = containerProvider.Resolve<IResponseWriter>(); }